Skip to content

feat: add FableLoom visual canon conditioning - #5400

Merged
atomantic merged 1 commit into
mainfrom
claim/issue-5379
Aug 29, 2026
Merged

feat: add FableLoom visual canon conditioning#5400
atomantic merged 1 commit into
mainfrom
claim/issue-5379

Conversation

@atomantic

@atomantic atomantic commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

Adds per-scene Universe canon conditioning to FableLoom.

  • structured per-scene canon bindings for characters, wardrobes, locations, objects, temporal sources, and storyboard approval
  • image and video requests compile against explicit backend capability manifests, deterministic input budgets, compatible local character adapters, and path-free durable provenance, so a render is reproducible from the record alone
  • canon-locked output is blocked when required conditioning cannot be preserved; draft/degraded rendering stays available and records what was omitted
  • bumps SCHEMA_VERSIONS.fableLoom to 2 and retains the new node fields when an older v1 peer wins whole-record LWW, so a pre-upgrade peer cannot strip them

Rebased onto main as a single commit. The merge conflicts against the hosted-session (#5383) and playback-asset (#5382) work were additive unions — both feature sets are present in the merged records.js, index.js, and README, and NODE_PATCH_FIELDS carries visualCanon alongside videoHistoryId / playbackAssets / interactionWindow.

Test plan

  • server suite: 35714 passed / 19 skipped across 1747 files
  • client: 127 targeted tests pass (FableLoom components, hosted-join, story page) including all 43 a11yConventions rules
  • biome lint --error-on-warnings src clean
  • regenerated apiRouteCatalog.generated.json and socketEventCatalog.generated.json, whose stale line numbers were the sole cause of the earlier Server / Windows-server failures

Closes #5379

…-budgeted render requests (#5379)

Scene nodes gain structured `visualCanon` bindings for characters, wardrobes,
locations, objects, temporal sources, and storyboard approval. Image and video
requests compile against explicit per-backend capability manifests with
deterministic input budgets, compatible local character adapters, and path-free
durable provenance, so a render can be reproduced from the record alone.

Canon-locked output is blocked when required conditioning cannot be preserved;
draft/degraded rendering stays available and records what was omitted. Bumps
`SCHEMA_VERSIONS.fableLoom` to 2 and retains the new node fields when an older
v1 peer wins whole-record LWW, so a pre-upgrade peer cannot strip them.

Closes #5379
@atomantic
atomantic merged commit 8c7a6f2 into main Aug 29, 2026
7 checks passed
@atomantic
atomantic deleted the claim/issue-5379 branch August 29, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add FableLoom visual canon bindings and capability-aware conditioning

1 participant