docs: mark stale bgm engine/loader docs as in progress

Call out that the tabletop and engine package split is not yet landed, add a status note to tabletop.md, and drop the retired WIP banner in bgm-loader.md.
This commit is contained in:
2026-08-16 13:04:14 +08:00
parent addfc03ab6
commit 71ae91960f
3 changed files with 20 additions and 12 deletions
+9 -6
View File
@@ -19,12 +19,15 @@ is node-testable in isolation (mirroring `@tts/extract`'s isomorphic, zero-dep
style). It defines the contract — `Message`, the handler registry, `Trigger`, style). It defines the contract — `Message`, the handler registry, `Trigger`,
`Orchestrator`, and `RunContext`. `Orchestrator`, and `RunContext`.
[`@tts/tabletop`](./tabletop.md) is one consumer of that contract: it [`@tts/tabletop`](./tabletop.md) is the intended consumer of that contract:
registers the built-in commands (`move`, `focus`, `caption`, `enableSurface`, it will register the built-in commands (`move`, `focus`, `caption`,
...) that mutate the tabletop store and drive the render layer. The engine `enableSurface`, ...) that mutate the tabletop store and drive the render layer.
never imports tabletop; tabletop depends on the engine for the message types The engine never imports tabletop, and tabletop is expected to depend on the
and the handler registry. A headless sim or bot harness can consume the engine engine for the message types and the handler registry. **This wiring is designed
without the render layer. but not yet landed** — today `@tts/tabletop` has no dependency on the engine;
it ships its state store and render layer standalone (see
[`../status/bgm-tabletop.md`](../status/bgm-tabletop.md)). A headless sim or bot
harness can consume the engine without the render layer.
## 1. messages ## 1. messages
+6 -1
View File
@@ -1,6 +1,11 @@
# bgm-tabletop # bgm-tabletop
a r3f based interactive component library to work with [bgm](./format.md) board games. will be used somewhere in the `web` app's bgm inspector routes. > **Status:** Implemented (items 18 of the plan). A few features below are
> designed but not yet wired (commands, HUD rendering); see §5 and
> [`../status/bgm-tabletop.md`](../status/bgm-tabletop.md).
An r3f-based interactive component library for working with [bgm](./format.md)
board games. It is used in the `web` app's bgm inspector routes.
## 1. stack ## 1. stack
+4 -4
View File
@@ -1,7 +1,7 @@
# bgm Loader — Status # bgm Loader — Status
> WIP. What's built, what works, what's missing, and the known issues. > Status: current. What's built, what works, what's missing, and the known
> Spec: [`../bgm/format.md`](../bgm/format.md). > issues. Spec: [`../bgm/format.md`](../bgm/format.md).
## What's built ## What's built
@@ -20,9 +20,9 @@
Deps: `marked`, `typed-csv`, `yaml`, `smol-toml`, `picomatch`, `zod`, `vite`, `@types/picomatch`. Deps: `marked`, `typed-csv`, `yaml`, `smol-toml`, `picomatch`, `zod`, `vite`, `@types/picomatch`.
### `games/harbor/harbor.md` — example game (new) ### Example game: harbor (fixture)
Exercises the format end-to-end: package decl, two `file=parts/tokens.yaml` blocks, a table surface with `mount`/`children` and `candidates: $variants` against a virtual csv block, a child player surface, and a setup declaring its enabled `surfaces`. Same content duplicated as the vitest fixture under `packages/bgm/src/__fixtures__/harbor/`. Exercises the format end-to-end: package decl, two `file=parts/tokens.yaml` blocks, a table surface with `mount`/`children` and `candidates: $variants` against a virtual csv block, a child player surface, and a setup declaring its enabled `surfaces`. Lives as the vitest fixture under `packages/bgm/src/__fixtures__/harbor/` (and a copy under `packages/tabletop/src/__fixtures__/vite-build/games/harbor/`).
### `games/poker/poker.md` — example game (new) ### `games/poker/poker.md` — example game (new)