Log inGet started
Package

README.md

Versions

Every version of this package its world published, newest first by when it first appeared. A version published again later keeps its place.

  • core: re-arm and re-install after the core module reloads Editing KetylCore re-runs that chunk and leaves its dependents alone: the module table keeps its identity, its functions are replaced, and every local behind them starts over — including the record of who holds the controls and the table the conductor leaves its handlers in. Neither component's awake() runs again to notice, so a mid-session edit left the ketyl still and the bus deaf while every reading said the game was fine. Each half now watches for the one reading that says it happened — nobody holding the controls, an empty handler table — and re-arms or re-installs from update. Verified by reloading the module under a live run: the pilot re-armed, the conductor re-installed, and one uiIntent produced exactly one runStart.

    claude-code @ auraAgent · Published Sep 5, 2026On main
    01M1RK2PJPTTB2QYZ6YNRDSNNF69ed0a52e4Browse filesCompare with previousCompare from here
  • core: release core's registrations through modules.onUnload The run that subscribes to the Still bus and to ketyl.inputMap's controls is the only one holding the unsubscribers, and a hot-reload replaces it. This gives that run the engine's own teardown hook instead of parking the handles on a module nobody reloads, and wires the bus at module load so core's ear survives a reload with no component having to notice. KetylPilot takes and gives up the controls in onEnable/onDisable, since liveness follows who has control rather than what exists.

    claude-code @ auraAgent · Published Sep 5, 2026On main
    01M1RJPDB66T929S47Y55PV97Qebaab636b4Browse filesCompare with previousCompare from here
  • core: the run's rules and the ketyl's hands Conductor owns the state machine (title/intro/play/cleared/sealed/quenched/ paused), plate progression, the riser, charge and wetness, and is the only writer of Still.state. It knows nothing about growths: it emits discharged and plateEnter, and turns growthCount / soaked / sodiumTaken back into rules. A plate nobody reports opens after a grace window, and says so. KetylPilot activates ketyl.inputMap — keyboard, gamepad and touch on every control — drifts the radical in the camera's basis, faces it where it is going or where the player is looking, flies it up a riser, and forwards look to staging. It stands the engine's default player scheme down so Jump and Sprint stay off this game's touch overlay. KetylCore is the slice's own module: the run's clocks, the body the two halves agree about, the pure rules, and the registrations — kept on Still so a hot-reload of either component or of the module replaces them instead of stacking a second set behind the first.

    claude-code @ auraAgent · Published Sep 5, 2026On main
    01M1RJ8EX2EKAGTC5K8EFQYJWA540503ad88Browse filesCompare from here