Skip to content

Commit b2f6bef

Browse files
committed
refactor: clean up
1 parent dd982d6 commit b2f6bef

9 files changed

Lines changed: 37 additions & 97 deletions

File tree

src/Aztecs/ECS.hs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,29 +21,12 @@ module Aztecs.ECS
2121
)
2222
where
2323

24-
import Aztecs.ECS.Access.Internal
25-
import qualified Aztecs.ECS.Access.Internal as A
2624
import Aztecs.ECS.Class
2725
import Aztecs.ECS.Commands
28-
import Aztecs.ECS.Executor
29-
import Aztecs.ECS.HSet (HSetT (..), Lookup (..))
30-
import qualified Aztecs.ECS.HSet as HS
3126
import Aztecs.ECS.Query
3227
import Aztecs.ECS.Queryable
33-
import Aztecs.ECS.Queryable.Internal
3428
import Aztecs.ECS.Schedule
3529
import Aztecs.ECS.Scheduler
36-
import qualified Aztecs.ECS.Scheduler as Scheduler
3730
import Aztecs.ECS.System
38-
import Aztecs.Entities
39-
import qualified Aztecs.Entities as E
4031
import Aztecs.World (ComponentStorage)
41-
import qualified Aztecs.World as W
42-
import Control.Monad.Identity
4332
import Control.Monad.Primitive
44-
import Control.Monad.State.Strict
45-
import Data.Maybe
46-
import qualified Data.Set as Set
47-
import qualified Data.SparseSet.Strict.Mutable as MS
48-
import Data.Word
49-
import Prelude hiding (Read, lookup)

src/Aztecs/ECS/Access/Internal.hs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,9 @@
1414
module Aztecs.ECS.Access.Internal where
1515

1616
import Aztecs.ECS.Class
17-
import Aztecs.ECS.HSet
1817
import Aztecs.ECS.Query
1918
import Aztecs.ECS.Queryable
2019
import Aztecs.ECS.Queryable.Internal
21-
import Aztecs.World
22-
import Control.Monad.Identity (IdentityT)
23-
import Control.Monad.Primitive
2420
import Data.Kind
2521
import GHC.Generics
2622

