Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- **Host compatibility matrix (`docs/compatibility.md`).** A maintained table of the host APIs current plugins depend on — `dlc_paths._resolve_dlc_path`, `sloppak.read_member_bytes`, the `chart-transform` capability, the `/ws/sync/{session_id}` relay, `renderFrameAt`/`renderFrame`/`setExternalFrameDriver`, `playerContexts`/`player-difficulty.v1`, and phrase-tier `getPhrases().top_difficulty` — each row pinned to an exact commit, the plugins and features that need it, whether the need is required or optional, and whether the commit is upstream or fork-only. Written because the version string cannot express any of it: `VERSION` has read `0.3.0-alpha.2` since 2026-08-10 across 83 commits, so a version comparison cannot separate a build that has `renderFrameAt` from one that does not. Documentation only — no plugin loading, capability, or `minHost` behaviour changes. Every row is source-audited, not runtime-certified; the document says so, and records the host and plugin revisions it was verified against (#131).
- **Keys Highway 3D: per-panel hand filter.** The plugin declares a `handFilter` setting (Both / LH / RH) in `capabilities.visualization.settings`, and each renderer instance implements `applySetting` / `getSetting`. Split Screen can now show a different hand in each panel (feedBack-plugin-splitscreen#66). An instance with no override follows the global Settings value as before. Re-saving the *same* global hand value no longer rebuilds the notes or resets the current score mid-song.
- **Player identity capability for concurrent local play.** The Host now owns stable session/player contexts, profile readiness, redacted diagnostics, lifecycle events, private highway bindings, and player-scoped difficulty routing for Split Screen, karaoke, Note Detection, and Difficulty Ladder integrations.
- **Coordinated deterministic frame rendering for Split Screen visualizations.** Highway instances can now opt into a host-owned frame driver, allowing every panel in a split layout to receive the same `requestAnimationFrame` timestamp and frame ID. Custom visualization renderers receive those values in their render bundle, so frame-dependent effects and pause/throttle decisions no longer vary with the browser's per-panel callback order. Existing single-player and plugin highways retain their self-scheduled rendering loop.
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,10 @@ The contracts are documented in [CLAUDE.md](CLAUDE.md), with deeper guides in
[docs/](docs/) — see [plugin-v3-ui.md](docs/plugin-v3-ui.md),
[plugin-styles.md](docs/plugin-styles.md),
[plugin-modules.md](docs/plugin-modules.md),
[plugin-panes.md](docs/plugin-panes.md), and
[capability-recipes.md](docs/capability-recipes.md).
[plugin-panes.md](docs/plugin-panes.md),
[capability-recipes.md](docs/capability-recipes.md), and
[compatibility.md](docs/compatibility.md) (which host commit each plugin
feature needs, pinned by hash rather than version string).

---

Expand Down
Loading
Loading