- Renames
reporter.Callback
toreporter.RowCallback
(#66)
- Adds option
Final
toreporter.RowCallback
to report data once on finalize instead of on ticks (#65) - Adds
reporter.TableCallback
for direct retrieval of table observer output in Go code (#66)
- Improved float formatting in CSV output (#64)
- Adds
reporter.Callback
for direct retrieval of row observer output in Go code (#61)
- Fix typo in error message when adding UI system as normal system (#60)
- Fix reporters did not work with unspecified
UpdateInterval
(#61)
- Upgrade to Arche v0.12.0 (#60)
- The model can be stepped manually, instead of relying on
Model.Run()
(#52, #53).
- Upgrade to Arche v0.10.0 (#51)
- Upgrade to Go 1.21 and Arche 0.9.0 (#48)
- Fixes
Systems
spinning at 100% CPU load despite low TPS and FPS (#47, see mlange-42/arche#304)
- Upgrade to Arche 0.8 (#44, #46)
- Resource
model.Systems
has methods to get the list of systems, for inspection (#45)
- Increased time precision on Windows for more consistent TPS and FPS (#42)
- Methods
observer.Grid.X
andobserver.Grid.Y
take anint
argument and return one value instead of all (#38)
- Observer constructor
RowToTable
as adapter fromRow
toTable
observer (#37) - Observer constructor
MatrixToGrid
as adapter fromMatrix
toGrid
observer (#38) - Observer interfaces
MatrixLayers
andGridLayers
for multi-layered matrices and grids (#39) - Observer constructors
MatrixToLayers
,GridToLayers
andLayersToLayers
as adapters (#39) - System
PerfTimer
prints total step and average time per tick on finalization (#37)
- Adds a resource
SelectedEntity
for communication between UI systems, e.g. for entity inspection or manipulation by the user (#34)
- Extends documentation on resources (#34)
- Adds a list of features and a usage example to the README (#35)
- Upgrade to Arche v0.7.0 (#36)
- Brings test coverage to 95%, adds test coverage badge (#30)
- More precise TPS when simulation does not reach target TPS (#31)
- Get rid of hot loop for waiting small amounts of time (#32)
- Upgrade to Arche v0.6.3 (#33)
- Promote to v0.1.0 to reflect increased API stability (#33)
- Renamed
Systems.Fps
andSystems.Tps
toSystems.FPS
andSystems.TPS
(#26)
- Simulations can be paused through the
Systems
resource (#25)
- Unset/zero
Model.FPS
sets to 30 FPS, as a default more useful than synced with TPS (#27)
- Precise (average) FPS and TPS timing by using semi-cumulative time (#24)
- All observers moved to separate
observer
package (#20) - Renamed
Observer
toobserver.Row
andMatrixObserver
toobserver.Table
(#20) - Add new
observer.Matrix
andobserver.Grid
for matrices and grids (#20) - Observer methods like
Header
don't take a*ecs.World
argument (#20)
Model.Seed()
returns the receiver's pointer to allow for method chaining (#22)
- Extend documentation on
Model
,Systems
and observers (#18) - Adds full implementation examples for all observer interfaces (#21)
- All resources moved to package
resource
(#16) - Resource
Time
is now split intoTick
andTermination
(#16)
- Adds a system
CallbackTermination
to end the simulation based on a callback (#13)
- Fix check when removing a system that is not in
Systems
(#15)
- Improves examples with inline comments (#9)
- Adds a CHANGELOG.md file (#9)
- Adds examples for implementing
System
andUISystem
(#10)
- Systems are removed immediately when
Systems.RemoveSystem
is called outside of a loop over systems (#15) - Included systems do no longer depend on resource
Tick
(formerlyTime
) (#16) - Upgrade to dependency to Arche v0.6.1 (#16)