src/Aztecs/ECS/Query.hs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
1-
{-# LANGUAGE ConstraintKinds #-}
2-
{-# LANGUAGE DataKinds #-}
31
{-# LANGUAGE DeriveFoldable #-}
42
{-# LANGUAGE DeriveFunctor #-}
5-
{-# LANGUAGE FlexibleContexts #-}
6-
{-# LANGUAGE FlexibleInstances #-}
7-
{-# LANGUAGE MultiParamTypeClasses #-}
8-
{-# LANGUAGE PolyKinds #-}
9-
{-# LANGUAGE RankNTypes #-}
10-
{-# LANGUAGE ScopedTypeVariables #-}
11-
{-# LANGUAGE TypeFamilies #-}
12-
{-# LANGUAGE UndecidableInstances #-}
133

144
module Aztecs.ECS.Query where
155

src/Aztecs/ECS/Queryable/Internal.hs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@ import qualified Aztecs.ECS.HSet as HS
1717
import Aztecs.ECS.Query
1818
import Data.Kind
1919
import Data.Maybe
20-
import qualified Data.Set as Set
21-
import Data.SparseSet.Strict.Mutable
22-
import qualified Data.SparseSet.Strict.Mutable as MS
23-
import Data.Word
2420
import GHC.Generics
2521
import Prelude hiding (Read)
2622

src/Aztecs/ECS/Scheduler.hs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
{-# LANGUAGE FlexibleContexts #-}
2+
{-# LANGUAGE RankNTypes #-}
3+
{-# LANGUAGE ScopedTypeVariables #-}
4+
{-# LANGUAGE TypeApplications #-}
5+
{-# LANGUAGE TypeOperators #-}
6+
17
module Aztecs.ECS.Scheduler (Scheduler (..), runSchedule) where
28

9+
import Aztecs.ECS.Executor
10+
import Aztecs.ECS.HSet
11+
import Aztecs.ECS.Schedule.Internal
312
import Aztecs.ECS.Scheduler.Internal
13+
import Data.Foldable
14+
15+
executeSchedule ::
16+
forall m cs s.
17+
( Scheduler m s,
18+
Execute m (SchedulerOutput m s),
19+
s ~ HSet (SchedulerInput m s)
20+
) =>
21+
s ->
22+
ExecutorT m ()
23+
executeSchedule s = execute (buildSchedule @m @s s)
24+
25+
runSchedule ::
26+
forall m cs s.
27+
( Applicative m,
28+
Execute m (SchedulerOutput m s),
29+
s ~ HSet (SchedulerInput m s),
30+
AllSystems m (SchedulerInput m s),
31+
ScheduleLevelsBuilder
32+
m
33+
(TopologicalSort (BuildSystemGraph (SchedulerInput m s)))
34+
(SchedulerInput m s)
35+
) =>
36+
s ->
37+
m ()
38+
runSchedule s = runSystems (executeSchedule @m @cs @s s) $
39+
\actions -> sequenceA_ actions

src/Aztecs/ECS/Scheduler/Internal.hs

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,9 @@ import Aztecs.ECS.Access.Internal
1818
import Aztecs.ECS.Class
1919
import Aztecs.ECS.Executor
2020
import Aztecs.ECS.HSet
21-
import Aztecs.ECS.Queryable.Internal
2221
import Aztecs.ECS.Schedule.Internal
23-
import Aztecs.ECS.System
2422
import Control.Monad.Identity
25-
import Control.Monad.Primitive
26-
import Control.Monad.State
27-
import Data.Foldable
2823
import Data.Kind
29-
import Data.Proxy
3024

3125
class Scheduler m s where
3226
type SchedulerInput m s :: [Type]
@@ -263,33 +257,6 @@ instance
263257
let (target, remaining) = extractFromHSet @targetSys @rest rest
264258
in (target, HCons other remaining)
265259

266-
executeSchedule ::
267-
forall m cs s.
268-
( Scheduler m s,
269-
Execute m (SchedulerOutput m s),
270-
s ~ HSet (SchedulerInput m s)
271-
) =>
272-
s ->
273-
ExecutorT m ()
274-
executeSchedule s = execute (buildSchedule @m @s s)
275-
276-
runSchedule ::
277-
forall m cs s.
278-
( Applicative m,
279-
Execute m (SchedulerOutput m s),
280-
s ~ HSet (SchedulerInput m s),
281-
AllSystems m (SchedulerInput m s),
282-
ScheduleLevelsBuilder
283-
m
284-
(TopologicalSort (BuildSystemGraph (SchedulerInput m s)))
285-
(SchedulerInput m s)
286-
) =>
287-
s ->
288-
m ()
289-
runSchedule s = do
290-
runSystems (executeSchedule @m @cs @s s) $ \actions ->
291-
sequenceA_ actions
292-
293260
instance (Applicative m) => Execute m (HSetT HSet '[]) where
294261
execute HEmpty = pure ()
295262

src/Aztecs/Internal.hs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,18 @@
1313

1414
module Aztecs.Internal (AztecsT (..), runAztecsT_) where
1515

16-
import Aztecs.ECS.Access.Internal
17-
import qualified Aztecs.ECS.Access.Internal as A
1816
import Aztecs.ECS.Bundle
1917
import Aztecs.ECS.Class
2018
import Aztecs.ECS.Commands
21-
import Aztecs.ECS.Executor
2219
import Aztecs.ECS.HSet (AdjustM, HSetT (..), Lookup (..))
2320
import qualified Aztecs.ECS.HSet as HS
2421
import Aztecs.ECS.Query
2522
import Aztecs.ECS.Queryable
26-
import Aztecs.ECS.Queryable.Internal
27-
import Aztecs.ECS.Schedule
28-
import Aztecs.ECS.Scheduler
2923
import qualified Aztecs.ECS.Scheduler as Scheduler
30-
import Aztecs.ECS.System
3124
import Aztecs.Entities
3225
import qualified Aztecs.Entities as E
3326
import Aztecs.World (ComponentStorage)
3427
import qualified Aztecs.World as W
35-
import Control.Monad.Identity
3628
import Control.Monad.Primitive
3729
import Control.Monad.State.Strict
3830
import qualified Data.IntMap.Strict as IntMap
@@ -42,7 +34,6 @@ import qualified Data.Set as Set
4234
import qualified Data.SparseSet.Strict as S
4335
import qualified Data.SparseSet.Strict.Mutable as MS
4436
import Data.Typeable
45-
import Data.Word
4637
import Prelude hiding (Read, lookup)
4738

4839
newtype AztecsT cs m a = AztecsT {unAztecsT :: StateT (W.World m cs) m a}

src/Aztecs/W.hs

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,15 @@ module Aztecs.W
1919
)
2020
where
2121

22-
import Aztecs.ECS.Access.Internal
23-
import qualified Aztecs.ECS.Access.Internal as A
24-
import Aztecs.ECS.Class
25-
import Aztecs.ECS.Executor
26-
import Aztecs.ECS.HSet (HSetT (..), Lookup (..))
27-
import qualified Aztecs.ECS.HSet as HS
22+
import Aztecs.ECS.HSet (Lookup (..))
2823
import Aztecs.ECS.Query
2924
import Aztecs.ECS.Queryable
3025
import Aztecs.ECS.Queryable.Internal
31-
import Aztecs.ECS.Schedule
32-
import Aztecs.ECS.Scheduler
33-
import qualified Aztecs.ECS.Scheduler as Scheduler
34-
import Aztecs.ECS.System
35-
import Aztecs.Entities
36-
import qualified Aztecs.Entities as E
3726
import Aztecs.Internal
3827
import Aztecs.World (ComponentStorage)
3928
import qualified Aztecs.World as W
40-
import Control.Monad.Identity
4129
import Control.Monad.Primitive
4230
import Control.Monad.State.Strict
43-
import Data.Maybe
44-
import qualified Data.Set as Set
4531
import qualified Data.SparseSet.Strict.Mutable as MS
4632
import Data.Word
4733
import Prelude hiding (Read, lookup)

src/Aztecs/World.hs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
{-# LANGUAGE AllowAmbiguousTypes #-}
2-
{-# LANGUAGE ConstraintKinds #-}
3-
{-# LANGUAGE DataKinds #-}
42
{-# LANGUAGE FlexibleContexts #-}
5-
{-# LANGUAGE FlexibleInstances #-}
63
{-# LANGUAGE PolyKinds #-}
74
{-# LANGUAGE ScopedTypeVariables #-}
85
{-# LANGUAGE TypeApplications #-}
9-
{-# LANGUAGE TypeFamilies #-}
10-
{-# LANGUAGE UndecidableInstances #-}
116

127
module Aztecs.World
138
( World (..),

0 commit comments

Comments
 (0)