What problem does it solve? Working on the classic-wgl Rust engine requires knowing its exact ECS conventions: how hecs entities are spawned and queried, how the component registry round-trips state.json, how Disabled visibility propagates through UI hierarchies, and how the 2D camera matrix is composed. This Skill consolidates those patterns so changes to components, visibility, or camera behavior follow the engine's established rules instead of introducing borrow-order bugs or matrix-order errors. ## Core Features & Use Cases - hecs usage patterns: Spawn, query, insert, and remove components with the borrow-order rule (extract data, drop the Ref, then mutate the world). - Component registry and serialization: Register components with spawners, dumpers, subsumes de-duplication, and dump ordering for state.json round-trips. - Visibility and shared state: set_enabled with collider sync, is_disabled parent-chain walks, and Rc<Cell>/Rc<RefCell> state sharing between click handlers and on_update closures. - Camera math: fix() formula, T(-fix) * S(scale) matrix order, proportional zoom, WASD panning, and orthographic projection setup. - Use Case: When adding a new serializable component to the engine, follow the registry section to write its spawner and dumper, set its subsumes list, and place its dump order so state.json output stays consistent. ## Quick Start Ask the assistant to explain how to add a new serializable component to the classic-wgl registry or to review ECS code for borrow-order and visibility-sync mistakes.