diff --git a/assets/feature-noderoom-hero.gif b/assets/feature-noderoom-hero.gif index 37fdbe4..ac12525 100644 Binary files a/assets/feature-noderoom-hero.gif and b/assets/feature-noderoom-hero.gif differ diff --git a/evidence/nodekit-present.manifest.json b/evidence/nodekit-present.manifest.json index ee41e7d..dc6139d 100644 --- a/evidence/nodekit-present.manifest.json +++ b/evidence/nodekit-present.manifest.json @@ -11,8 +11,8 @@ "artifactKind": "clip", "path": "assets/feature-noderoom-hero.gif", "mediaType": "image/gif", - "sha256": "ec0addd6a402f60e23c0ad8cf7016d260c46cfe9c81f9f4d8fbf64df580dc244", - "bytes": 2154783, + "sha256": "e974f769bc097f23c901acc91384aa5426115a4472bb584e1d931a7c5147a008", + "bytes": 2111742, "dimensions": { "width": 720, "height": 405 @@ -36,7 +36,8 @@ "Historical supporting reference in original PR head 36dd7741e53a6cc66e4ea0eac48d8717fa60ee69: README.md, normalized-text-sha256 b2b9f0f4b1389ea9578c53040bec8941cad574aa2042510d58011ec6ea25f423. It changed on current main and is preserved as historical context, not rebound to this media.", "Historical supporting reference in original PR head 36dd7741e53a6cc66e4ea0eac48d8717fa60ee69: NODE-LOOPS.md, normalized-text-sha256 e7b926d35dea7be0cdeb1592dd2f56b920b2d30ae8a170eda1e81c30375f03e9. It changed on current main and is preserved as historical context, not rebound to this media.", "Active basis entries guard only retained supporting-file bytes. Representation and capture environment are historical declarations; this bridge does not recapture media or certify current application behavior, workflow outcomes, or pixels.", - "Re-encoded 2026-10-10 with gifsicle (npm gifsicle@7.0.1) -O3 --lossy=3: a lossy near-lossless shrink with identical frame count (188), dimensions, delays and loop count; minimum per-frame SSIM 0.983813 against the original, as reported in PR #25. Previous bytes sha256 b443e36ac89a215027104576eb29c8bc4b258660872a43775390b6ab0f6a1673, 2843694 bytes. Pixels were not recaptured." + "Re-encoded 2026-10-10 with gifsicle (npm gifsicle@7.0.1) -O3 --lossy=3: a lossy near-lossless shrink with identical frame count (188), dimensions, delays and loop count; minimum per-frame SSIM 0.983813 against the original, as reported in PR #25. Previous bytes sha256 b443e36ac89a215027104576eb29c8bc4b258660872a43775390b6ab0f6a1673, 2843694 bytes. Pixels were not recaptured.", + "Lead frames trimmed 2026-10-17: the first 4 frames (fade-in from the renderer's white letterbox, mean luminance 139/115/79/55 vs about 20; Defect D2, fixed in the renderer by 341fd20 after this GIF was rendered) were dropped at the byte level, so the loop no longer restarts on a flash. Remaining frames 4..187 are pixel-identical to the previous bytes (sha256 ec0addd6a402f60e23c0ad8cf7016d260c46cfe9c81f9f4d8fbf64df580dc244, 2154783 bytes); original frame 4 is stored as a full-canvas frame in the same global palette. Frame count 188 -> 184, loop count unchanged, per-frame delays of the kept frames unchanged. Pixels were not recaptured." ] }, { diff --git a/proof/featureclip-evidence.receipt.json b/proof/featureclip-evidence.receipt.json index a208a7b..0dbc13b 100644 --- a/proof/featureclip-evidence.receipt.json +++ b/proof/featureclip-evidence.receipt.json @@ -4,13 +4,13 @@ "manifest": { "path": "evidence/nodekit-present.manifest.json", "digestMode": "canonical-json-sha256", - "sha256": "07dd0526c2c389fbeb1845a2dfa319cf117339b51e29bd724bcf8bc80b5ec90c", + "sha256": "a0bb21bf349732882769ae458e26e7911b8803d794bafafe6a11d651de2183cd", "schemaVersion": "featureclip.evidence-manifest/v1" }, "projection": { "path": "proof/nodekit-present.evidence-index.json", "digestMode": "canonical-json-sha256", - "sha256": "80740416b73e1cb42a32a2fd5a3fba40c680b6ac854948d894fe57e795c2d711", + "sha256": "2fb77d8106c051f5a19711549e1d1bf61c7bce2fccc1f37bb15fef083b69578a", "schemaVersion": "nodekit.evidence-index/v1", "changeId": "nodekit-factory-p1" }, @@ -30,8 +30,8 @@ { "id": "noderoom-hero-walkthrough", "path": "assets/feature-noderoom-hero.gif", - "sha256": "ec0addd6a402f60e23c0ad8cf7016d260c46cfe9c81f9f4d8fbf64df580dc244", - "bytes": 2154783, + "sha256": "e974f769bc097f23c901acc91384aa5426115a4472bb584e1d931a7c5147a008", + "bytes": 2111742, "mediaType": "image/gif", "dimensions": { "width": 720, diff --git a/proof/nodekit-present.evidence-index.json b/proof/nodekit-present.evidence-index.json index c30fa4b..80172a1 100644 --- a/proof/nodekit-present.evidence-index.json +++ b/proof/nodekit-present.evidence-index.json @@ -6,7 +6,7 @@ "id": "featureclip-noderoom-hero-walkthrough", "kind": "presentation-clip", "status": "observed", - "location": "repo://HomenShum/FeatureClipStudio/assets/feature-noderoom-hero.gif?sha256=ec0addd6a402f60e23c0ad8cf7016d260c46cfe9c81f9f4d8fbf64df580dc244", + "location": "repo://HomenShum/FeatureClipStudio/assets/feature-noderoom-hero.gif?sha256=e974f769bc097f23c901acc91384aa5426115a4472bb584e1d931a7c5147a008", "summary": "NodeRoom agent workflow walkthrough: repository bytes, media signature, dimensions, and Git tracking match the manifest. Declared provenance is rendered-from-captured-product-ui in deployed-application; supporting-file basis bytes match; no workflow receipt reference. Historical capture provenance, current behavior, pixels, and release readiness are not certified." }, {