Package-level declarations
The engine surface in five parts: Game, the entry composable running the loop; the entity tier (PolygonEntity, a polygon-node subclass whose copy obligation every entity class discharges to carry its facts through the shape-preserving operations; GroupEntity, its group-node analog with typed children and a typed copy obligation); the world frame (World with its scene draw-order tree projection, the root the engine draws, and the per-step update hook) every game's state builds on, with FollowInputX as the stateful pointer-or-keys follow helper; the per-step context and snapshots (Step carrying the step's duration and its Input/Pointer/Keys sample, established as the context of every update, and restart, the step-gated call ending a step and the world it runs in through its Restart signal); and the load boundary (AssetScope) building every world — the first and each replacement — from SVG assets and programmatic shapes.
Types
The load entry: SVG assets load through it, arriving as ready scene-graph values.
Horizontal motion commanded by the player: the pointer's x is followed absolutely, and the key pair slides while the pointer rests.
The base of a game entity whose body is a polygon: a PolygonNode subclass, so the entity is its node — geometry, style, and tags — plus whatever facts the game class adds.
Functions
Runs a game: world builds the first World, then every display frame the loop advances it step by step through World.update and draws World.root on screen.