No description
Find a file
Joey Yakimowich-Payne 2739cc2689
fix(chess): fire preset lifecycle hooks on game.presets sync
PredictionManager.applyPresets was calling activePresets.replaceAll
directly, bypassing preset onActivate / onDeactivate hooks on the
client engine. piece-hp installs Hp facts from onActivate, so in
multiplayer the client knew the preset was active but had no Hp
facts to render \u2014 the overlay silently drew nothing.

Routed through setActivePresets. Both server and client now run
the same idempotent onActivate, arriving at the same state without
serializing Hp facts over the wire. applyFullState (snapshot path)
still uses bare replaceAll because facts in the snapshot already
include any preset-installed attributes.
2026-04-17 15:57:53 -06:00
.github/workflows chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
.sisyphus Add sisyphus 2026-04-17 15:22:04 -06:00
docs chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
packages fix(chess): fire preset lifecycle hooks on game.presets sync 2026-04-17 15:57:53 -06:00
scripts feat(rete): add replay engine + state-hash determinism verifier (P3.3) 2026-04-16 15:25:13 -06:00
.gitignore chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
eslint.config.js feat(rete): add append-only event log with monotonic sequence (P3.1) 2026-04-16 15:24:11 -06:00
lefthook.yml chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
LICENSE chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
package.json feat(rete): add replay engine + state-hash determinism verifier (P3.3) 2026-04-16 15:25:13 -06:00
playwright.config.ts fix(rete): inject clock into EventLog; use tsc for DTS; fix cycle.test.ts private access; add Playwright worker limit 2026-04-16 18:25:49 -06:00
README.md chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
tsconfig.base.json chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
tsconfig.json chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00
vitest.workspace.ts chore(root): scaffold monorepo — Phase 0 complete 2026-04-16 13:32:21 -06:00

@paratype

A Doorenbos-style Rete II rules engine for TypeScript games, with an authoritative WebSocket chess demo.

Packages

Docs

Getting Started

bun install && bun run check