pcbjam/web/standalone
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gergő Törcsvári f29ceb4964
feat(standalone): sexprDiff structural comparator + vitest (0003/0004 §B)
Add the shared, uuid-keyed structural s-expr comparator (README §B) used by both
the live drift check (0003) and the round-trip tests (0004), plus a vitest setup.

- wasm/collab/sexpr-diff.ts: zero-dependency module (importable from standalone
  app code and the Playwright specs). Tokenizes s-expr text into nested lists,
  indexes item nodes by their direct (uuid "X") child, compares item sets order-
  insensitively as multisets of normalized children, emitting
  { equal, added, removed, changed } with per-property a/b. ignoreTokens drops
  volatile tokens. False-positive-free only for same-serializer inputs.
- wasm/collab/sexpr-diff.test.ts: 15 cases (parse, equality, changes, ignoreTokens).
- vitest config + test scripts (node env, isolated from the app build).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 14:05:39 +02:00
..
scripts refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
src feat(standalone): sexprDiff structural comparator + vitest (0003/0004 §B) 2026-06-12 14:05:39 +02:00
.env.example refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
index.html refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
package.json feat(standalone): sexprDiff structural comparator + vitest (0003/0004 §B) 2026-06-12 14:05:39 +02:00
postcss.config.js refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
tailwind.config.js refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
tsconfig.json refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
vite.config.ts refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
vitest.config.ts feat(standalone): sexprDiff structural comparator + vitest (0003/0004 §B) 2026-06-12 14:05:39 +02:00