Skip to content

Version Packages - #55

Merged
SandroMaglione merged 1 commit into
mainfrom
changeset-release/main
Oct 19, 2026
Merged

SandroMaglione merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@typeonce/ritmo-devtools@0.10.0

Minor Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.

Patch Changes

  • Updated dependencies [7002f4d]
  • Updated dependencies [388a696]
    • @typeonce/ritmo@0.10.0

@typeonce/oxlint-plugin-ritmo@0.10.0

Minor Changes

  • 388a696: The Ritmo skill routes each change to a playbook, and simulation code names no renderer type.

    • Breaking: ritmo/keep-simulation-headless reports type-only renderer imports (import type { Container } from "pixi.js", export type ... from "three") and subpath imports of @typeonce/ritmo-render and @typeonce/ritmo-pixi. A schema that names a renderer type ties the simulation to that renderer. Move the renderer service (a Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()(...)) and the systems that use it into render code; services are not registered in the schema, so nothing else changes:

      -// src/game/schema.ts
      -import type { Sprite } from "pixi.js"
      -export const Sprites = Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()("Game/Sprites")
      +// src/render/sprites.ts
      +import type { Sprite } from "pixi.js"
      +export const Sprites = Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()("Game/Sprites")
    • The skill in skills/ritmo now has playbooks: one per kind of change (a mechanic, content, UI and rendering, a bug fix, a refactor, state and upgrades), each a short list of steps that ends with the check that proves it. SKILL.md routes to them and keeps the principles. A game that already links the skill folder gets them on upgrade.

Patch Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.

@typeonce/ritmo-browser@0.10.0

Patch Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.
  • Updated dependencies [7002f4d]

  • Updated dependencies [388a696]

    • @typeonce/ritmo@0.10.0

@typeonce/ritmo@0.10.0

Patch Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.
  • 388a696: The Ritmo skill routes each change to a playbook, and simulation code names no renderer type.

    • Breaking: ritmo/keep-simulation-headless reports type-only renderer imports (import type { Container } from "pixi.js", export type ... from "three") and subpath imports of @typeonce/ritmo-render and @typeonce/ritmo-pixi. A schema that names a renderer type ties the simulation to that renderer. Move the renderer service (a Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()(...)) and the systems that use it into render code; services are not registered in the schema, so nothing else changes:

      -// src/game/schema.ts
      -import type { Sprite } from "pixi.js"
      -export const Sprites = Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()("Game/Sprites")
      +// src/render/sprites.ts
      +import type { Sprite } from "pixi.js"
      +export const Sprites = Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()("Game/Sprites")
    • The skill in skills/ritmo now has playbooks: one per kind of change (a mechanic, content, UI and rendering, a bug fix, a refactor, state and upgrades), each a short list of steps that ends with the check that proves it. SKILL.md routes to them and keeps the principles. A game that already links the skill folder gets them on upgrade.

@typeonce/ritmo-math@0.10.0

Patch Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.
  • 388a696: The Ritmo skill routes each change to a playbook, and simulation code names no renderer type.

    • Breaking: ritmo/keep-simulation-headless reports type-only renderer imports (import type { Container } from "pixi.js", export type ... from "three") and subpath imports of @typeonce/ritmo-render and @typeonce/ritmo-pixi. A schema that names a renderer type ties the simulation to that renderer. Move the renderer service (a Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()(...)) and the systems that use it into render code; services are not registered in the schema, so nothing else changes:

      -// src/game/schema.ts
      -import type { Sprite } from "pixi.js"
      -export const Sprites = Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()("Game/Sprites")
      +// src/render/sprites.ts
      +import type { Sprite } from "pixi.js"
      +export const Sprites = Descriptor.Service<NodeRegistry.NodeRegistry<Sprite>>()("Game/Sprites")
    • The skill in skills/ritmo now has playbooks: one per kind of change (a mechanic, content, UI and rendering, a bug fix, a refactor, state and upgrades), each a short list of steps that ends with the check that proves it. SKILL.md routes to them and keeps the principles. A game that already links the skill folder gets them on upgrade.

  • Updated dependencies [7002f4d]

  • Updated dependencies [388a696]

    • @typeonce/ritmo@0.10.0

@typeonce/ritmo-pixi@0.10.0

Patch Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.
  • Updated dependencies [7002f4d]

    • @typeonce/ritmo-render@0.10.0

@typeonce/ritmo-render@0.10.0

Patch Changes

  • 7002f4d: Everything a game's agent needs now ships with the packages, and ritmo-devtools lint reports simulation modules the lint rules miss.

    • Breaking: ritmo-devtools lint fails on an uncovered simulation module. Every module the entry loads that the ritmo/keep-simulation-headless override in .oxlintrc.json does not cover is reported as uncovered-simulation-module, and the command exits 1. Add the module (or its folder) to the simulation override's "files", or stop importing values from it. Modules loaded only inside lintTarget are not checked. Requires Node 22.15 or newer (engines.node is now >=22.15).
    • An agent skill ships with @typeonce/ritmo in skills/ritmo/SKILL.md, for every change: where the docs are, and principles for where a game's code and state belong. Link it into the folder the game's agent reads skills from, for example ln -s ../../node_modules/@typeonce/ritmo/skills/ritmo .agents/skills/ritmo. SETUP.md in @typeonce/ritmo is the one-time setup: the base packages and checks every game uses, the add-ons, and linking the skill.
    • Every package ships its CHANGELOG.md. The upgrade notes for 0.8.0 and 0.9.0 are in the @typeonce/ritmo changelog.
    • JSDoc corrections. Examples no longer provide randomness or time as services (use the Random resource and Clock), the Command module example declares its commands, inspector docs state that added/changed reads report records since the inspector's previous evaluation, and every example uses prefixed names ("Game/Position"). Guidance that lived only in the repository's guides (spawn order, ReadonlyValue helpers, re-entering a state, thisTick and plugin systems, service effects and rollback) is now in the JSDoc.
    • Package READMEs link other packages' READMEs by GitHub URL, so the links work on npm.
  • Updated dependencies [7002f4d]

  • Updated dependencies [388a696]

    • @typeonce/ritmo@0.10.0

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 9f5c3fb to bc613a8 Compare October 19, 2026 04:04
@SandroMaglione
SandroMaglione merged commit cd32b43 into main Oct 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant