GDD v1 (flow-locked hybrid movement, 5 biomes + secret, boss roster), TECH contracts (world API, level schema v0, bus events, manifest law), ART_BIBLE (synthetic scanner look), PIPELINE (MODELBEAST-first, fal gated), PROCESS (PROCITY lane/round law), charters A-F + ROUND1 instructions. Seed code: shell + boot + core (rng/bus/flags) + stub world (peristalsis shader tube, 1 draw / 102k tris, contract-complete) + qa.sh (GREEN). Verified in-browser; evidence docs/shots/laneF/round0_stub_tube.png. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
18 lines
480 B
JavaScript
18 lines
480 B
JavaScript
// core/bus.js (Lane F) — event bus. Event names are a contract: TECH.md §Bus.
|
|
|
|
export function createBus() {
|
|
const map = new Map();
|
|
return {
|
|
on(name, fn) {
|
|
if (!map.has(name)) map.set(name, new Set());
|
|
map.get(name).add(fn);
|
|
return () => map.get(name)?.delete(fn);
|
|
},
|
|
off(name, fn) { map.get(name)?.delete(fn); },
|
|
emit(name, payload) {
|
|
const set = map.get(name);
|
|
if (set) for (const fn of [...set]) fn(payload);
|
|
},
|
|
};
|
|
}
|