Skip to content

New World (ECS)#16

Merged
Stiivi merged 14 commits intomainfrom
feature/ecs-world
Jan 18, 2026
Merged

New World (ECS)#16
Stiivi merged 14 commits intomainfrom
feature/ecs-world

Conversation

@Stiivi
Copy link
Copy Markdown
Contributor

@Stiivi Stiivi commented Jan 18, 2026

Changed from Augmented Frame to more flexible World with Entity-Component-System architecture.

... not to confuse with Entities from ECS
- Removed over-engineered identity typed types
- renamed IdentityType to DesignEntityType
- Removed EntityTypeProtocol
- renamed EntityID to DesignEntityID
- Reflect changes through the code
- Renamed EdgeObject to DesignObjectEdge
- Removed EdgeRule.match
- Introduced `World` which replaces the AugmentedFrame
- The World represents and manages operational focus/runtime state.
- Moved world-related objects into a new World directory
- Added entity query
- added system schedule label
- Changed System.update(frame:) to update(world:)
- Changed ExpressionParserSystem to use World
- Use World instead of Augmented frame in SystemGroup
- Removed debugUpdate(...)
- Added singleton component to World
- Added World.hasSingleton
- Added World.removeSingleton
- Made more methods public
- Added singleton tests
- Added suffix "*Schedule": FrameChangeSchedule, InteractivePreviewSchedule
- Added SimulationSchedule
- renamed SystemGroup to Schedule
- Included schedule label in the Schedule
- renamed World.setSystems(...) to addSchedule
- replaced makeshift OrderedSet with one from the Collections package
@Stiivi Stiivi merged commit c9bc3c7 into main Jan 18, 2026
0 of 2 checks passed
This was referenced Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant