feat(core): #77 ship canonical Position/Body/Collider from ludic.core package
The engine-owned esys_move (#65) reads Position/Body/Collider/Solids by name, but no package defined them — every game and example re-declared identical bundles by hand. Ship them as the source package ludic.core; games import instead of copy-pasting, and extend by composition (attach their own components on the same model). AOT → compiles into the consumer's ECS with no seam; integer + Q16.16 deterministic. Adds examples/library/core_components (driven by esys_move, composed with a game Health component) as a controller_case (104/0). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
7f55554ae2
commit
5af5bdd060
6 changed files with 119 additions and 0 deletions
|
|
@ -240,6 +240,7 @@ function cmd_test() -> int {
|
|||
feat_case("library/physics", "", "184 1 1 284 1 1 50 51 104 1 134 1 120 0 1 1 1 0 1 1 1", "physics.ludic (Body + Collider + esys_move: gravity/land, wall stop, sub-pixel, entity platform, one-way, triggers — entity broadphase; issue #65)")
|
||||
feat_case("library/physics_tiles", "", "112 1 80 1 48 1 60", "physics_tiles.ludic (esys_move tile-grid broadphase: tile floor/wall + one-way tile land-from-above / rise-through; issue #65)")
|
||||
# builtin gameplay controllers, consumed as in-repo packages (issues #57-#61)
|
||||
controller_case("library/core_components", "", "110 30 184 1", "core_components.ludic (ludic.core #77: canonical Position/Body/Collider imported from a package, driving esys_move, composed with a game Health component)")
|
||||
controller_case("library/gameplay_foundation", "", "2 0 1 5 24 0 2 1 15 85 7 1 1", "gameplay_foundation.ludic (ludic.gameplay #57: Cooldown timer + Stats/modifier stack + Faction table + Combat cancel/mutable pipeline)")
|
||||
controller_case("games/platformer_demo", "", "1 1 1 1 1 1 1 1", "platformer_demo.ludic (ludic.platformer #58: gravity/land, jump apex, coyote, veto-gated double jump, wall collision + disable-system lever)")
|
||||
controller_case("games/platformer_scaffolding", "", "1 1 1 1 1 1", "platformer_scaffolding.ludic (ludic.platformer #58 layers 4-5: moving-platform rider carry, pickup->score, spring, hazard+Life i-frames)")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue