Skip to content

equipment_generate publishes a runtime asset URL - #770

Open
gidich wants to merge 1 commit into
mainfrom
wt/bothy-tsk_7871d5ba79f7997d
Open

equipment_generate publishes a runtime asset URL#770
gidich wants to merge 1 commit into
mainfrom
wt/bothy-tsk_7871d5ba79f7997d

Conversation

@gidich

@gidich gidich commented Sep 4, 2026

Copy link
Copy Markdown
Member

equipment_generate records a tracked runtime asset URL; asset-registry resolves that bake URL for declared equipment.

Proofs on this tree:

  • factory-stations test: 3 passed
  • asset-registry test: 6 passed

Write-roots only. Do not raise the typecheck freeze. Main push is blocked by ratchet 274>225 independent of this slice.

…reeze

equipment_generate/run.ts: after mesh_exported bake, station writes a per-subject
freeze JSON (openclinxr.equipment-runtime-freeze.v1) under
OPENCLINXR_EQUIPMENT_FREEZE_DIR (default tools/openclinxr/asset-pipeline/trellis/
equipment-freezes) recording glbSha256 + runtimeAssetUrl
(/xr-assets/medical-equipment/<subject>.glb); plan/run results include
runtimeAssetUrl + subjectId + freezeRecordPath (null when unfrozen, fail closed).

asset-registry equipment-runtime-asset.ts: resolveDeclaredEquipmentRuntimeAsset
returns the freeze-recorded bake URL or a typed miss (no_freeze_record /
malformed_freeze_record); GLB presence is never consulted, so a gitignored-only
GLB without a freeze JSON fails closed. Node-only module; kept off the "." entry.

Two tests (RED then flipped): station publishes URL; resolver returns distinct
URLs per declared subject (wall-clock vs bedside-monitor), miss on unknown,
fail-closed on GLB-without-freeze, no throw-as-success.
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.

1 participant