feat(ifc): finalize sample regressions and release readiness - #276
Merged
Conversation
… integration Refs #266. Preserve existing SES appearance, never claim cryptographic verification, and gate the next release on actual installed DOCX behavior.
Refs #267. Includes pinned official IFC4/4.3 browser gates, selection, properties, extension cleanup, cold-installed CLI and self-hosted Worker/WASM assets. Ordinary model and Office entries are unchanged.
Refs #267. Reproduce failure with crypto.randomUUID absent, then verify official IFC4/4.3 models, actual picking, properties and complete Worker cleanup.
8 tasks
This was referenced Sep 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete the sample-backed maintenance work after #272 and #273 and add an explicitly optional, browser-local IFC viewer. This PR does not publish packages, create tags, or close the related issues.
not-verified; preview does not claim cryptographic verification.@file-viewer/renderer-3d/ifcwith local IFC4/IFC4.3 rendering, navigation, picking/highlighting, basic properties/GlobalId, a post-load extension hook and deterministic cleanup.Related issue
Refs #266, #267, #268 and flyfish-dev/docxjs#10. The latter is merged. The advanced import/Fragments configuration proposal in #275 will be integrated separately on this qualified foundation; the duplicate draft runtime will not be merged wholesale.
Change classification
Verification
Exact reviewed head:
78f8e5a8fbe9bd16e48e63c11492f15e8a99ec28.pnpm install --frozen-lockfile— Passed.pnpm verify:github-governance— Passed.pnpm build— Passed.pnpm type-check— Passed.pnpm test— Passed.pnpm docs:build— Passed.pnpm --filter @file-viewer/renderer-3d verify:ifc— Passed.pnpm --filter @file-viewer/renderer-3d verify:ifc-browser /tmp/ifc-samples— Passed in the dedicated qualification; official IFC4 and IFC4.3 rendering, picking and teardown also passed in the full PR CI.Full exact-head Public CI: https://github.com/flyfish-dev/file-viewer/actions/runs/34625940086 — success.
Exact-head Security: https://github.com/flyfish-dev/file-viewer/actions/runs/34625940222 — success.
Original signature/sample qualification: https://github.com/flyfish-dev/file-viewer/actions/runs/34619156884 — success.
Packed merged DOCX upstream through the real File Viewer Word consumer: https://github.com/flyfish-dev/docxjs/actions/runs/34620182131 — success.
Actual cold-installed IFC tarballs, export, asset command and browser lifecycle: https://github.com/flyfish-dev/file-viewer/actions/runs/34624307848 — success.
Missing
crypto.randomUUIDreproduction and corrected runtime: https://github.com/flyfish-dev/file-viewer/actions/runs/34625715095 — success.Both official models have 13 geometric items and render 1,143 triangles in the tested scene. All tracked Workers return to zero after unmount. Cold-installed core, geometry and renderer tarballs resolve the optional entry and execute the installed
.bin/file-viewer-ifc-assetscommand, with generated Workers and WASM verified on disk.The old published DOCX 0.3.31 intentionally fails the new behavioral release gate. Candidate upstream integration passed, but this is not a claim that a new version is already published. Missing original artifacts for #227, #248 and #269 remain unverified.
Sample / fixture evidence
57345ed8469bfae8ccb066abb726a551d0c322f5af7527828771035551cff4cb.4b0dfef0400a6194f86c3deb1234fdf84828f696f2f3915fe940cbb43f5ed30c.80d976a9b193a26a8e928c3e79bff67af1de68a8, IFC4/IFC4.3 Building-Architecture fixtures. Attribution and pinned SHA-256 checks are inpackages/renderers/3d/scripts/download-ifc-fixtures.mjsandpackages/renderers/3d/IFC.md.Visual evidence
Before/after Word/OFD and PPTX images are in the merged #273/#272 reports. The invoice's visible stamp is an existing page resource; this change does not invent a seal image.
Risk and compatibility
Affected packages/formats: optional renderer-3d IFC subpath, OFD signature metadata, and DOCX release preparation. Ordinary model/Office entry points remain unchanged.
Compatibility or migration risk: IFC requires explicit opt-in, documented peer versions and deployment of self-hosted assets and notices. It is visual inspection, not BIM authoring, clash detection or cryptographic signature verification. Unknown signatures retain diagnostics. Before publishing File Viewer, run
pnpm release:prepare-docx <exact-published-version>andpnpm release:verify, then review and commit synchronized metadata. Do not skip the behavioral gate or publish with the old DOCX lock entry.Rollback: revert this PR's squash commit as one unit; remove the optional IFC registration and deployed IFC assets only from consumers that enabled them. No migration of user files or persisted data is introduced. The preparation helper restores source metadata on failure and does not publish.
Checklist