diff --git a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json index f69ef35..0c96b70 100644 --- a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json +++ b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-05-13T23:30:00Z", + "generated_at": "2026-05-13T23:59:00Z", "slice": "catalog-materialization", "slice_status": "closed", "counts": { @@ -7,7 +7,7 @@ "track_manifests": 14, "deck_import_specs": 498, "runtime_content_bundles": 498, - "reference_targets": 49, - "overlap_pruned_exclusions": 49 + "reference_targets": 54, + "overlap_pruned_exclusions": 54 } } diff --git a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json index adfa71c..aaf002c 100644 --- a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json +++ b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json @@ -935,6 +935,211 @@ "This target keeps modelviewer.dev explicitly subordinate to the landed browser viewer lane." ] }, + { + "ReferenceTargetId": "reference/google-model-viewer-shared-assets-reference-page-allowlist", + "SurfaceType": "viewer-shared-asset-reference", + "TrackTitle": "Browser Viewer Shared Asset Fixtures", + "ItemTitle": "Shared-Asset Fixture Allowlist", + "IncorporationChannel": "fixture-allowlist", + "TargetAssetFamily": "qa-fixture-note", + "PuzzleFamily": "Other", + "NotationProfile": "family-specific", + "SourceAttribution": { + "SourceMode": "DirectDonor", + "SourceRepo": "google/model-viewer/packages/shared-assets", + "SourceLicense": "Apache-2.0 container; mixed per-asset terms", + "SourceTrackId": "shared-assets/allowlist-contract", + "SourceDeckId": "", + "SourceCaseId": "", + "SourceNotes": "First-party HyperTwist fixture-allowlist target preserving explicit ship-eligible, review-required, and local-only splits from the retained shared-assets lane." + }, + "PreserveFactualElements": [ + "explicit fixture allowlisting", + "ship-eligible versus review-required splits", + "fixture-family role beneath the browser viewer lane" + ], + "RewriteRequiredElements": [ + "all donor README wording", + "all donor docs and demo framing", + "all donor bundle-as-product assumptions" + ], + "ContentSourceFile": "./raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl", + "MatchFilter": { + "source": "google/model-viewer/packages/shared-assets", + "source_scope": "repo-backed", + "structure_template": "viewer-shared-asset-reference-page", + "family": "viewer-shared-assets", + "subset": "allowlist" + }, + "MaterializationNotes": [ + "Preserve explicit allowlist semantics while rewriting the surfaced fixture ledger in first-party HyperTwist language.", + "This target pairs with the compiled Phase 4R-C shared-assets allowlist contract and prevents blanket mixed-asset shipping assumptions." + ] + }, + { + "ReferenceTargetId": "reference/google-model-viewer-shared-assets-lighting-reference-page-cc0-matrix", + "SurfaceType": "viewer-shared-asset-lighting-reference", + "TrackTitle": "Browser Viewer Shared Asset Fixtures", + "ItemTitle": "CC0 Environment Fixture Matrix", + "IncorporationChannel": "environment-fixture-matrix", + "TargetAssetFamily": "environment-fixture-note", + "PuzzleFamily": "Other", + "NotationProfile": "family-specific", + "SourceAttribution": { + "SourceMode": "DirectDonor", + "SourceRepo": "google/model-viewer/packages/shared-assets", + "SourceLicense": "Apache-2.0 container; mixed per-asset terms", + "SourceTrackId": "shared-assets/cc0-environment-matrix", + "SourceDeckId": "", + "SourceCaseId": "", + "SourceNotes": "First-party HyperTwist environment-fixture target preserving the CC0 lighting families retained from shared-assets for browser viewer parity and regression workflows." + }, + "PreserveFactualElements": [ + "CC0 environment-lighting families", + "HDRI selection for lighting parity", + "outdoor versus indoor fixture coverage" + ], + "RewriteRequiredElements": [ + "all donor docs and demo wording", + "all donor fixture-browser assumptions", + "all donor product-shell framing" + ], + "ContentSourceFile": "./raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl", + "MatchFilter": { + "source": "google/model-viewer/packages/shared-assets", + "source_scope": "repo-backed", + "structure_template": "viewer-shared-asset-lighting-reference-page", + "family": "viewer-shared-assets-lighting", + "subset": "cc0-environments" + }, + "MaterializationNotes": [ + "Preserve the CC0 environment-fixture matrix while rewriting the surfaced QA shell in first-party HyperTwist language.", + "This target pairs with the compiled Phase 4R-C shared-assets fixture bundle and keeps environment-fixture approval explicit." + ] + }, + { + "ReferenceTargetId": "reference/google-model-viewer-shared-assets-provenance-reference-page-review-boundary", + "SurfaceType": "viewer-shared-asset-provenance-reference", + "TrackTitle": "Browser Viewer Shared Asset Fixtures", + "ItemTitle": "Review-Required and Restricted Fixture Boundary", + "IncorporationChannel": "shipping-boundary", + "TargetAssetFamily": "compliance-boundary-note", + "PuzzleFamily": "Other", + "NotationProfile": "family-specific", + "SourceAttribution": { + "SourceMode": "DirectDonor", + "SourceRepo": "google/model-viewer/packages/shared-assets", + "SourceLicense": "Apache-2.0 container; mixed per-asset terms", + "SourceTrackId": "shared-assets/provenance-boundary", + "SourceDeckId": "", + "SourceCaseId": "", + "SourceNotes": "First-party HyperTwist provenance target preserving review-required, notice-bound, and excluded fixture duties from the retained shared-assets lane." + }, + "PreserveFactualElements": [ + "CC-BY notice-bound fixtures", + "Smithsonian review-only terms", + "CC-BY-NC-SA local-only exclusion" + ], + "RewriteRequiredElements": [ + "all donor legal-shell wording beyond the preserved factual duties", + "all donor docs/demo framing", + "all donor blanket shipping assumptions" + ], + "ContentSourceFile": "./raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl", + "MatchFilter": { + "source": "google/model-viewer/packages/shared-assets", + "source_scope": "repo-backed", + "structure_template": "viewer-shared-asset-provenance-reference-page", + "family": "viewer-shared-assets-boundary", + "subset": "review-and-restricted" + }, + "MaterializationNotes": [ + "Preserve the per-asset provenance and review split while rewriting the surfaced compliance shell as first-party HyperTwist guidance.", + "This target pairs with the compiled Phase 4R-C provenance boundary and keeps review-only and excluded fixtures explicit." + ] + }, + { + "ReferenceTargetId": "reference/google-model-viewer-shared-assets-refresh-reference-page-pattern", + "SurfaceType": "viewer-shared-asset-refresh-reference", + "TrackTitle": "Browser Viewer Shared Asset Fixtures", + "ItemTitle": "Fixture Refresh and Attribution Recheck Pattern", + "IncorporationChannel": "fixture-refresh-pattern", + "TargetAssetFamily": "refresh-pattern-note", + "PuzzleFamily": "Other", + "NotationProfile": "family-specific", + "SourceAttribution": { + "SourceMode": "DirectDonor", + "SourceRepo": "google/model-viewer/packages/shared-assets", + "SourceLicense": "Apache-2.0 container; mixed per-asset terms", + "SourceTrackId": "shared-assets/refresh-pattern", + "SourceDeckId": "", + "SourceCaseId": "", + "SourceNotes": "First-party HyperTwist refresh-pattern target preserving the shared-assets fixture sync and attribution recheck workflow without automatic allowlist widening." + }, + "PreserveFactualElements": [ + "reproducible fixture refresh pattern", + "attribution recheck discipline", + "sample-sync workflow" + ], + "RewriteRequiredElements": [ + "all donor shell wording", + "all donor automation assumptions beyond the preserved refresh steps", + "all donor docs/demo framing" + ], + "ContentSourceFile": "./raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl", + "MatchFilter": { + "source": "google/model-viewer/packages/shared-assets", + "source_scope": "repo-backed", + "structure_template": "viewer-shared-asset-refresh-reference-page", + "family": "viewer-shared-assets-refresh", + "subset": "refresh-pattern" + }, + "MaterializationNotes": [ + "Preserve the fixture refresh pattern while rewriting the surfaced sync checklist in first-party HyperTwist language.", + "This target pairs with the compiled Phase 4R-C refresh pattern and keeps attribution rechecks mandatory." + ] + }, + { + "ReferenceTargetId": "reference/google-model-viewer-shared-assets-geometry-reference-page-smoke-tests", + "SurfaceType": "viewer-shared-asset-geometry-reference", + "TrackTitle": "Browser Viewer Shared Asset Fixtures", + "ItemTitle": "Contributed Geometry Smoke-Test Boundary", + "IncorporationChannel": "geometry-smoke-test-boundary", + "TargetAssetFamily": "geometry-fixture-note", + "PuzzleFamily": "Other", + "NotationProfile": "family-specific", + "SourceAttribution": { + "SourceMode": "DirectDonor", + "SourceRepo": "google/model-viewer/packages/shared-assets", + "SourceLicense": "Apache-2.0 container; mixed per-asset terms", + "SourceTrackId": "shared-assets/contributed-geometry", + "SourceDeckId": "", + "SourceCaseId": "", + "SourceNotes": "First-party HyperTwist geometry-fixture target preserving contributed smoke-test assets as bounded parsing and framing fixtures while keeping per-asset review duties explicit." + }, + "PreserveFactualElements": [ + "small geometry smoke-test families", + "parser and framing fixtures", + "contributor-noted provenance boundary" + ], + "RewriteRequiredElements": [ + "all donor product-shell framing", + "all donor sample-browser wording", + "all donor blanket shipping assumptions" + ], + "ContentSourceFile": "./raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl", + "MatchFilter": { + "source": "google/model-viewer/packages/shared-assets", + "source_scope": "repo-backed", + "structure_template": "viewer-shared-asset-geometry-reference-page", + "family": "viewer-shared-assets-geometry", + "subset": "contributed-geometry" + }, + "MaterializationNotes": [ + "Preserve parsing and framing smoke-test value while rewriting the surfaced fixture boundary in first-party HyperTwist language.", + "This target pairs with the compiled Phase 4R-C geometry review boundary and keeps contributor-noted assets out of the blanket shipping lane." + ] + }, { "ReferenceTargetId": "reference/met4citizen-talkinghead-companion-reference-page-narration", "SurfaceType": "companion-reference", diff --git a/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl new file mode 100644 index 0000000..eba9108 --- /dev/null +++ b/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl @@ -0,0 +1,5 @@ +{"source":"google/model-viewer/packages/shared-assets","source_scope":"repo-backed","family":"viewer-shared-assets","subset":"allowlist","page_id":"shared-assets-fixture-allowlist","page_title":"Shared-Asset Fixture Allowlist","surface_type":"viewer-shared-asset-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\README.md","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\ATTRIBUTIONS.md"],"preserve_factual_elements":["explicit fixture allowlisting","ship-eligible versus review-required splits","fixture-family role beneath the browser viewer lane"],"notes":"Source-backed shared-assets allowlist target for first-party HyperTwist fixture, documentation-example, and visual-QA use without treating the mixed-provenance package as a blanket shippable asset bundle."} +{"source":"google/model-viewer/packages/shared-assets","source_scope":"repo-backed","family":"viewer-shared-assets-lighting","subset":"cc0-environments","page_id":"shared-assets-cc0-environment-matrix","page_title":"CC0 Environment Fixture Matrix","surface_type":"viewer-shared-asset-lighting-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\aircraft_workshop_01_1k.hdr","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\music_hall_01_1k.hdr","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\spruit_sunrise_1k_HDR.hdr","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\whipple_creek_regional_park_04_1k.hdr"],"preserve_factual_elements":["CC0 environment-lighting families","HDRI selection for lighting parity","outdoor versus indoor fixture coverage"],"notes":"Source-backed shared-assets environment-matrix target for first-party HyperTwist lighting parity, reflection checks, and browser capture regression workflows."} +{"source":"google/model-viewer/packages/shared-assets","source_scope":"repo-backed","family":"viewer-shared-assets-boundary","subset":"review-and-restricted","page_id":"shared-assets-review-and-restricted-boundary","page_title":"Review-Required and Restricted Fixture Boundary","surface_type":"viewer-shared-asset-provenance-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\ATTRIBUTIONS.md","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\Astronaut.glb","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\NeilArmstrong.glb","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\Horse.glb"],"preserve_factual_elements":["CC-BY notice-bound fixtures","Smithsonian review-only terms","CC-BY-NC-SA local-only exclusion"],"notes":"Source-backed shared-assets provenance boundary target for first-party HyperTwist shipping review, local-only restrictions, and explicit attribution duties on non-CC0 fixtures."} +{"source":"google/model-viewer/packages/shared-assets","source_scope":"repo-backed","family":"viewer-shared-assets-refresh","subset":"refresh-pattern","page_id":"shared-assets-refresh-pattern","page_title":"Fixture Refresh and Attribution Recheck Pattern","surface_type":"viewer-shared-asset-refresh-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\scripts\\fetch-khronos-gltf-samples.sh","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\ATTRIBUTIONS.md"],"preserve_factual_elements":["reproducible fixture refresh pattern","attribution recheck discipline","sample-sync workflow"],"notes":"Source-backed shared-assets refresh-pattern target for first-party HyperTwist fixture sync and attribution-recheck workflow rather than automatic allowlist widening."} +{"source":"google/model-viewer/packages/shared-assets","source_scope":"repo-backed","family":"viewer-shared-assets-geometry","subset":"contributed-geometry","page_id":"shared-assets-contributed-geometry-boundary","page_title":"Contributed Geometry Smoke-Test Boundary","surface_type":"viewer-shared-asset-geometry-reference","origin_paths":["C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\cube.gltf","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\Triangle.gltf","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\odd-shape.glb","C:\\Workspaces\\HyperTwist\\mirrors\\permissive\\google\\model-viewer\\packages\\shared-assets\\pbr-spheres.glb"],"preserve_factual_elements":["small geometry smoke-test families","parser and framing fixtures","contributor-noted provenance boundary"],"notes":"Source-backed shared-assets geometry boundary target for first-party HyperTwist parsing, framing, and shader smoke-test fixtures while keeping contributor-noted asset review duties explicit."} diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp index ff9f0a3..c1aa580 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp @@ -492,6 +492,11 @@ FHyperTwistTrainingLegacy4DReferenceBundle UHyperTwistTrainingRuntimeLibrary::Ge return UHyperTwistTrainingLegacy4DLibrary::BuildBundledLegacy4DReferenceBundle(); } +FHyperTwistTrainingSharedAssetReferenceBundle UHyperTwistTrainingRuntimeLibrary::GetBundledSharedAssetReferenceBundle() +{ + return UHyperTwistTrainingSharedAssetLibrary::BuildBundledSharedAssetReferenceBundle(); +} + bool UHyperTwistTrainingRuntimeLibrary::TryGetLatestGeneratedModeLaunchRequestForDeck( UObject* WorldContextObject, const FString& UserId, @@ -946,6 +951,61 @@ FString UHyperTwistTrainingRuntimeLibrary::BuildBundledLegacy4DPackageChecklistT ); } +bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledSharedAssetFixtureReference( + const FString& FixtureId, + FHyperTwistTrainingSharedAssetFixtureReference& OutReference +) +{ + return UHyperTwistTrainingSharedAssetLibrary::TryGetFixtureReferenceById( + GetBundledSharedAssetReferenceBundle(), + FixtureId, + OutReference + ); +} + +bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledSharedAssetQaPackContract( + const FString& ContractId, + FHyperTwistTrainingSharedAssetQaPackContract& OutContract +) +{ + return UHyperTwistTrainingSharedAssetLibrary::TryGetQaPackContractById( + GetBundledSharedAssetReferenceBundle(), + ContractId, + OutContract + ); +} + +bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledSharedAssetProvenanceBoundary( + const FString& BoundaryId, + FHyperTwistTrainingSharedAssetProvenanceBoundary& OutBoundary +) +{ + return UHyperTwistTrainingSharedAssetLibrary::TryGetProvenanceBoundaryById( + GetBundledSharedAssetReferenceBundle(), + BoundaryId, + OutBoundary + ); +} + +bool UHyperTwistTrainingRuntimeLibrary::TryGetBundledSharedAssetRefreshPattern( + const FString& PatternId, + FHyperTwistTrainingSharedAssetRefreshPattern& OutPattern +) +{ + return UHyperTwistTrainingSharedAssetLibrary::TryGetRefreshPatternById( + GetBundledSharedAssetReferenceBundle(), + PatternId, + OutPattern + ); +} + +FString UHyperTwistTrainingRuntimeLibrary::BuildBundledSharedAssetFixtureChecklistTsv() +{ + return UHyperTwistTrainingSharedAssetLibrary::BuildFixtureChecklistTsv( + GetBundledSharedAssetReferenceBundle() + ); +} + FHyperTwistTrainingLearnerDeckStateSummary UHyperTwistTrainingRuntimeLibrary::GetActiveTrainingLearnerDeckStateSummary(UObject* WorldContextObject) { if (UHyperTwistTrainingSubsystem* TrainingSubsystem = GetTrainingSubsystem(WorldContextObject)) diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.cpp new file mode 100644 index 0000000..ef165de --- /dev/null +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.cpp @@ -0,0 +1,584 @@ +#include "HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h" + +namespace HyperTwistTrainingSharedAssetLibraryInternal +{ + const TCHAR* SharedAssetsRepo = TEXT("google/model-viewer/packages/shared-assets"); + const TCHAR* SharedAssetsLicense = TEXT("Apache-2.0 container; mixed per-asset terms"); + + FHyperTwistTrainingSourceAttribution MakeAttribution( + const FString& TrackId, + const FString& Notes + ) + { + FHyperTwistTrainingSourceAttribution Attribution; + Attribution.SourceMode = EHyperTwistTrainingSourceMode::DirectDonor; + Attribution.SourceRepo = SharedAssetsRepo; + Attribution.SourceLicense = SharedAssetsLicense; + Attribution.SourceTrackId = TrackId; + Attribution.SourceNotes = Notes; + return Attribution; + } + + FHyperTwistTrainingSharedAssetFixtureReference MakeFixtureReference( + const FString& FixtureId, + const FString& Label, + const TArray& RelativePaths, + const FString& FixtureKind, + const FString& UsagePosture, + const FString& LicensePosture, + const FString& Summary, + const TArray& ApprovedWorkflowTags, + const TArray& RequiredNoticeActions, + const TArray& ExplicitExclusions, + const FHyperTwistTrainingSourceAttribution& SourceAttribution + ) + { + FHyperTwistTrainingSharedAssetFixtureReference Reference; + Reference.FixtureId = FixtureId; + Reference.Label = Label; + Reference.RelativePaths = RelativePaths; + Reference.FixtureKind = FixtureKind; + Reference.UsagePosture = UsagePosture; + Reference.LicensePosture = LicensePosture; + Reference.Summary = Summary; + Reference.ApprovedWorkflowTags = ApprovedWorkflowTags; + Reference.RequiredNoticeActions = RequiredNoticeActions; + Reference.ExplicitExclusions = ExplicitExclusions; + Reference.SourceAttribution = SourceAttribution; + return Reference; + } + + void AppendJoined(FString& OutText, const TArray& Values) + { + for (int32 Index = 0; Index < Values.Num(); ++Index) + { + if (Index > 0) + { + OutText.Append(TEXT(", ")); + } + + OutText.Append(Values[Index]); + } + } +} + +FHyperTwistTrainingSharedAssetReferenceBundle +UHyperTwistTrainingSharedAssetLibrary::BuildBundledSharedAssetReferenceBundle() +{ + using namespace HyperTwistTrainingSharedAssetLibraryInternal; + + FHyperTwistTrainingSharedAssetReferenceBundle Bundle; + Bundle.ReferenceUtc = TEXT("2026-05-13T23:59:00Z"); + Bundle.PrimaryQaPackContractId = TEXT("shared-assets-fixture-allowlist"); + Bundle.PrimaryProvenanceBoundaryId = TEXT("shared-assets-provenance-and-shipping-boundary"); + Bundle.PrimaryRefreshPatternId = TEXT("shared-assets-refresh-and-attribution-recheck"); + + const TArray CommonPackageNoticeActions = + { + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials"), + TEXT("retain the fixture-level provenance record from ATTRIBUTIONS.md for every selected asset family"), + TEXT("recheck the mirrored ATTRIBUTIONS.md entry before promoting any new asset into a shipped surface") + }; + + Bundle.FixtureReferences = + { + MakeFixtureReference( + TEXT("fixture/robotexpressive-cc0"), + TEXT("RobotExpressive character fixture"), + {TEXT("./RobotExpressive.glb")}, + TEXT("character-model"), + TEXT("ship-eligible-qa-fixture"), + TEXT("CC0"), + TEXT("Character and animation regression fixture for viewer smoke tests, camera framing, and expressive narration-side preview surfaces."), + {TEXT("viewer-smoke-test"), TEXT("animation-preview"), TEXT("capture-regression")}, + CommonPackageNoticeActions, + { + TEXT("blanket adoption of the full shared-assets pack"), + TEXT("treating this fixture as the product's owned avatar program") + }, + MakeAttribution( + TEXT("shared-assets/robotexpressive"), + TEXT("Preserves the CC0 RobotExpressive sample as an explicit ship-eligible QA and preview fixture without promoting the mixed shared-assets pack into a blanket asset source.") + ) + ), + MakeFixtureReference( + TEXT("fixture/barramundi-fish-cc0"), + TEXT("Barramundi Fish material-response fixture"), + {TEXT("./BarramundiFish.mixed.glb")}, + TEXT("material-model"), + TEXT("ship-eligible-qa-fixture"), + TEXT("CC0"), + TEXT("Material-response and lighting-parity fixture for browser viewer capture, highlight, and shading regressions."), + {TEXT("material-response"), TEXT("lighting-parity"), TEXT("capture-regression")}, + CommonPackageNoticeActions, + { + TEXT("blanket product-asset shipping beyond the explicitly reviewed fixture role") + }, + MakeAttribution( + TEXT("shared-assets/barramundi-fish"), + TEXT("Preserves the CC0 Barramundi Fish sample as an explicit material and lighting QA fixture beneath the bounded shared-assets lane.") + ) + ), + MakeFixtureReference( + TEXT("fixture/aircraft-workshop-cc0"), + TEXT("Aircraft workshop lighting fixture"), + {TEXT("./aircraft_workshop_01_1k.hdr")}, + TEXT("environment-map"), + TEXT("ship-eligible-qa-fixture"), + TEXT("CC0"), + TEXT("High-contrast HDR lighting fixture for environment-reflection, tone-mapping, and exposure-parity checks."), + {TEXT("lighting-parity"), TEXT("reflection-check"), TEXT("tone-mapping")}, + CommonPackageNoticeActions, + { + TEXT("silent inheritance of the whole shared-assets environment library") + }, + MakeAttribution( + TEXT("shared-assets/aircraft-workshop"), + TEXT("Preserves the CC0 aircraft workshop HDRI as an explicit environment-lighting fixture for first-party viewer QA and regression capture.") + ) + ), + MakeFixtureReference( + TEXT("fixture/music-hall-cc0"), + TEXT("Music hall lighting fixture"), + {TEXT("./music_hall_01_1k.hdr")}, + TEXT("environment-map"), + TEXT("ship-eligible-qa-fixture"), + TEXT("CC0"), + TEXT("Interior HDR lighting fixture for soft reflections, tone-mapping, and exposure variation checks."), + {TEXT("lighting-parity"), TEXT("reflection-check"), TEXT("exposure-variation")}, + CommonPackageNoticeActions, + { + TEXT("silent inheritance of the whole shared-assets environment library") + }, + MakeAttribution( + TEXT("shared-assets/music-hall"), + TEXT("Preserves the CC0 music hall HDRI as an explicit environment-lighting fixture for first-party viewer QA.") + ) + ), + MakeFixtureReference( + TEXT("fixture/spruit-sunrise-cc0"), + TEXT("Spruit sunrise lighting family"), + { + TEXT("./spruit_sunrise_1k_HDR.hdr"), + TEXT("./spruit_sunrise_1k_LDR.jpg"), + TEXT("./spruit_sunrise_1k_PURE_SKY.hdr") + }, + TEXT("environment-family"), + TEXT("ship-eligible-qa-fixture"), + TEXT("CC0"), + TEXT("Outdoor lighting fixture family for sky-only, HDR, and LDR parity comparisons across browser capture flows."), + {TEXT("lighting-parity"), TEXT("skybox-parity"), TEXT("capture-regression")}, + CommonPackageNoticeActions, + { + TEXT("assuming all shared-assets environments are equally approved without review") + }, + MakeAttribution( + TEXT("shared-assets/spruit-sunrise"), + TEXT("Preserves the CC0 spruit sunrise environment family as an explicit outdoor-lighting fixture matrix for first-party viewer QA.") + ) + ), + MakeFixtureReference( + TEXT("fixture/whipple-creek-cc0"), + TEXT("Whipple Creek lighting family"), + { + TEXT("./whipple_creek_regional_park_04_1k.hdr"), + TEXT("./whipple_creek_regional_park_04_1k.jpg") + }, + TEXT("environment-family"), + TEXT("ship-eligible-qa-fixture"), + TEXT("CC0"), + TEXT("Outdoor lighting fixture family for reflection, sky tint, and exposure-parity comparison under natural conditions."), + {TEXT("lighting-parity"), TEXT("reflection-check"), TEXT("natural-lighting")}, + CommonPackageNoticeActions, + { + TEXT("assuming all shared-assets environments are equally approved without review") + }, + MakeAttribution( + TEXT("shared-assets/whipple-creek"), + TEXT("Preserves the CC0 Whipple Creek environment family as an explicit natural-lighting fixture matrix for first-party browser QA.") + ) + ), + MakeFixtureReference( + TEXT("fixture/astronaut-cc-by"), + TEXT("Astronaut character family"), + { + TEXT("./Astronaut.glb"), + TEXT("./AstronautDRACO.glb"), + TEXT("./Astronaut-Unlit.glb"), + TEXT("./Astronaut.usdz") + }, + TEXT("character-family"), + TEXT("notice-bound-review-fixture"), + TEXT("CC-BY"), + TEXT("Character fixture family for viewer embedding, compression, and format-parity checks that requires explicit attribution review before any shipped use."), + {TEXT("viewer-smoke-test"), TEXT("compression-parity"), TEXT("format-parity")}, + { + TEXT("preserve visible CC-BY creator attribution in any shipped usage"), + TEXT("retain the exact asset family reference from ATTRIBUTIONS.md in the asset ledger"), + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials") + }, + { + TEXT("shipping without explicit attribution review"), + TEXT("treating the package container license as overriding CC-BY obligations") + }, + MakeAttribution( + TEXT("shared-assets/astronaut"), + TEXT("Preserves the Astronaut sample family as a bounded review-required fixture set for format and compression parity while keeping CC-BY obligations explicit.") + ) + ), + MakeFixtureReference( + TEXT("fixture/shishkebab-cc-by"), + TEXT("Shishkebab food fixture"), + {TEXT("./Shishkebab.glb"), TEXT("./Shishkebab.png")}, + TEXT("material-model"), + TEXT("notice-bound-review-fixture"), + TEXT("CC-BY"), + TEXT("Material and texture fixture for food-surface shading checks that remains review-required before any shipped use."), + {TEXT("material-response"), TEXT("texture-parity"), TEXT("capture-regression")}, + { + TEXT("preserve visible CC-BY creator attribution in any shipped usage"), + TEXT("retain the exact asset family reference from ATTRIBUTIONS.md in the asset ledger"), + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials") + }, + { + TEXT("shipping without explicit attribution review") + }, + MakeAttribution( + TEXT("shared-assets/shishkebab"), + TEXT("Preserves the Shishkebab sample family as a bounded material-response fixture while keeping CC-BY review duties explicit.") + ) + ), + MakeFixtureReference( + TEXT("fixture/neil-armstrong-smithsonian"), + TEXT("Neil Armstrong spacesuit fixture"), + {TEXT("./NeilArmstrong.glb")}, + TEXT("historical-model"), + TEXT("review-required-fixture"), + TEXT("Smithsonian usage conditions"), + TEXT("Historically distinctive model fixture for local viewer QA and documentation-example evaluation only until Smithsonian terms are reviewed for the exact target use."), + {TEXT("viewer-smoke-test"), TEXT("documentation-example-evaluation"), TEXT("local-qa")}, + { + TEXT("review the Smithsonian usage conditions before any shipped or public-facing use"), + TEXT("retain the source institution and asset title in the fixture ledger"), + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials") + }, + { + TEXT("treating the asset as ship-approved by default"), + TEXT("assuming Smithsonian terms behave like a generic permissive asset license") + }, + MakeAttribution( + TEXT("shared-assets/neil-armstrong"), + TEXT("Preserves the Neil Armstrong sample as a bounded review-required historical-model fixture while keeping Smithsonian usage conditions explicit.") + ) + ), + MakeFixtureReference( + TEXT("fixture/horse-cc-by-nc-sa"), + TEXT("Horse model fixture"), + {TEXT("./Horse.glb")}, + TEXT("character-model"), + TEXT("local-only-restricted-fixture"), + TEXT("CC-BY-NC-SA"), + TEXT("Local-only model fixture for internal shading and animation smoke tests that must not be treated as a commercial shippable product asset."), + {TEXT("local-qa"), TEXT("material-response"), TEXT("animation-preview")}, + { + TEXT("retain the exact CC-BY-NC-SA entry from ATTRIBUTIONS.md in the internal fixture ledger"), + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials") + }, + { + TEXT("commercial shipping"), + TEXT("public sample-asset promotion"), + TEXT("treating noncommercial terms as a generic permissive allowance") + }, + MakeAttribution( + TEXT("shared-assets/horse"), + TEXT("Preserves the Horse sample only as a local-only restricted fixture because the CC-BY-NC-SA posture is incompatible with a blanket shipped-product asset role.") + ) + ), + MakeFixtureReference( + TEXT("fixture/contributed-geometry-smoke-tests"), + TEXT("Contributed geometry smoke-test family"), + { + TEXT("./cube.gltf"), + TEXT("./offcenter-cube.gltf"), + TEXT("./pbr-spheres.glb"), + TEXT("./radiance.glb"), + TEXT("./reflective-sphere.gltf"), + TEXT("./Triangle.gltf"), + TEXT("./odd-shape.glb"), + TEXT("./odd-shape-labeled.glb") + }, + TEXT("geometry-smoke-test-family"), + TEXT("review-required-fixture"), + TEXT("Contributor-noted in ATTRIBUTIONS.md; asset-specific shipping posture requires separate review"), + TEXT("Small geometry and radiance fixtures for parsing, framing, and shader smoke tests that remain review-required until each contributed asset's shipping posture is explicitly resolved."), + {TEXT("geometry-smoke-test"), TEXT("parsing-smoke-test"), TEXT("capture-regression")}, + { + TEXT("retain the contributor references from ATTRIBUTIONS.md in the fixture ledger"), + TEXT("do not assume the package container license resolves the per-asset shipping posture"), + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials") + }, + { + TEXT("treating contributor-noted smoke-test assets as auto-approved shippable product assets") + }, + MakeAttribution( + TEXT("shared-assets/contributed-geometry"), + TEXT("Preserves the contributed geometry smoke-test family as a bounded parsing and framing fixture set while keeping per-asset review duties explicit.") + ) + ) + }; + + FHyperTwistTrainingSharedAssetQaPackContract QaPackContract; + QaPackContract.ContractId = TEXT("shared-assets-fixture-allowlist"); + QaPackContract.Title = TEXT("Shared-assets fixture allowlist"); + QaPackContract.Summary = TEXT("First-party HyperTwist allowlist contract for using google/model-viewer shared-assets as a bounded fixture, documentation-example, and visual-QA lane with explicit per-asset posture instead of blanket bundle shipping."); + QaPackContract.RequiredFixtureIds = + { + TEXT("fixture/robotexpressive-cc0"), + TEXT("fixture/barramundi-fish-cc0"), + TEXT("fixture/aircraft-workshop-cc0"), + TEXT("fixture/music-hall-cc0"), + TEXT("fixture/spruit-sunrise-cc0"), + TEXT("fixture/whipple-creek-cc0"), + TEXT("fixture/astronaut-cc-by"), + TEXT("fixture/shishkebab-cc-by"), + TEXT("fixture/neil-armstrong-smithsonian"), + TEXT("fixture/horse-cc-by-nc-sa"), + TEXT("fixture/contributed-geometry-smoke-tests") + }; + QaPackContract.ShipEligibleFixtureIds = + { + TEXT("fixture/robotexpressive-cc0"), + TEXT("fixture/barramundi-fish-cc0"), + TEXT("fixture/aircraft-workshop-cc0"), + TEXT("fixture/music-hall-cc0"), + TEXT("fixture/spruit-sunrise-cc0"), + TEXT("fixture/whipple-creek-cc0") + }; + QaPackContract.ReviewRequiredFixtureIds = + { + TEXT("fixture/astronaut-cc-by"), + TEXT("fixture/shishkebab-cc-by"), + TEXT("fixture/neil-armstrong-smithsonian"), + TEXT("fixture/contributed-geometry-smoke-tests") + }; + QaPackContract.LocalOnlyFixtureIds = + { + TEXT("fixture/horse-cc-by-nc-sa") + }; + QaPackContract.ApprovedWorkflowTags = + { + TEXT("viewer-smoke-test"), + TEXT("lighting-parity"), + TEXT("capture-regression"), + TEXT("documentation-example-evaluation"), + TEXT("explicitly-reviewed-shipping") + }; + QaPackContract.ExplicitExclusions = + { + TEXT("blanket shipping of the shared-assets package"), + TEXT("treating all mixed-provenance assets as if the package container license were decisive"), + TEXT("promoting the fixture pack into runtime or gameplay ownership") + }; + QaPackContract.SourceAttribution = MakeAttribution( + TEXT("shared-assets/allowlist-contract"), + TEXT("Preserves explicit fixture allowlisting, review-required splits, and local-only exclusions from the shared-assets lane so HyperTwist can use the pack for QA without pretending it is a blanket shippable bundle.") + ); + Bundle.QaPackContracts = {QaPackContract}; + + FHyperTwistTrainingSharedAssetProvenanceBoundary ProvenanceBoundary; + ProvenanceBoundary.BoundaryId = TEXT("shared-assets-provenance-and-shipping-boundary"); + ProvenanceBoundary.Title = TEXT("Shared-assets provenance and shipping boundary"); + ProvenanceBoundary.Summary = TEXT("First-party HyperTwist provenance boundary for using google/model-viewer shared-assets as a mixed-terms fixture pack with explicit CC0, attribution-bound, review-only, and excluded lanes."); + ProvenanceBoundary.AllowedShippingFixtureIds = + { + TEXT("fixture/robotexpressive-cc0"), + TEXT("fixture/barramundi-fish-cc0"), + TEXT("fixture/aircraft-workshop-cc0"), + TEXT("fixture/music-hall-cc0"), + TEXT("fixture/spruit-sunrise-cc0"), + TEXT("fixture/whipple-creek-cc0") + }; + ProvenanceBoundary.NoticeBoundFixtureIds = + { + TEXT("fixture/astronaut-cc-by"), + TEXT("fixture/shishkebab-cc-by") + }; + ProvenanceBoundary.ReviewOnlyFixtureIds = + { + TEXT("fixture/neil-armstrong-smithsonian"), + TEXT("fixture/contributed-geometry-smoke-tests") + }; + ProvenanceBoundary.ExcludedFixtureIds = + { + TEXT("fixture/horse-cc-by-nc-sa") + }; + ProvenanceBoundary.RequiredNoticeActions = + { + TEXT("preserve package-level Apache license materials in third-party notices or equivalent release/legal materials"), + TEXT("retain the exact selected-asset entries from ATTRIBUTIONS.md in the fixture ledger"), + TEXT("preserve visible creator attribution whenever a notice-bound asset is promoted into a shipped surface"), + TEXT("document the reviewed shipping decision for each non-CC0 asset before use") + }; + ProvenanceBoundary.ProvenanceCaveats = + { + TEXT("the package container license does not override per-asset terms in ATTRIBUTIONS.md"), + TEXT("Smithsonian usage conditions require explicit review before public or shipped use"), + TEXT("contributor-noted geometry smoke-test assets remain review-required until their shipping posture is resolved"), + TEXT("CC-BY-NC-SA assets remain excluded from HyperTwist's normal commercial shipping lane") + }; + ProvenanceBoundary.ExplicitExclusions = + { + TEXT("blanket product shipping of mixed-provenance assets"), + TEXT("erasing attribution or contributor records from the fixture ledger"), + TEXT("treating local-only restricted fixtures as general product assets") + }; + ProvenanceBoundary.SourceAttribution = MakeAttribution( + TEXT("shared-assets/provenance-boundary"), + TEXT("Preserves the shared-assets per-asset provenance split so HyperTwist can use approved fixtures while keeping attribution-bound, review-only, and excluded assets explicit.") + ); + Bundle.ProvenanceBoundaries = {ProvenanceBoundary}; + + FHyperTwistTrainingSharedAssetRefreshPattern RefreshPattern; + RefreshPattern.PatternId = TEXT("shared-assets-refresh-and-attribution-recheck"); + RefreshPattern.Title = TEXT("Shared-assets refresh and attribution recheck"); + RefreshPattern.Summary = TEXT("First-party HyperTwist refresh pattern for sample-fixture updates that keeps fetch-script behavior, provenance rechecks, and allowlist verification explicit."); + RefreshPattern.ScriptPath = TEXT("./scripts/fetch-khronos-gltf-samples.sh"); + RefreshPattern.RefreshInputTags = + { + TEXT("khronos-sample-refresh"), + TEXT("fixture-sync"), + TEXT("environment-fixture-matrix"), + TEXT("attribution-recheck") + }; + RefreshPattern.VerificationSteps = + { + TEXT("re-read ATTRIBUTIONS.md before promoting any refreshed fixture"), + TEXT("verify the selected fixture files still exist at the mirrored relative paths"), + TEXT("reconfirm shipping-eligible, notice-bound, review-only, and excluded splits"), + TEXT("update first-party fixture ledgers before expanding the shipping allowlist") + }; + RefreshPattern.ExplicitExclusions = + { + TEXT("silent fixture refresh without provenance review"), + TEXT("using the fetch script as permission to widen the shipping allowlist automatically") + }; + RefreshPattern.SourceAttribution = MakeAttribution( + TEXT("shared-assets/refresh-pattern"), + TEXT("Preserves the fetch-script refresh pattern from shared-assets while keeping attribution rechecks and allowlist review mandatory for HyperTwist.") + ); + Bundle.RefreshPatterns = {RefreshPattern}; + + return Bundle; +} + +bool UHyperTwistTrainingSharedAssetLibrary::TryGetFixtureReferenceById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& FixtureId, + FHyperTwistTrainingSharedAssetFixtureReference& OutReference +) +{ + for (const FHyperTwistTrainingSharedAssetFixtureReference& Reference : Bundle.FixtureReferences) + { + if (Reference.FixtureId.Equals(FixtureId, ESearchCase::IgnoreCase)) + { + OutReference = Reference; + return true; + } + } + + OutReference = FHyperTwistTrainingSharedAssetFixtureReference(); + return false; +} + +bool UHyperTwistTrainingSharedAssetLibrary::TryGetQaPackContractById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& ContractId, + FHyperTwistTrainingSharedAssetQaPackContract& OutContract +) +{ + for (const FHyperTwistTrainingSharedAssetQaPackContract& Contract : Bundle.QaPackContracts) + { + if (Contract.ContractId.Equals(ContractId, ESearchCase::IgnoreCase)) + { + OutContract = Contract; + return true; + } + } + + OutContract = FHyperTwistTrainingSharedAssetQaPackContract(); + return false; +} + +bool UHyperTwistTrainingSharedAssetLibrary::TryGetProvenanceBoundaryById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& BoundaryId, + FHyperTwistTrainingSharedAssetProvenanceBoundary& OutBoundary +) +{ + for (const FHyperTwistTrainingSharedAssetProvenanceBoundary& Boundary : Bundle.ProvenanceBoundaries) + { + if (Boundary.BoundaryId.Equals(BoundaryId, ESearchCase::IgnoreCase)) + { + OutBoundary = Boundary; + return true; + } + } + + OutBoundary = FHyperTwistTrainingSharedAssetProvenanceBoundary(); + return false; +} + +bool UHyperTwistTrainingSharedAssetLibrary::TryGetRefreshPatternById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& PatternId, + FHyperTwistTrainingSharedAssetRefreshPattern& OutPattern +) +{ + for (const FHyperTwistTrainingSharedAssetRefreshPattern& Pattern : Bundle.RefreshPatterns) + { + if (Pattern.PatternId.Equals(PatternId, ESearchCase::IgnoreCase)) + { + OutPattern = Pattern; + return true; + } + } + + OutPattern = FHyperTwistTrainingSharedAssetRefreshPattern(); + return false; +} + +FString UHyperTwistTrainingSharedAssetLibrary::BuildFixtureChecklistTsv( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle +) +{ + using namespace HyperTwistTrainingSharedAssetLibraryInternal; + + FString Output = TEXT("fixture_id\tlabel\tfixture_kind\tusage_posture\tlicense_posture\trelative_paths\tsummary\n"); + for (const FHyperTwistTrainingSharedAssetFixtureReference& Reference : Bundle.FixtureReferences) + { + if (!Reference.IsStructurallyValid()) + { + continue; + } + + FString RelativePaths; + AppendJoined(RelativePaths, Reference.RelativePaths); + + Output.Append(Reference.FixtureId); + Output.Append(TEXT("\t")); + Output.Append(Reference.Label); + Output.Append(TEXT("\t")); + Output.Append(Reference.FixtureKind); + Output.Append(TEXT("\t")); + Output.Append(Reference.UsagePosture); + Output.Append(TEXT("\t")); + Output.Append(Reference.LicensePosture); + Output.Append(TEXT("\t")); + Output.Append(RelativePaths); + Output.Append(TEXT("\t")); + Output.Append(Reference.Summary.Replace(TEXT("\t"), TEXT(" "))); + Output.Append(TEXT("\n")); + } + + return Output; +} diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h index a41dd9e..08b374b 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h @@ -10,6 +10,7 @@ #include "HyperTwistTraining/HyperTwistTrainingCoachLibrary.h" #include "HyperTwistTraining/HyperTwistTrainingKnowledgeLibrary.h" #include "HyperTwistTraining/HyperTwistTrainingLegacy4DLibrary.h" +#include "HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h" #include "HyperTwistTraining/HyperTwistTrainingSpatialLibrary.h" #include "HyperTwistTraining/HyperTwistTrainingViewerLibrary.h" #include "HyperTwistTraining/HyperTwistTrainingTypes.h" @@ -168,6 +169,9 @@ public: UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|Legacy4D") static FHyperTwistTrainingLegacy4DReferenceBundle GetBundledLegacy4DReferenceBundle(); + UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|SharedAssets") + static FHyperTwistTrainingSharedAssetReferenceBundle GetBundledSharedAssetReferenceBundle(); + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training", meta = (WorldContext = "WorldContextObject")) static bool TryGetLatestGeneratedModeLaunchRequestForDeck( UObject* WorldContextObject, @@ -369,6 +373,33 @@ public: UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|Legacy4D") static FString BuildBundledLegacy4DPackageChecklistTsv(); + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetBundledSharedAssetFixtureReference( + const FString& FixtureId, + FHyperTwistTrainingSharedAssetFixtureReference& OutReference + ); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetBundledSharedAssetQaPackContract( + const FString& ContractId, + FHyperTwistTrainingSharedAssetQaPackContract& OutContract + ); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetBundledSharedAssetProvenanceBoundary( + const FString& BoundaryId, + FHyperTwistTrainingSharedAssetProvenanceBoundary& OutBoundary + ); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetBundledSharedAssetRefreshPattern( + const FString& PatternId, + FHyperTwistTrainingSharedAssetRefreshPattern& OutPattern + ); + + UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|SharedAssets") + static FString BuildBundledSharedAssetFixtureChecklistTsv(); + UFUNCTION(BlueprintPure, Category = "HyperTwist|Training", meta = (WorldContext = "WorldContextObject")) static FHyperTwistTrainingLearnerDeckStateSummary GetActiveTrainingLearnerDeckStateSummary(UObject* WorldContextObject); diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h new file mode 100644 index 0000000..33944e6 --- /dev/null +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h @@ -0,0 +1,249 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "HyperTwistTraining/HyperTwistTrainingTypes.h" +#include "HyperTwistTrainingSharedAssetLibrary.generated.h" + +USTRUCT(BlueprintType) +struct FHyperTwistTrainingSharedAssetFixtureReference +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString FixtureId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Label; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RelativePaths; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString FixtureKind; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString UsagePosture; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString LicensePosture; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Summary; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ApprovedWorkflowTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RequiredNoticeActions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ExplicitExclusions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FHyperTwistTrainingSourceAttribution SourceAttribution; + + bool IsStructurallyValid() const + { + return !FixtureId.IsEmpty() && !Label.IsEmpty() && RelativePaths.Num() > 0 && !FixtureKind.IsEmpty() + && !UsagePosture.IsEmpty() && !LicensePosture.IsEmpty() && SourceAttribution.IsStructurallyValid(); + } +}; + +USTRUCT(BlueprintType) +struct FHyperTwistTrainingSharedAssetQaPackContract +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString ContractId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Title; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Summary; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RequiredFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ShipEligibleFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ReviewRequiredFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray LocalOnlyFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ApprovedWorkflowTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ExplicitExclusions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FHyperTwistTrainingSourceAttribution SourceAttribution; + + bool IsStructurallyValid() const + { + return !ContractId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid(); + } +}; + +USTRUCT(BlueprintType) +struct FHyperTwistTrainingSharedAssetProvenanceBoundary +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString BoundaryId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Title; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Summary; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray AllowedShippingFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray NoticeBoundFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ReviewOnlyFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ExcludedFixtureIds; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RequiredNoticeActions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ProvenanceCaveats; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ExplicitExclusions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FHyperTwistTrainingSourceAttribution SourceAttribution; + + bool IsStructurallyValid() const + { + return !BoundaryId.IsEmpty() && !Title.IsEmpty() && SourceAttribution.IsStructurallyValid(); + } +}; + +USTRUCT(BlueprintType) +struct FHyperTwistTrainingSharedAssetRefreshPattern +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString PatternId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Title; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString Summary; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString ScriptPath; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RefreshInputTags; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray VerificationSteps; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ExplicitExclusions; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FHyperTwistTrainingSourceAttribution SourceAttribution; + + bool IsStructurallyValid() const + { + return !PatternId.IsEmpty() && !Title.IsEmpty() && !ScriptPath.IsEmpty() + && SourceAttribution.IsStructurallyValid(); + } +}; + +USTRUCT(BlueprintType) +struct FHyperTwistTrainingSharedAssetReferenceBundle +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString ReferenceUtc; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString PrimaryQaPackContractId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString PrimaryProvenanceBoundaryId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + FString PrimaryRefreshPatternId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray FixtureReferences; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray QaPackContracts; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray ProvenanceBoundaries; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") + TArray RefreshPatterns; + + bool IsStructurallyValid() const + { + return !PrimaryQaPackContractId.IsEmpty() && !PrimaryProvenanceBoundaryId.IsEmpty() + && !PrimaryRefreshPatternId.IsEmpty() && FixtureReferences.Num() > 0; + } +}; + +UCLASS() +class UNREALHYPERTWIST_API UHyperTwistTrainingSharedAssetLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|SharedAssets") + static FHyperTwistTrainingSharedAssetReferenceBundle BuildBundledSharedAssetReferenceBundle(); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetFixtureReferenceById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& FixtureId, + FHyperTwistTrainingSharedAssetFixtureReference& OutReference + ); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetQaPackContractById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& ContractId, + FHyperTwistTrainingSharedAssetQaPackContract& OutContract + ); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetProvenanceBoundaryById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& BoundaryId, + FHyperTwistTrainingSharedAssetProvenanceBoundary& OutBoundary + ); + + UFUNCTION(BlueprintCallable, Category = "HyperTwist|Training|SharedAssets") + static bool TryGetRefreshPatternById( + const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle, + const FString& PatternId, + FHyperTwistTrainingSharedAssetRefreshPattern& OutPattern + ); + + UFUNCTION(BlueprintPure, Category = "HyperTwist|Training|SharedAssets") + static FString BuildFixtureChecklistTsv(const FHyperTwistTrainingSharedAssetReferenceBundle& Bundle); +}; diff --git a/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md b/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md index 29c101d..b582ac2 100644 --- a/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md +++ b/docs/HT_REPO_INCORPORATION_AUDIT_2026-05-11.md @@ -48,6 +48,11 @@ Important correction added on `2026-05-13`: - `cutelyaware/magiccube4d` is now a currently verified live boundary-sensitive lane through `Phase 4R-B`. - it is live through first-party Unreal legacy `4D` contract code plus bundled reference-target materialization rather than through the direct training-deck bundle path used by the earlier five permissive donor lanes in this audit. +Important correction added on `2026-05-13`: + +- `google/model-viewer/packages/shared-assets` is now a currently verified live boundary-sensitive lane through `Phase 4R-C`. +- it is live through first-party Unreal shared-assets allowlist, provenance-boundary, fixture-refresh contract code, and bundled reference-target materialization rather than through direct donor asset import into owned source. + ## Scope - Current repo set audited: the 71 `HyperTwist` rows in `docs/repo_portfolio_unified_source_audit_v6_3.csv`. @@ -120,6 +125,7 @@ These rows are now materially present in checked first-party Unreal source, even | `Hypercubers/hypercubing.xyz` | MIT | landed via `Phase 3R-B` | `HyperTwistTrainingKnowledgeLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json` | First-party taxonomy, notation glossary, progression contracts, software matrix, and leaderboard/report contracts now landed in first-party source and bundled reference targets | | `apache/echarts` | Apache-2.0 | landed via `Phase 3R-C` | `HyperTwistTrainingAnalyticsLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `apache-echarts-reference-pages.jsonl` | First-party analytics report bundle, TSV data-view export, live-timer reporting accessors, and bundled analytics reference-target surfaces now landed in first-party source and materialized reference outputs | | `google/model-viewer` | Apache-2.0 | landed via `Phase 3R-D` | `HyperTwistTrainingViewerLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `google-model-viewer-reference-pages.jsonl` | First-party browser viewer, compact editor, asset-validation, renderer-comparison, and docs-boundary reference surfaces now landed in first-party source and materialized reference outputs | +| `google/model-viewer/packages/shared-assets` | `Apache-2.0` container; mixed per-asset terms | landed via `Phase 4R-C` | `HyperTwistTrainingSharedAssetLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `google-model-viewer-shared-assets-reference-pages.jsonl` | First-party shared-assets allowlist, provenance-boundary, fixture-refresh, and bundled fixture/reference-target surfaces now landed in first-party source and materialized reference outputs without blanket donor asset shipping | | `met4citizen/TalkingHead` | MIT | landed via `Phase 3R-E` | `HyperTwistTrainingCompanionLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `met4citizen-talkinghead-reference-pages.jsonl` | First-party embodied companion narration, subtitle timing, viseme/lip-sync, avatar-only embed, gesture/mood, and vendor-boundary reference surfaces now landed in first-party source and materialized reference outputs | | `mrdoob/three.js` | MIT | landed via `Phase 3R-F` | `HyperTwistTrainingSpatialLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `browser-spatial-support-reference-pages.jsonl` | First-party browser scene, renderer, camera, render-loop, and WebXR support contracts now landed in first-party source and materialized reference outputs | | `pmndrs/react-three-fiber` | MIT | landed via `Phase 3R-F` | `HyperTwistTrainingSpatialLibrary.h/.cpp`; `HyperTwistTrainingRuntimeLibrary.h/.cpp`; `hypertwist-reference-incorporation-targets.json`; `hypertwist-catalog-materialization-summary.json`; `browser-spatial-support-reference-pages.jsonl` | First-party React-side browser renderer, createRoot/frameloop, store, and event-bridge contracts now landed in first-party source and materialized reference outputs | @@ -344,7 +350,7 @@ That does not make them legally cleared or deeply audited. It only means this pa ## Recommended next implementation slice -The next clean bounded move is to preserve the sixteen landed lanes as the current truth, keep the `onionhoney/roux-trainers` clean-room status explicit everywhere, keep the landed `cubing/cubing.js` `MPL` boundary explicit everywhere, keep the landed `cutelyaware/magiccube4d` attribution/provenance boundary explicit everywhere, and continue from the closed retained-set packet sequence with `Phase 4R-C` for `google/model-viewer/packages/shared-assets`, while leaving the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap. After that, do a second pass focused on the additional live non-71 surfaces (`SpeedCubeDB` and `CubingApp`) so the active training catalog has a complete provenance board before any further widening work resumes. +The next clean bounded move is to preserve the seventeen landed lanes as the current truth, keep the `onionhoney/roux-trainers` clean-room status explicit everywhere, keep the landed `cubing/cubing.js` `MPL` boundary explicit everywhere, keep the landed `cutelyaware/magiccube4d` attribution/provenance boundary explicit everywhere, keep the landed `google/model-viewer/packages/shared-assets` allowlist/provenance boundary explicit everywhere, and continue from the closed retained-set packet sequence with `Phase 4R-D` for `PostHog/posthog`, while leaving the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap. After that, do a second pass focused on the additional live non-71 surfaces (`SpeedCubeDB` and `CubingApp`) so the active training catalog has a complete provenance board before any further widening work resumes. For the readable all-rows follow-up board that pairs this audit with the reset schedule, use: diff --git a/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md b/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md index 76f866c..c3480de 100644 --- a/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md +++ b/docs/HYPERTWIST_CANONICAL_RESTART_RECONCILIATION_2026-05-12.md @@ -38,9 +38,9 @@ Current handling: The current reconciled HyperTwist truth is: - current curated HyperTwist shallow-eval set: `71` repos -- currently verified live in checked `UnrealHyperTwist` surfaces: `16` +- currently verified live in checked `UnrealHyperTwist` surfaces: `17` - currently verified live permissive lanes: `13` -- currently verified live boundary-sensitive lanes: `2` +- currently verified live boundary-sensitive lanes: `3` - currently verified live restrictive lanes: `1` The thirteen currently verified live permissive lanes are: @@ -59,10 +59,11 @@ The thirteen currently verified live permissive lanes are: - `poliva/cubedex` - `newyork-anthonyng/rubiks-cross-trainer` -The two currently verified live boundary-sensitive lanes are: +The three currently verified live boundary-sensitive lanes are: - `cubing/cubing.js` - `cutelyaware/magiccube4d` +- `google/model-viewer/packages/shared-assets` The one currently verified live restrictive lane is: @@ -75,7 +76,7 @@ That restrictive lane must be treated as: - preserved as the current clean-room precedent - not to be reopened as an unresolved direct-donor contamination event -The remaining `55` rows are not to be treated as already implemented. +The remaining `54` rows are not to be treated as already implemented. `Phase 0R` is now closed for that non-live set. @@ -160,14 +161,14 @@ Use the following only as lineage or historical context unless a restart doc exp The restart is not a mass revert. -It is a provenance and planning reset around the remaining `55` current non-live rows while preserving the sixteen already-landed lanes. +It is a provenance and planning reset around the remaining `54` current non-live rows while preserving the seventeen already-landed lanes. Required standing rules: -- preserve the sixteen landed lanes +- preserve the seventeen landed lanes - preserve `onionhoney/roux-trainers` as the only currently verified landed restrictive clean-room lane - do not collapse `selected`, `retained`, `integrate`, `repurpose`, or `donor bench` into `already implemented` -- do not widen new donor-shaped implementation from the remaining `55` current non-live rows until the closed packet sequence routes it +- do not widen new donor-shaped implementation from the remaining `54` current non-live rows until the closed packet sequence routes it - before implementing any retained repo, read the packet-level deep-source authority doc for that repo class if one exists ## 2026-05-12 packet-depth correction @@ -204,7 +205,7 @@ Practical implication: Goal: -- deeply evaluate the remaining `55` rows repo by repo +- deeply evaluate the remaining `54` rows repo by repo Required output per retained row: @@ -505,14 +506,14 @@ Result: - `pissang/claygl` and `pissang/clay-viewer` now form the retained optional `3R-G` alternative browser comparison lane - `cubing/cubing.js` is now the fifteenth live row overall and one live boundary-sensitive lane through the closed `Phase 4R-A` classic-cubing adapter packet - `cutelyaware/magiccube4d` is now the sixteenth live row overall and the second live boundary-sensitive lane through the closed `Phase 4R-B` attributed legacy `4D` adapter packet -- `google/model-viewer/packages/shared-assets` is retained only as a fixture and QA pack +- `google/model-viewer/packages/shared-assets` is now the seventeenth live row overall and the third live boundary-sensitive lane through the closed `Phase 4R-C` shared-assets allowlist packet - `PostHog/posthog`, `screenpipe/screenpipe`, and `remotion-dev/remotion` remain bounded sidecar, allowlist, or reference lanes rather than broad donor shells License-tracking boundary: - `docs/REPO_LICENSE_TRACKING.md` is the canonical repo-row legal and attribution ledger - `docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md` is policy-only and must not become a second repo-row legal ledger -- `docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md` is the source-backed preservation authority for the sixteen already-live rows +- `docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md` is the source-backed preservation authority for the seventeen already-live rows - `docs/HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` is the packet authority for the five core retained permissive rows once source extraction has already been read - `docs/HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` is the packet authority for the primary retained permissive support-plane rows once source extraction has already been read - `docs/HYPERTWIST_PHASE_2R_PACKET_2R_C_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` is the packet authority for the final residual permissive `0R-B` adjunct and alternative-support rows once source extraction has already been read @@ -526,7 +527,7 @@ License-tracking boundary: The next bounded move is: -1. preserve the sixteen landed rows as the current truth -2. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, `pmndrs/xr`, `cubing/cubing.js`, and `cutelyaware/magiccube4d` on preserve-and-enhance footing through their landed packets -3. open `Phase 4R-C` -4. widen `google/model-viewer/packages/shared-assets` as the retained fixture and QA-pack lane with per-asset allowlisting and shipping-boundary discipline, while keeping the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap +1. preserve the seventeen landed rows as the current truth +2. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, `pmndrs/xr`, `cubing/cubing.js`, `cutelyaware/magiccube4d`, and `google/model-viewer/packages/shared-assets` on preserve-and-enhance footing through their landed packets +3. open `Phase 4R-D` +4. widen `PostHog/posthog` as the retained telemetry, replay-diagnostic, and feature-governance boundary-sensitive lane with `ee/` excluded, while keeping the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap diff --git a/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md b/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md index d509cce..1849524 100644 --- a/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md +++ b/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md @@ -6,12 +6,12 @@ Created on `2026-05-13` This audit is `closed`. -It is the canonical source-backed preservation authority for the sixteen HyperTwist rows that are already live in checked first-party Unreal surfaces. +It is the canonical source-backed preservation authority for the seventeen HyperTwist rows that are already live in checked first-party Unreal surfaces. It closes the symmetry gap that remained after `Phase 0R` and `Phase 1R`: -- the `55` non-live rows already have source-backed authority through `Packet 0R-A` through `Packet 0R-E` -- the `16` live rows now have source-backed authority through this live-lane preservation audit +- the `54` non-live rows already have source-backed authority through `Packet 0R-A` through `Packet 0R-E` +- the `17` live rows now have source-backed authority through this live-lane preservation audit ## Purpose @@ -28,7 +28,7 @@ Use this document to answer the live-lane questions that the `0R-*` packets do n This document intentionally separates permissive, boundary-sensitive, and restrictive handling: - the thirteen permissive live lanes below are documented from donor mirror source plus first-party Unreal outputs -- the two live boundary-sensitive lanes, `cubing/cubing.js` and `cutelyaware/magiccube4d`, are documented from donor mirror source plus first-party Unreal outputs while preserving their explicit notice, attribution, and adapter/provenance boundaries +- the three live boundary-sensitive lanes, `cubing/cubing.js`, `cutelyaware/magiccube4d`, and `google/model-viewer/packages/shared-assets`, are documented from donor mirror source plus first-party Unreal outputs while preserving their explicit notice, attribution, and adapter/provenance boundaries - the one restrictive live lane, `onionhoney/roux-trainers`, is documented here only from first-party Unreal outputs, `REPO_LICENSE_TRACKING.md`, and scrubbed clean-room materials Do not use this document as permission for `Model B` to read the restrictive mirror. @@ -39,19 +39,19 @@ Current result: - current curated HyperTwist shallow-eval set: `71` - already covered by `0R-A` through `0R-E`: `55` current non-live rows -- covered by this audit: `16` live rows +- covered by this audit: `17` live rows - total rows with source-backed authority now visible in canonical docs: `71` - live permissive preserve lanes: `13` -- live boundary-sensitive preserve lanes: `2` +- live boundary-sensitive preserve lanes: `3` - live restrictive clean-room preserve lanes: `1` -- additional live rows discovered beyond the original six from the 2026-05-11 audit: `10` +- additional live rows discovered beyond the original six from the 2026-05-11 audit: `11` ## Authority order For future work on the already-live lanes, read in this order: 1. this live-lane audit -2. the relevant landed implementation packet where one exists, currently [HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md:1) for `Aarav2709/KubeTimr`, [HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md:1) for `Hypercubers/hypercubing.xyz`, [HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md:1) for `apache/echarts`, [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1) for `google/model-viewer`, [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) for `cubing/cubing.js`, [HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) for `cutelyaware/magiccube4d`, [HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md:1) for `met4citizen/TalkingHead`, and [HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md:1) for `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` +2. the relevant landed implementation packet where one exists, currently [HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_A_KUBETIMR_IMPLEMENTATION_2026-05-13.md:1) for `Aarav2709/KubeTimr`, [HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_B_HYPERCUBING_XYZ_IMPLEMENTATION_2026-05-13.md:1) for `Hypercubers/hypercubing.xyz`, [HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_C_ECHARTS_IMPLEMENTATION_2026-05-13.md:1) for `apache/echarts`, [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1) for `google/model-viewer`, [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) for `cubing/cubing.js`, [HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) for `cutelyaware/magiccube4d`, [HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md:1) for `google/model-viewer/packages/shared-assets`, [HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_E_TALKINGHEAD_IMPLEMENTATION_2026-05-13.md:1) for `met4citizen/TalkingHead`, and [HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md:1) for `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` 3. [HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md:1) 4. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) 5. [MODEL_B_SOURCE_ACCESS_BOUNDARY.md](C:/HyperTwist/docs/MODEL_B_SOURCE_ACCESS_BOUNDARY.md:1) for the `onionhoney/roux-trainers` lane @@ -63,7 +63,8 @@ For future work on the already-live lanes, read in this order: | `Aarav2709/KubeTimr` | `MIT` | landed timer, inspection, splits, persistence, and rolling-stats subsystem lane | the main landed permissive timer and timer-scoped replay preserve lane | general trainer-platform ownership, recognition ownership, or hyper-runtime ownership | | `Hypercubers/hypercubing.xyz` | `MIT` | landed taxonomy, notation, progression, software-reference, and leaderboard-contract lane | the main landed permissive hypercubing knowledge and community-reference preserve lane | runtime simulation, solver execution, recognition, or timer ownership | | `apache/echarts` | `Apache-2.0` | landed analytics, reporting, export, and progress-visualization lane | the main landed permissive analytics and report-contract preserve lane | gameplay/runtime ownership, generic BI shell ownership, or separate live-lane claims for `zrender` / `echarts-gl` | -| `google/model-viewer` | `Apache-2.0` | landed browser presentation, compact editor, and standards-aware asset-QA lane | the main landed permissive browser viewer and support-plane asset-QA preserve lane | gameplay/runtime ownership, donor docs/demo shell ownership, mixed-asset shipping from `shared-assets`, or separate live-lane claims for the subordinate package rows and Khronos sidecars | +| `google/model-viewer` | `Apache-2.0` | landed browser presentation, compact editor, and standards-aware asset-QA lane | the main landed permissive browser viewer and support-plane asset-QA preserve lane | gameplay/runtime ownership, donor docs/demo shell ownership, mixed-asset shipping outside the explicit `shared-assets` allowlist boundary, or separate live-lane claims for the subordinate package rows and Khronos sidecars | +| `google/model-viewer/packages/shared-assets` | `Apache-2.0` container with mixed per-asset terms | landed shared-asset allowlist, provenance-boundary, and fixture-refresh lane | the landed boundary-sensitive fixture, environment-lighting, documentation-example, and visual-QA preserve lane beneath `google/model-viewer` | blanket shipping of the full mixed-provenance bundle, gameplay/runtime ownership, or silent erasure of attribution, review-only, and local-only boundaries | | `cubing/cubing.js` | `MPL-2.0 OR GPL-3.0-or-later` | landed classic-cubing semantic, geometry, viewer-adapter, device-adapter, and search-contract lane | the main landed boundary-sensitive classic-cubing adapter preserve lane | private upstream fork posture, hyper-runtime replacement, donor Twizzle shell ownership, or a shortcut around future `twisty.js` clean-room discipline | | `cutelyaware/magiccube4d` | `custom permissive attribution-request license` | landed legacy `4D` history, macro, topology-reference, interaction, and provenance-boundary lane | the main landed boundary-sensitive legacy `4D` interaction/history preserve lane beneath the `Hyperspeedcube` anchor | runtime-anchor replacement, donor Swing shell ownership, or silent erasure of attribution, upstream-link, and `MyMath` provenance duties | | `mrdoob/three.js` | `MIT` | landed browser scene, renderer, camera, and controller-space substrate lane | the main landed permissive browser `3D` substrate preserve lane | gameplay/runtime ownership, browser-first product-shell ownership, or separate live-lane claims for subordinate helper packages | @@ -372,7 +373,7 @@ Licensing posture: - [LICENSE](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/LICENSE:1) - [LICENSE.md](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/LICENSE.md:1) - [LICENSE.md](C:/Workspaces/HyperTwist/mirrors/permissive/KhronosGroup/glTF-Sample-Viewer/glTF-Sample-Renderer/LICENSE.md:1) -- `google/model-viewer/packages/shared-assets` remains mixed-provenance and not widened by this live lane +- `google/model-viewer/packages/shared-assets` remains mixed-provenance and is widened separately through the landed `Phase 4R-C` allowlist packet rather than by `Phase 3R-D` itself Source surfaces inspected: @@ -413,7 +414,7 @@ Excluded or non-promotion boundary: - do not promote this lane into gameplay or runtime ownership - do not promote it into a generic browser or product shell -- do not treat `shared-assets` as a blanket shippable bundle +- do not treat `shared-assets` as a blanket shippable bundle outside the explicit `Phase 4R-C` allowlist and provenance boundary - do not treat the subordinate package rows or Khronos sidecars as separately landed lanes because this packet exists Rationale: @@ -427,6 +428,71 @@ Future widening rule: - preserve the Apache license text and normal `NOTICE` handling expectations in redistributed builds - read the landed [HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_D_MODEL_VIEWER_IMPLEMENTATION_2026-05-13.md:1) before treating this lane as an open donor candidate again +### `google/model-viewer/packages/shared-assets` + +Current status: + +- `implemented_live_boundary_sensitive` +- preserve as a landed first-party boundary-sensitive lane + +Licensing posture: + +- `Apache-2.0` package container with mixed per-asset terms +- checked local provenance and notice surfaces: + - [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/README.md:1) + - [ATTRIBUTIONS.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/ATTRIBUTIONS.md:1) + - [LICENSE](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/LICENSE:1) + - [scripts/fetch-khronos-gltf-samples.sh](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/scripts/fetch-khronos-gltf-samples.sh:1) +- the package container license does not override the asset-level terms called out in `ATTRIBUTIONS.md` + +Source surfaces inspected: + +- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/README.md:1) +- [ATTRIBUTIONS.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/ATTRIBUTIONS.md:1) +- [scripts/fetch-khronos-gltf-samples.sh](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/scripts/fetch-khronos-gltf-samples.sh:1) +- [RobotExpressive.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/RobotExpressive.glb:1) +- [BarramundiFish.mixed.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/BarramundiFish.mixed.glb:1) +- [Astronaut.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/Astronaut.glb:1) +- [NeilArmstrong.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/NeilArmstrong.glb:1) +- [Horse.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/Horse.glb:1) +- [aircraft_workshop_01_1k.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/aircraft_workshop_01_1k.hdr:1) +- [music_hall_01_1k.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/music_hall_01_1k.hdr:1) +- [spruit_sunrise_1k_HDR.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/spruit_sunrise_1k_HDR.hdr:1) +- [whipple_creek_regional_park_04_1k.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/whipple_creek_regional_park_04_1k.hdr:1) +- [cube.gltf](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/cube.gltf:1) +- [Triangle.gltf](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/Triangle.gltf:1) + +First-party live evidence: + +- [HyperTwistTrainingSharedAssetLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h:1) +- [HyperTwistTrainingSharedAssetLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.cpp:1) +- [HyperTwistTrainingRuntimeLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h:1) +- [HyperTwistTrainingRuntimeLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp:1) +- [hypertwist-reference-incorporation-targets.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json:1) +- [hypertwist-catalog-materialization-summary.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json:1) +- [google-model-viewer-shared-assets-reference-pages.jsonl](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl:1) + +Preserved landed value: + +- explicit per-asset fixture-family curation for browser QA and documentation-example use +- explicit CC0 environment-fixture matrices for lighting parity and capture regression +- explicit notice-bound, review-only, and local-only fixture splits +- explicit provenance and attribution review duties surfaced from `ATTRIBUTIONS.md` +- explicit fixture refresh and attribution-recheck discipline beneath the landed `google/model-viewer` lane + +Excluded or non-promotion boundary: + +- do not promote this lane into blanket mixed-asset shipping +- do not promote it into gameplay/runtime ownership +- do not erase attribution, review-only, or local-only boundaries +- do not treat the package container license as decisive for every fixture + +Future widening rule: + +- widen only through ordinary first-party enhancement work inside the explicit allowlist and provenance boundary +- preserve the package-level Apache materials plus the asset-level provenance duties in `REPO_LICENSE_TRACKING.md` +- read the landed [HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md:1) before treating this lane as an open donor candidate again + ### `cubing/cubing.js` Current status: diff --git a/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md b/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md index e927328..df43606 100644 --- a/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md +++ b/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md @@ -68,21 +68,21 @@ Document responsibilities are now strict: Current post-`Phase 1R` truth: - curated HyperTwist shallow-eval set: `71` -- currently verified live in checked Unreal surfaces: `16` +- currently verified live in checked Unreal surfaces: `17` - rows with source-backed authority now visible in canonical docs: `71` - retained rows total: `68` - discarded from the active retained set: `3` Retained split: -- landed/live preserve lanes: `16` -- non-live active implementation-board rows: `43` +- landed/live preserve lanes: `17` +- non-live active implementation-board rows: `42` - non-live benchmark, oracle, or clean-room-later rows outside the active implementation board: `9` The `43` non-live active implementation-board rows break down as: - straight permissive implementation candidates: `35` -- boundary-sensitive adapter or sidecar candidates: `4` +- boundary-sensitive adapter or sidecar candidates: `3` - restrictive clean-room-only candidates: `4` ## Contract classes @@ -90,10 +90,10 @@ The `43` non-live active implementation-board rows break down as: | Class | Count | Earliest next phase | Meaning | | --- | --- | --- | --- | | `landed_permissive_preserve` | `13` | ordinary first-party enhancement only | Already live. Preserve notices and attribution. Do not treat as speculative donor backlog. | -| `landed_boundary_sensitive_preserve` | `2` | ordinary first-party enhancement only with explicit notice discipline | Already live. Preserve the explicit notice, attribution, and adapter/provenance boundaries and do not turn them into silent donor-shell carryover. | +| `landed_boundary_sensitive_preserve` | `3` | ordinary first-party enhancement only with explicit notice discipline | Already live. Preserve the explicit notice, attribution, and adapter/provenance boundaries and do not turn them into silent donor-shell carryover. | | `landed_clean_room_preserve` | `1` | ordinary first-party enhancement only | Already live. Preserve the clean-room chain and work from first-party outputs, not the restrictive mirror. | | `phase3r_permissive_candidate` | `35` | `Phase 3R` | Retained for direct permissive implementation or bounded first-party adaptation. No clean-room lane is needed. | -| `phase4r_boundary_candidate` | `5` | `Phase 4R` | Retained only through explicit adapter, allowlist, sidecar, or notice-sensitive use. | +| `phase4r_boundary_candidate` | `4` | `Phase 4R` | Retained only through explicit adapter, allowlist, sidecar, or notice-sensitive use. | | `phase5r_clean_room_candidate` | `4` | `Phase 5R` | Retained only through refreshed Model A / Model B clean-room work. | | `benchmark_oracle_only` | `9` | outside the active implementation board | Retained only for validation, parity, oracle behavior, or a later explicitly reopened clean-room-later lane. | | `discarded_active_set` | `3` | none | Excluded from the retained implementation board. Do not schedule new work from these rows. | @@ -111,7 +111,7 @@ The `43` non-live active implementation-board rows break down as: ## Landed preserve lanes -These sixteen rows are the only currently verified live rows in checked Unreal surfaces. +These seventeen rows are the only currently verified live rows in checked Unreal surfaces. ### Landed permissive preserve @@ -140,14 +140,17 @@ Contract: - `cubing/cubing.js` — `MPL-2.0 OR GPL-3.0-or-later` - `cutelyaware/magiccube4d` — `custom permissive attribution-request license` +- `google/model-viewer/packages/shared-assets` — `Apache-2.0 container; mixed per-asset terms` Contract: - preserve as the landed first-party boundary-sensitive classic-cubing adapter lane - preserve as the landed first-party attributed legacy `4D` interaction, history, macro, topology-reference, and provenance-boundary lane beneath the `Hyperspeedcube` anchor +- preserve as the landed first-party shared-assets allowlist, provenance-boundary, and fixture-refresh lane beneath `google/model-viewer` - preserve the explicit `MPL` notice and publication-duty boundary - preserve the explicit attribution, upstream-link, and provenance boundary for `cutelyaware/magiccube4d` -- read [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1), then [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) or [HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) as appropriate, then [HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md:1), before widening these lanes +- preserve the explicit per-asset allowlist, review-only, and local-only boundary for `google/model-viewer/packages/shared-assets` +- read [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1), then [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1), [HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md:1), or [HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md:1) as appropriate, then [HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md:1), before widening these lanes - do not treat either mirror as a silent private-fork or donor-shell surface ### Landed restrictive clean-room preserve @@ -252,7 +255,6 @@ Contract: ### Remaining `0R-C` boundary-sensitive set -> `Phase 4R` -- `google/model-viewer/packages/shared-assets` — fixture and QA pack only, with per-asset allowlisting - `PostHog/posthog` — bounded telemetry/replay/feature-governance donor with `ee/` excluded - `remotion-dev/remotion` — bounded commercial-sensitive media-export and explainer sidecar/reference lane - `screenpipe/screenpipe` — bounded capture/history/replay donor with `ee/` excluded @@ -347,11 +349,12 @@ Do not: ## Next move -`Phase 2R` is now closed, `Phase 3R-A` through `Phase 3R-F` are now also closed for the primary straight-permissive widening path, and `Phase 4R-A` plus `Phase 4R-B` are now closed for the first two boundary-sensitive live lanes. +`Phase 2R` is now closed, `Phase 3R-A` through `Phase 3R-F` are now also closed for the primary straight-permissive widening path, and `Phase 4R-A` through `Phase 4R-C` are now closed for the first three boundary-sensitive live lanes. -The next bounded move after those closures is `Phase 4R-C`: +The next bounded move after those closures is `Phase 4R-D`: - preserve the landed `cubing/cubing.js` lane through its live-lane audit and `Phase 4R-A` packet authority - preserve the landed `cutelyaware/magiccube4d` lane through its live-lane audit and `Phase 4R-B` packet authority -- widen `google/model-viewer/packages/shared-assets` as the retained fixture and QA-pack lane with explicit per-asset allowlisting and shipping-boundary discipline +- preserve the landed `google/model-viewer/packages/shared-assets` lane through its live-lane audit and `Phase 4R-C` packet authority +- widen `PostHog/posthog` as the retained telemetry, replay-diagnostic, and feature-governance boundary-sensitive lane with `ee/` excluded - keep the optional `Phase 3R-G` `pissang/claygl` and `pissang/clay-viewer` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap that requires it diff --git a/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md b/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md new file mode 100644 index 0000000..c172a35 --- /dev/null +++ b/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md @@ -0,0 +1,191 @@ +# HyperTwist Phase 4R Packet 4R-C shared-assets Allowlist Implementation + +Created on `2026-05-13` + +## Status + +`Phase 4R / Packet 4R-C` is now `closed`. + +This packet converts the retained boundary-sensitive `google/model-viewer/packages/shared-assets` row from a queued mixed-provenance fixture pack into a landed first-party HyperTwist shared-assets allowlist, provenance-boundary, and fixture-refresh lane. + +It does not reopen `Phase 0R`, `Phase 1R`, `Phase 2R`, `Phase 3R`, `Phase 4R-A`, or `Phase 4R-B`. + +Those earlier packets still own: + +- source-value extraction +- retained-set routing +- ownership and acceptance boundaries +- landed browser viewer and browser spatial owner decisions +- the landed classic-cubing and legacy `4D` boundary-sensitive preserve lanes + +This packet owns the next question instead: + +- what first-party shared-assets implementation actually landed +- how the mixed per-asset terms were converted into an explicit allowlist and shipping boundary +- which retained fixture value is now live +- what remains review-only, local-only, or excluded +- what validation was completed +- what the next bounded implementation move is after this landing + +## Authority order + +For future work on the shared-assets boundary-sensitive lane, read in this order: + +1. this packet for landed allowlist scope, provenance boundary result, and validation result +2. [HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md:1) for live-lane preserve posture +3. [HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md:1) for retained-set routing +4. [HYPERTWIST_PHASE_0R_PACKET_0R_C_EVALUATION_2026-05-12.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_0R_PACKET_0R_C_EVALUATION_2026-05-12.md:1) for source-value extraction and non-promotion rationale +5. [HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_MODEL_A_MAX_VALUE_EXTRACTION_MODUS_OPERANDI_2026-05-13.md:1) for the canonical interpretation rule that keeps future `Model A` boundary-sensitive extraction rich rather than shallow +6. [REPO_LICENSE_TRACKING.md](C:/HyperTwist/docs/REPO_LICENSE_TRACKING.md:1) for package-license, attribution, asset-term, and provenance obligations + +## Packet licensing snapshot + +Owner row widened by this packet: + +- `google/model-viewer/packages/shared-assets`: `Apache-2.0` container with mixed per-asset terms + +Checked local notice and provenance surfaces: + +- [README.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/README.md:1) +- [ATTRIBUTIONS.md](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/ATTRIBUTIONS.md:1) +- [LICENSE](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/LICENSE:1) +- [scripts/fetch-khronos-gltf-samples.sh](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/scripts/fetch-khronos-gltf-samples.sh:1) + +Representative fixture files checked: + +- [RobotExpressive.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/RobotExpressive.glb:1) +- [BarramundiFish.mixed.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/BarramundiFish.mixed.glb:1) +- [Astronaut.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/Astronaut.glb:1) +- [NeilArmstrong.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/NeilArmstrong.glb:1) +- [Horse.glb](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/Horse.glb:1) +- [aircraft_workshop_01_1k.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/aircraft_workshop_01_1k.hdr:1) +- [music_hall_01_1k.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/music_hall_01_1k.hdr:1) +- [spruit_sunrise_1k_HDR.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/spruit_sunrise_1k_HDR.hdr:1) +- [whipple_creek_regional_park_04_1k.hdr](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/whipple_creek_regional_park_04_1k.hdr:1) +- [cube.gltf](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/cube.gltf:1) +- [Triangle.gltf](C:/Workspaces/HyperTwist/mirrors/permissive/google/model-viewer/packages/shared-assets/Triangle.gltf:1) + +Boundary result: + +- no donor asset files were copied into first-party owned source in this packet +- no claim was made that the whole package is ship-eligible +- the landed surface is a first-party Unreal allowlist, provenance-boundary, and refresh-pattern ledger that makes the mixed asset terms explicit + +## Packet result + +`4R-C` lands the shared-assets row as: + +- `google/model-viewer/packages/shared-assets` -> `implemented_live_boundary_sensitive` + +Current portfolio effect: + +- curated HyperTwist shallow-eval set: `71` +- currently verified live in checked Unreal surfaces: `17` +- live permissive lanes: `13` +- live boundary-sensitive lanes: `3` +- live restrictive clean-room lanes: `1` +- active non-live implementation-board rows: `42` + +## First-party landing surfaces + +The landed first-party Unreal surfaces are: + +- [HyperTwistTrainingSharedAssetLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.h:1) +- [HyperTwistTrainingSharedAssetLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSharedAssetLibrary.cpp:1) +- [HyperTwistTrainingRuntimeLibrary.h](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h:1) +- [HyperTwistTrainingRuntimeLibrary.cpp](C:/HyperTwist/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp:1) +- [hypertwist-reference-incorporation-targets.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-reference-incorporation-targets.json:1) +- [hypertwist-catalog-materialization-summary.json](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/hypertwist-catalog-materialization-summary.json:1) +- [google-model-viewer-shared-assets-reference-pages.jsonl](C:/HyperTwist/UnrealHyperTwist/Content/HyperTwistTraining/MaterializedCatalog/raw-extracts/google-model-viewer-shared-assets-reference-pages.jsonl:1) + +## Landed implementation scope + +What landed: + +- a first-party shared-assets fixture ledger covering: + - CC0 ship-eligible QA fixtures + - attribution-bound review fixtures + - Smithsonian review-only fixtures + - local-only noncommercial fixtures + - contributor-noted geometry smoke-test fixtures +- a first-party allowlist contract that records: + - required fixture families + - ship-eligible fixture ids + - review-required fixture ids + - local-only fixture ids + - approved workflow tags +- a first-party provenance and shipping boundary that records: + - allowed shipping fixtures + - notice-bound fixtures + - review-only fixtures + - excluded fixtures + - required notice actions + - provenance caveats +- a first-party refresh pattern that preserves the fixture-sync and attribution-recheck workflow without automatic allowlist widening +- first-party runtime-library accessors and TSV checklist export for the new shared-assets bundle +- bundled first-party reference targets and raw source-reference capture for the allowlist, CC0 environment matrix, provenance boundary, refresh pattern, and contributed-geometry smoke-test boundary + +What that means in practice: + +- `google/model-viewer/packages/shared-assets` now owns the landed boundary-sensitive fixture and QA-pack preserve lane in HyperTwist +- the landed surface is a first-party Unreal contract and runtime API, not a vague future donor note +- the practical path is explicit per-asset allowlisting rather than blanket mixed-asset shipping +- the landed `google/model-viewer` packet remains the primary browser viewer owner, while `shared-assets` now owns the explicit fixture/provenance sidecar beneath it + +## Preserved landed value + +The donor value that was actually promoted is: + +- explicit per-asset fixture family curation +- explicit CC0 environment-lighting matrices for browser parity and capture workflows +- explicit notice-bound versus review-only versus excluded asset splits +- explicit provenance and attribution review rules carried forward from `ATTRIBUTIONS.md` +- explicit fixture refresh and attribution-recheck discipline +- explicit geometry-smoke-test and parser-fixture value without turning contributor-noted assets into blanket shipping assumptions + +## Excluded or non-promotion boundary + +Do not promote this packet into: + +- a blanket license to ship the full `shared-assets` package +- silent inheritance of all mixed-provenance fixtures as product-owned assets +- gameplay or runtime ownership +- donor docs or example-shell ownership +- removal of asset-level attribution, review, or noncommercial boundaries + +Rationale: + +- the package is valuable because it concentrates sample-fixture, HDRI, and provenance coverage for browser QA +- its strongest value is explicit fixture selection and compliance discipline rather than ownership of a product asset program +- the right legal posture is an explicit allowlist and provenance boundary, not pretending the container license resolves the package + +## Acceptance markers satisfied + +The `0R-C` and `Phase 1R` retained-value markers for this lane are now satisfied in first-party Unreal surfaces: + +- a first-party fixture ledger exists for approved, review-required, local-only, and excluded fixture families +- a first-party allowlist contract exists for bounded fixture, documentation-example, and visual-QA use +- a first-party provenance and shipping boundary exists for notice, review, and exclusion duties +- a first-party refresh pattern exists for fixture sync and attribution rechecks +- bundled first-party reference targets exist for the allowlist, environment-fixture matrix, provenance boundary, refresh pattern, and contributed-geometry smoke-test boundary + +## Validation + +Validation completed for this packet: + +- `git diff --check` passed apart from CRLF conversion warnings +- JSON validation passed for the updated materialized-catalog files and workspace manifest +- CSV import validation passed for the four canonical v6.3 ledgers +- Unreal build succeeded with: + - `C:\Program Files\Epic Games\UE_5.7\Engine\Build\BatchFiles\Build.bat UnrealHyperTwistEditor Win64 Development C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.uproject -WaitMutex -NoHotReloadFromIDE` + +Build result: + +- `Succeeded` on `2026-05-13` + +## Next move + +The next bounded move is `Phase 4R-D`: + +- widen `PostHog/posthog` as the retained boundary-sensitive telemetry, replay-diagnostic, and feature-governance lane with `ee/` excluded +- keep the optional `Phase 3R-G` `pissang/claygl` and `pissang/clay-viewer` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap diff --git a/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md b/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md index dc109c0..8642d14 100644 --- a/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md +++ b/docs/HYPERTWIST_REPO_EVALUATION_RESET_AND_IMPLEMENTATION_SCHEDULE_2026-05-11.md @@ -527,22 +527,22 @@ Current curated HyperTwist shallow-eval set: Current verified live implementation state in checked `UnrealHyperTwist` source and materialized training surfaces: -- `16` repos are implemented/live +- `17` repos are implemented/live - `13` of those are permissive `MIT` or `Apache-2.0` lanes -- `2` of those are boundary-sensitive lanes +- `3` of those are boundary-sensitive lanes - `1` of those is a restrictive repo that was properly clean-roomed and then implemented Current 2026-05-11 repo-row reset counts: - `implemented_live_permissive`: `13` -- `implemented_live_boundary_sensitive`: `2` +- `implemented_live_boundary_sensitive`: `3` - `implemented_live_clean_room_verified`: `1` - `selected_not_live_permissive_candidate`: `35` -- `selected_not_live_boundary_sensitive`: `4` +- `selected_not_live_boundary_sensitive`: `3` - `selected_not_live_clean_room_candidate`: `4` - `not_live_reference_or_discard_candidate`: `12` -### The sixteen currently implemented/live repos +### The seventeen currently implemented/live repos Permissive `MIT` or `Apache-2.0` lanes already implemented/live: @@ -568,6 +568,7 @@ Boundary-sensitive lanes already implemented/live: - `cubing/cubing.js` - `cutelyaware/magiccube4d` +- `google/model-viewer/packages/shared-assets` ### What this means @@ -613,17 +614,17 @@ At the moment, only one HyperTwist repo should be described this way: HyperTwist should now proceed from the following rule: -- preserve the sixteen live lanes +- preserve the seventeen live lanes - do not reopen the `onionhoney/roux-trainers` lane as if it were an unresolved accidental donor import -- do not treat the remaining `55` current non-live rows as already implemented +- do not treat the remaining `54` current non-live rows as already implemented - keep `Phase 0R`, `Phase 1R`, and `Phase 2R` closed as completed packet classes -- continue later-phase widening from the closed packet sequence, with `Phase 4R-C` as the next non-optional move and `Phase 3R-G` deferred unless a real browser comparison gap appears +- continue later-phase widening from the closed packet sequence, with `Phase 4R-D` as the next non-optional move and `Phase 3R-G` deferred unless a real browser comparison gap appears In practical terms: -- no, do **not** mass-revert the sixteen landed lanes -- no, do **not** pretend the remaining `55` current non-live rows are already implemented -- yes, preserve the landed `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, `pmndrs/xr`, `cubing/cubing.js`, and `cutelyaware/magiccube4d` lanes as normal first-party enhancement surfaces within their packet-specific legal boundaries +- no, do **not** mass-revert the seventeen landed lanes +- no, do **not** pretend the remaining `54` current non-live rows are already implemented +- yes, preserve the landed `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `mrdoob/three.js`, `pmndrs/react-three-fiber`, `pmndrs/xr`, `cubing/cubing.js`, `cutelyaware/magiccube4d`, and `google/model-viewer/packages/shared-assets` lanes as normal first-party enhancement surfaces within their packet-specific legal boundaries - yes, widen the next retained lane only through its closed packet stack and packet-specific legal boundary ## Phase reset sequence @@ -989,9 +990,9 @@ Only after that: The clean practical sequence is: -1. preserve the sixteen landed lanes +1. preserve the seventeen landed lanes 2. make the current truth explicit everywhere -3. deep-evaluate the remaining `55` +3. deep-evaluate the remaining `54` 4. discard what should not survive 5. re-schedule what remains by permissive, boundary-sensitive, clean-room, and benchmark lanes 6. resume later-phase widening from that corrected retained set @@ -1010,7 +1011,8 @@ Current status: - `Phase 3R-F` is now also complete - `Phase 4R-A` is now also complete - `Phase 4R-B` is now also complete -- the next bounded move is `Phase 4R-C` for `google/model-viewer/packages/shared-assets`, with the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap +- `Phase 4R-C` is now also complete +- the next bounded move is `Phase 4R-D` for `PostHog/posthog`, with the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap ## Companion docs diff --git a/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md b/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md index d0bdc82..628daef 100644 --- a/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md +++ b/docs/HYPERTWIST_REPO_STATE_BOARD_2026-05-11.md @@ -7,15 +7,15 @@ This board is the readable row-by-row companion to the v6.3 CSVs. It is derived ## Canonical summary - Current curated HyperTwist shallow-eval set: `71` repos -- Currently verified live in checked `UnrealHyperTwist` surfaces: `16` repos +- Currently verified live in checked `UnrealHyperTwist` surfaces: `17` repos - Live permissive lanes: `13` -- Live boundary-sensitive lanes: `2` +- Live boundary-sensitive lanes: `3` - Live restrictive clean-room lanes: `1` - Remaining rows requiring `Phase 0R` deep repo evaluation: `0` ## 2026-05-13 packet and contract overlay -The baseline live-state counts above now include the landed `Phase 3R-C` analytics lane, the landed `Phase 3R-D` browser viewer lane, the landed `Phase 3R-E` embodied companion lane, the landed `Phase 3R-F` browser spatial owner stack, the landed `Phase 4R-A` classic-cubing boundary-sensitive adapter lane, and the landed `Phase 4R-B` attributed legacy `4D` boundary-sensitive lane, while `Phase 0R` and `Phase 1R` remain closed. +The baseline live-state counts above now include the landed `Phase 3R-C` analytics lane, the landed `Phase 3R-D` browser viewer lane, the landed `Phase 3R-E` embodied companion lane, the landed `Phase 3R-F` browser spatial owner stack, the landed `Phase 4R-A` classic-cubing boundary-sensitive adapter lane, the landed `Phase 4R-B` attributed legacy `4D` boundary-sensitive lane, and the landed `Phase 4R-C` shared-assets allowlist lane, while `Phase 0R` and `Phase 1R` remain closed. Read together with: @@ -37,6 +37,7 @@ Read together with: - [HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md:1) - [HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) - [HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md:1) +- [HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md](C:/HyperTwist/docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md:1) That overlay closes evaluation for: @@ -56,7 +57,7 @@ Important authority correction: - `Packet 0R-C` is now the deep-source value-extraction and exclusion-rationale authority for its six boundary-sensitive repos - `Packet 0R-D` is now the governance and Model A authority for its four restrictive clean-room repos - `Packet 0R-E` is now the deep-source benchmark, reference, clean-room-later, and discard authority for its twelve rows -- the live-lane preservation audit is now the source-backed authority for the sixteen already-landed rows +- the live-lane preservation audit is now the source-backed authority for the seventeen already-landed rows - `Phase 1R` is now the retained-set contract and handoff authority for all post-`Phase 0R` routing - `Phase 2R-A` is now the core ownership and acceptance authority for the five retained core permissive rows - `Phase 2R-B` is now the support-plane ownership and acceptance authority for the primary retained permissive support rows @@ -107,15 +108,15 @@ Packet overlay result: - the `0R-E` result split is: - `9` retained benchmark, oracle, or clean-room-later rows - `3` discarded active-set rows -- the next bounded move is `Phase 4R-C` +- the next bounded move is `Phase 4R-D` ## Count by live-state class - `implemented_live_permissive`: `13` -- `implemented_live_boundary_sensitive`: `2` +- `implemented_live_boundary_sensitive`: `3` - `implemented_live_clean_room_verified`: `1` - `selected_not_live_permissive_candidate`: `35` -- `selected_not_live_boundary_sensitive`: `4` +- `selected_not_live_boundary_sensitive`: `3` - `selected_not_live_clean_room_candidate`: `4` - `not_live_reference_or_discard_candidate`: `12` @@ -152,12 +153,13 @@ Count: `13` These are the currently verified live boundary-sensitive repos already implemented through explicit adapter, attribution, and provenance boundaries. -Count: `2` +Count: `3` | Repo | License | Prior bucket | Prior action | Current live state | Reset lane | Next step | | --- | --- | --- | --- | --- | --- | --- | | `cubing/cubing.js` | `MPL-2.0 OR GPL-3.0-or-later` | Locked Strategic Donor | `integrate` | `implemented_live_boundary_sensitive` | `landed_boundary_sensitive_preserve` | `Phase 4R-A` closed. Preserve as the landed first-party classic-cubing semantic/runtime adapter lane; start future widening from the live-lane audit, then `Phase 4R-A`, then `REPO_LICENSE_TRACKING.md`; keep the explicit `MPL` notice and publication-duty boundary visible. | | `cutelyaware/magiccube4d` | `Custom broad-use license with attribution requested` | Locked Strategic Donor | `repurpose` | `implemented_live_boundary_sensitive` | `landed_boundary_sensitive_preserve` | `Phase 4R-B` closed. Preserve as the landed first-party attributed legacy `4D` interaction, history, macro, topology-reference, and provenance-boundary lane; start future widening from the live-lane audit, then `Phase 4R-B`, then `REPO_LICENSE_TRACKING.md`; keep the explicit attribution, upstream-link, and `MyMath` provenance duties visible. | +| `google/model-viewer/packages/shared-assets` | `Apache-2.0 container; mixed per-asset terms` | Donor Bench | `repurpose` | `implemented_live_boundary_sensitive` | `landed_boundary_sensitive_preserve` | `Phase 4R-C` closed. Preserve as the landed first-party shared-assets allowlist, provenance-boundary, and fixture-refresh lane; start future widening from the live-lane audit, then `Phase 4R-C`, then `REPO_LICENSE_TRACKING.md`; keep the explicit per-asset allowlist, review-only, and local-only boundaries visible. | ## Landed Restrictive Clean-Room Lane @@ -217,11 +219,10 @@ Count: `35` These rows are not currently proven live and have now cleared `Phase 0R` deep evaluation. `Phase 1R` places them on the active implementation board with earliest re-entry through `Phase 4R`. -Count: `4` +Count: `3` | Repo | License | Prior bucket | Prior action | Current live state | Reset lane | Next step | | --- | --- | --- | --- | --- | --- | --- | -| `google/model-viewer/packages/shared-assets` | `Apache-2.0 container; mixed per-asset terms` | Donor Bench | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain only as a local fixture and QA pack with per-asset allowlisting before any shipping use. | | `PostHog/posthog` | `MIT outside ee/; enterprise-restricted in ee/` | Donor Bench | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain only as a bounded telemetry, replay-diagnostic, and feature-governance donor; keep `ee/` excluded and use MIT-path allowlists or selective first-party reimplementation. | | `remotion-dev/remotion` | `Custom two-tier commercial license` | Donor Bench | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain only as a commercially sensitive media-export and explainer sidecar/reference lane after an explicit package-level license decision. | | `screenpipe/screenpipe` | `MIT OR Apache-2.0 core; enterprise-restricted ee/` | Donor Bench | `repurpose` | `selected_not_live_boundary_sensitive` | `phase0r_boundary_sensitive_eval_then_adapter_or_sidecar` | `Packet 0R-C` closed. Retain only as a bounded capture/history/replay, deterministic permissions, and vault donor with `ee/` excluded and permissive-core use kept narrowly allowlisted. | @@ -264,7 +265,7 @@ Count: `12` - Preserve the sixteen landed lanes as current truth. - Keep `onionhoney/roux-trainers` explicitly marked as the only currently verified restrictive clean-room lane already implemented. -- Keep `cubing/cubing.js` and `cutelyaware/magiccube4d` explicitly marked as the two currently verified live boundary-sensitive lanes. +- Keep `cubing/cubing.js`, `cutelyaware/magiccube4d`, and `google/model-viewer/packages/shared-assets` explicitly marked as the three currently verified live boundary-sensitive lanes. - `Phase 0R` is now fully closed for the remaining `55` non-live rows. - `Phase 1R` is now the routing authority for retained-set widening and benchmark exclusion. -- The next bounded move is `Phase 4R-C` for the retained `google/model-viewer/packages/shared-assets` fixture and QA-pack lane, while the optional `Phase 3R-G` browser comparison lane remains deferred unless the landed primary browser spatial stack exposes a real gap. +- The next bounded move is `Phase 4R-D` for the retained `PostHog/posthog` telemetry/replay-governance lane with `ee/` excluded, while the optional `Phase 3R-G` browser comparison lane remains deferred unless the landed primary browser spatial stack exposes a real gap. diff --git a/docs/REPO_LICENSE_TRACKING.md b/docs/REPO_LICENSE_TRACKING.md index f5323a2..811fd90 100644 --- a/docs/REPO_LICENSE_TRACKING.md +++ b/docs/REPO_LICENSE_TRACKING.md @@ -131,7 +131,8 @@ Current practical interpretation: - the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` widening packet now lives in `docs/HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md` - the landed `cubing/cubing.js` boundary-sensitive widening packet now lives in `docs/HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md` - the landed `cutelyaware/magiccube4d` boundary-sensitive widening packet now lives in `docs/HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md` -- the next bounded move is `Phase 4R-C` +- the landed `google/model-viewer/packages/shared-assets` boundary-sensitive widening packet now lives in `docs/HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md` +- the next bounded move is `Phase 4R-D` Companion docs: @@ -1848,6 +1849,14 @@ Approved working posture: - preserve Apache `NOTICE` expectations for the package container where applicable - review each asset individually before shipping anything derived from this pack in product builds - keep it subordinate to the `google/model-viewer` lane as a mixed-provenance sample-asset package rather than treating it as a normal donor or shippable asset source +- `Phase 4R-C` is now closed for this row +- the landed first-party result is an explicit shared-assets allowlist, provenance-boundary, and fixture-refresh lane rather than a blanket asset import +- the current shipping posture is: + - explicit CC0 ship-eligible QA fixtures + - explicit notice-bound review fixtures + - explicit Smithsonian review-only fixtures + - explicit local-only restricted fixtures + - explicit contributor-noted geometry smoke-test fixtures that still require per-asset review before shipping ### `mrdoob/three.js` diff --git a/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv b/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv index 9fc0aff..265f4cb 100644 --- a/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv +++ b/docs/repo_portfolio_unified_copyleft_strategy_matrix_v6_3.csv @@ -61,7 +61,7 @@ "google/model-viewer/packages/render-fidelity-tools","https://github.com/google/model-viewer/tree/main/packages/render-fidelity-tools","HyperTwist","Merge Bench","merge bench","integrate","moderate modification","Apache-2.0","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded QA and fidelity-testing donor.","high","notice-file-review","v6.3_markdown_backfill","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as the subordinate fidelity-oracle and regression sidecar beneath the landed google/model-viewer lane; do not treat it as separately live." "google/model-viewer/packages/model-viewer-effects","https://github.com/google/model-viewer/tree/main/packages/model-viewer-effects","HyperTwist","Merge Bench","merge bench","integrate","moderate modification","Apache-2.0","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded browser emphasis and effect donor beneath model-viewer.","high","notice-file-review","v6.3_markdown_backfill","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as a subordinate emphasis and effects package beneath the landed google/model-viewer lane; do not treat it as separately live." "google/model-viewer/packages/modelviewer.dev","https://github.com/google/model-viewer/tree/main/packages/modelviewer.dev","HyperTwist","Merge Bench","merge bench","integrate","moderate modification","Apache-2.0","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded docs and demo donor.","high","notice-file-review","v6.3_markdown_backfill","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as subordinate docs and demo infrastructure beneath the landed google/model-viewer lane; do not treat it as separately live or as a product-shell owner." -"google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","Donor Bench","donor bench","repurpose","architecture only","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","high","mixed-asset-whitelist-review","v6.3_markdown_backfill","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R fixture and QA pack only; allowlist each asset before any shipping use." +"google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","Donor Bench","donor bench","repurpose","architecture only","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","high","mixed-asset-whitelist-review","v6.3_markdown_backfill","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 4R-C closed. Preserve as the landed first-party shared-assets allowlist, provenance-boundary, and fixture-refresh lane; keep per-asset shipping allowlists plus review-only and local-only boundaries explicit." "pmndrs/react-postprocessing","https://github.com/pmndrs/react-postprocessing","HyperTwist","Merge Bench","merge bench","integrate","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded React wrapper layer above browser post-processing.","high","standard-notice-review","v6.3_markdown_backfill","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate React wrapper above pmndrs/postprocessing inside the landed browser spatial support stack; do not treat it as separately live." "pmndrs/three-stdlib","https://github.com/pmndrs/three-stdlib","HyperTwist","Merge Bench","merge bench","integrate","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded utility substrate beneath three.js-adjacent browser lanes.","high","standard-notice-review","v6.3_markdown_backfill","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate shared utility shelf beneath the landed browser spatial owner trio; do not treat it as separately live." "pmndrs/maath","https://github.com/pmndrs/maath","HyperTwist","Merge Bench","merge bench","integrate","moderate modification","MIT","known_from_reference_material","uploaded_reference_docs","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded math-helper substrate.","high","standard-notice-review","v6.3_markdown_backfill","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate math-helper layer inside the landed browser spatial support stack; do not treat it as separately live." diff --git a/docs/repo_portfolio_unified_operational_v6_3.csv b/docs/repo_portfolio_unified_operational_v6_3.csv index ae5ab1c..bcff3f4 100644 --- a/docs/repo_portfolio_unified_operational_v6_3.csv +++ b/docs/repo_portfolio_unified_operational_v6_3.csv @@ -61,7 +61,7 @@ "","google/model-viewer/packages/render-fidelity-tools","https://github.com/google/model-viewer/tree/main/packages/render-fidelity-tools","HyperTwist","","","","","analytics / visualization / reporting","subsystem donor","qa donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser visual-regression workflows, golden rendering, fidelity thresholds, and harness configuration behavior; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the test-fidelity and render-goldens workflows, renderer harness behavior, image-comparison worker, and artifact generation.","Inspect manifests, README/docs, workflow scripts, renderer harness, image comparison worker, and fidelity-testing utilities.","Audit google/model-viewer/packages/render-fidelity-tools as a Browser fidelity QA harness candidate for HyperTwist. Inspect the test-fidelity and render-goldens workflows, renderer harness behavior, image-comparison worker, and artifact generation. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0006","browser / QA / visual regression","Integrate selectively for HyperTwist. Its source-backed role is a bounded fidelity oracle and QA harness donor beneath model-viewer, not a runtime lane.","HyperTwist","browser / QA / visual regression","integrate","moderate modification","medium","google/model-viewer/packages/render-fidelity-tools","","","","","","","","","","","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 64-google-render-fidelity-tools-upstream-dossier.md","","","","Merge Bench","Browser fidelity QA harness","Included","P3","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded QA and fidelity-testing donor.","Use directly as a bounded browser-side QA dependency or concept donor for visual regression tooling.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 64-google-render-fidelity-tools-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as the subordinate fidelity-oracle and regression sidecar beneath the landed google/model-viewer lane; do not treat it as separately live." "","google/model-viewer/packages/model-viewer-effects","https://github.com/google/model-viewer/tree/main/packages/model-viewer-effects","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","effect donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser emphasis, outline and SSAO behavior, and effect-composer integration beneath browser model presentation; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the effect-composer integration, custom-element surface, outline effect, SSAO effect, and emphasis behavior.","Inspect manifests, README/docs, effect-composer integration, custom-element wrapper, outline and SSAO effects, and related extension code.","Audit google/model-viewer/packages/model-viewer-effects as a Browser emphasis and post-processing extension candidate for HyperTwist. Inspect the effect-composer integration, custom-element surface, outline effect, SSAO effect, and emphasis behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0007","browser / 3D / XR / presentation","Integrate selectively for HyperTwist. Its source-backed role is a bounded browser post-processing and emphasis donor beneath model-viewer, not a standalone product lane.","HyperTwist","browser / 3D / XR / presentation","integrate","moderate modification","medium","google/model-viewer/packages/model-viewer-effects","","","","","","","","","","","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 65-google-model-viewer-effects-upstream-dossier.md","","","","Merge Bench","Browser emphasis and post-processing extension","Included","P3","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded browser emphasis and effect donor beneath model-viewer.","Use directly as a bounded browser-side dependency or concept donor beneath browser model presentation.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 65-google-model-viewer-effects-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as a subordinate emphasis and effects package beneath the landed google/model-viewer lane; do not treat it as separately live." "","google/model-viewer/packages/modelviewer.dev","https://github.com/google/model-viewer/tree/main/packages/modelviewer.dev","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","docs donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for live docs and demo generation, snippet-to-demo coupling, and documentation information architecture; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the docs-and-examples flow, example-snippet behavior, sidebar generation, and HTML generation surfaces.","Inspect manifests, README/docs, docs-and-examples code, example-snippet component, sidebar builder, and HTML generation utilities.","Audit google/model-viewer/packages/modelviewer.dev as a Browser docs and demo surface candidate for HyperTwist. Inspect the docs-and-examples flow, example-snippet behavior, sidebar generation, and HTML generation surfaces. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0008","documentation / demos / examples","Integrate selectively for HyperTwist. Its source-backed role is a bounded docs and demo donor beneath model-viewer, not a runtime lane.","HyperTwist","documentation / demos / examples","integrate","moderate modification","medium","google/model-viewer/packages/modelviewer.dev","","","","","","","","","","","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 66-google-modelviewer-dev-upstream-dossier.md","","","","Merge Bench","Browser docs and demo surface","Included","P4","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded docs and demo donor.","Use directly as a bounded docs/demo dependency or concept donor for documentation surfaces.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 66-google-modelviewer-dev-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as subordinate docs and demo infrastructure beneath the landed google/model-viewer lane; do not treat it as separately live or as a product-shell owner." -"","google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","","","","","asset / fixture / sample pack","subsystem donor","fixture donor","donor bench","repurpose","architecture only","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for sample-model and environment-fixture selection, visual QA assets, and per-asset provenance handling; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior.","Inspect manifests, README/docs, LICENSE, ATTRIBUTIONS, fixture assets, and asset-fetch scripts. Verify container license versus per-asset terms.","Audit google/model-viewer/packages/shared-assets as a Browser sample-asset and fixture pack candidate for HyperTwist. Inspect the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0009","asset / fixture / sample pack","Integrate selectively for HyperTwist. Its source-backed role is a boundary-sensitive sample-asset and test-fixture pack with mixed per-asset terms, not a blanket shippable asset bundle.","HyperTwist","asset / fixture / sample pack","integrate","moderate modification","medium","google/model-viewer/packages/shared-assets","","","","","","","","","","","","","","","","","","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 67-google-shared-assets-upstream-dossier.md","","","","Donor Bench","Boundary-sensitive sample-asset and test-fixture pack","Included","P3","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","Whitelist individual acceptable assets only; do not assume the container license overrides per-asset terms.","Preserve container notices and review each selected asset attribution or usage condition separately before shipping.","Usually unnecessary; the main issue is per-asset provenance and selection, not code replacement.","high","mixed-asset-whitelist-review","no","","","","","","","","","","","","","v6.3_markdown_backfill","Corrected on 2026-04-25 from stale merge posture to dossier-backed boundary-sensitive fixture-pack status.","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R fixture and QA pack only; allowlist each asset before any shipping use." +"","google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","","","","","asset / fixture / sample pack","subsystem donor","fixture donor","donor bench","repurpose","architecture only","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for sample-model and environment-fixture selection, visual QA assets, and per-asset provenance handling; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior.","Inspect manifests, README/docs, LICENSE, ATTRIBUTIONS, fixture assets, and asset-fetch scripts. Verify container license versus per-asset terms.","Audit google/model-viewer/packages/shared-assets as a Browser sample-asset and fixture pack candidate for HyperTwist. Inspect the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0009","asset / fixture / sample pack","Integrate selectively for HyperTwist. Its source-backed role is a boundary-sensitive sample-asset and test-fixture pack with mixed per-asset terms, not a blanket shippable asset bundle.","HyperTwist","asset / fixture / sample pack","integrate","moderate modification","medium","google/model-viewer/packages/shared-assets","","","","","","","","","","","","","","","","","","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 67-google-shared-assets-upstream-dossier.md","","","","Donor Bench","Boundary-sensitive sample-asset and test-fixture pack","Included","P3","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","Whitelist individual acceptable assets only; do not assume the container license overrides per-asset terms.","Preserve container notices and review each selected asset attribution or usage condition separately before shipping.","Usually unnecessary; the main issue is per-asset provenance and selection, not code replacement.","high","mixed-asset-whitelist-review","no","","","","","","","","","","","","","v6.3_markdown_backfill","Corrected on 2026-04-25 from stale merge posture to dossier-backed boundary-sensitive fixture-pack status.","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 4R-C closed. Preserve as the landed first-party shared-assets allowlist, provenance-boundary, and fixture-refresh lane; keep per-asset shipping allowlists plus review-only and local-only boundaries explicit." "","pmndrs/react-postprocessing","https://github.com/pmndrs/react-postprocessing","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","dependency donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for React-side effect orchestration, selection-based emphasis behavior, and wrapper ergonomics above browser post-processing; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the React EffectComposer wrapper, Selection model, and integration assumptions on top of postprocessing and react-three-fiber.","Inspect manifests, README/docs, EffectComposer wrapper, Selection support, and the narrow React integration layer.","Audit pmndrs/react-postprocessing as a Browser React effect-wrapper layer candidate for HyperTwist. Inspect the React EffectComposer wrapper, Selection model, and integration assumptions on top of postprocessing and react-three-fiber. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0010","browser / 3D / XR / presentation","Integrate selectively for HyperTwist. Its source-backed role is a bounded React wrapper for the browser post-processing lane, not a standalone product lane.","HyperTwist","browser / 3D / XR / presentation","integrate","moderate modification","medium","pmndrs/react-postprocessing","","","","","","","","","","","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 70-pmndrs-react-postprocessing-upstream-dossier.md","","","","Merge Bench","Browser React effect-wrapper layer","Included","P4","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded React wrapper layer above browser post-processing.","Use directly as a bounded browser-side wrapper dependency above the core post-processing substrate.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 70-pmndrs-react-postprocessing-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate React wrapper above pmndrs/postprocessing inside the landed browser spatial support stack; do not treat it as separately live." "","pmndrs/three-stdlib","https://github.com/pmndrs/three-stdlib","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","dependency donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser-side utility helpers, controls, loaders, and XR-adjacent primitives beneath the browser companion stack; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the utility export surface, controls, loaders, WebXR helpers, post-processing helpers, and packaging of three/examples behavior.","Inspect manifests, README/docs, utility index, controls, WebXR helpers, loaders, and exported utility modules.","Audit pmndrs/three-stdlib as a Browser 3D utility substrate candidate for HyperTwist. Inspect the utility export surface, controls, loaders, WebXR helpers, post-processing helpers, and packaging of three/examples behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0011","browser / 3D / XR / presentation","Integrate selectively for HyperTwist. Its source-backed role is a lower-level browser utility substrate beneath three.js, drei, and XR-adjacent lanes, not a product lane.","HyperTwist","browser / 3D / XR / presentation","integrate","moderate modification","medium","pmndrs/three-stdlib","","","","","","","","","","","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 75-pmndrs-three-stdlib-upstream-dossier.md","","","","Merge Bench","Browser 3D utility substrate","Included","P4","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded utility substrate beneath three.js-adjacent browser lanes.","Use directly as a bounded browser-side utility dependency beneath higher-level viewer and XR layers.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 75-pmndrs-three-stdlib-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate shared utility shelf beneath the landed browser spatial owner trio; do not treat it as separately live." "","pmndrs/maath","https://github.com/pmndrs/maath","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","dependency donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser-side easing, damping, sampling, and geometry helper behavior beneath interactive surfaces; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the easing runtime, random helpers, geometry utilities, and three.js-oriented math surfaces.","Inspect manifests, README/docs, math package exports, easing, geometry, and random helper modules.","Audit pmndrs/maath as a Browser math-helper substrate candidate for HyperTwist. Inspect the easing runtime, random helpers, geometry utilities, and three.js-oriented math surfaces. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0012","browser / utilities / math","Integrate selectively for HyperTwist. Its source-backed role is a lower-level browser math-helper substrate beneath viewer and XR-adjacent lanes, not a product lane.","HyperTwist","browser / utilities / math","integrate","moderate modification","medium","pmndrs/maath","","","","","","","","","","","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 76-pmndrs-maath-upstream-dossier.md","","","","Merge Bench","Browser math-helper substrate","Included","P4","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded math-helper substrate.","Use directly as a bounded browser-side utility dependency beneath higher-level interactive layers.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 76-pmndrs-maath-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate math-helper layer inside the landed browser spatial support stack; do not treat it as separately live." diff --git a/docs/repo_portfolio_unified_phase_g_v6_3.csv b/docs/repo_portfolio_unified_phase_g_v6_3.csv index 446a0a2..e3f2980 100644 --- a/docs/repo_portfolio_unified_phase_g_v6_3.csv +++ b/docs/repo_portfolio_unified_phase_g_v6_3.csv @@ -61,7 +61,7 @@ "","google/model-viewer/packages/render-fidelity-tools","https://github.com/google/model-viewer/tree/main/packages/render-fidelity-tools","HyperTwist","","","","","analytics / visualization / reporting","subsystem donor","qa donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser visual-regression workflows, golden rendering, fidelity thresholds, and harness configuration behavior; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the test-fidelity and render-goldens workflows, renderer harness behavior, image-comparison worker, and artifact generation.","Inspect manifests, README/docs, workflow scripts, renderer harness, image comparison worker, and fidelity-testing utilities.","Audit google/model-viewer/packages/render-fidelity-tools as a Browser fidelity QA harness candidate for HyperTwist. Inspect the test-fidelity and render-goldens workflows, renderer harness behavior, image-comparison worker, and artifact generation. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0006","browser / QA / visual regression","Integrate selectively for HyperTwist. Its source-backed role is a bounded fidelity oracle and QA harness donor beneath model-viewer, not a runtime lane.","HyperTwist","browser / QA / visual regression","integrate","moderate modification","medium","google/model-viewer/packages/render-fidelity-tools","","Merge Bench","5.0","Useful merge bench candidate for HyperTwist, primarily in the 'Browser fidelity QA harness' lane; a bounded fidelity oracle and QA harness donor beneath model-viewer, not a runtime lane.","Browser fidelity QA harness","Included","P3","google/model-viewer/packages/render-fidelity-tools is placed in Merge Bench for HyperTwist because it provides a bounded fidelity oracle and QA harness donor beneath model-viewer, not a runtime lane. Recommended action remains integrate, but it should stay bounded to the Browser fidelity QA harness lane rather than reshape the core runtime.","","","","","","","google/model-viewer/packages/render-fidelity-tools","","","","","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 64-google-render-fidelity-tools-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded QA and fidelity-testing donor.","Use directly as a bounded browser-side QA dependency or concept donor for visual regression tooling.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 64-google-render-fidelity-tools-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as the subordinate fidelity-oracle and regression sidecar beneath the landed google/model-viewer lane; do not treat it as separately live." "","google/model-viewer/packages/model-viewer-effects","https://github.com/google/model-viewer/tree/main/packages/model-viewer-effects","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","effect donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser emphasis, outline and SSAO behavior, and effect-composer integration beneath browser model presentation; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the effect-composer integration, custom-element surface, outline effect, SSAO effect, and emphasis behavior.","Inspect manifests, README/docs, effect-composer integration, custom-element wrapper, outline and SSAO effects, and related extension code.","Audit google/model-viewer/packages/model-viewer-effects as a Browser emphasis and post-processing extension candidate for HyperTwist. Inspect the effect-composer integration, custom-element surface, outline effect, SSAO effect, and emphasis behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0007","browser / 3D / XR / presentation","Integrate selectively for HyperTwist. Its source-backed role is a bounded browser post-processing and emphasis donor beneath model-viewer, not a standalone product lane.","HyperTwist","browser / 3D / XR / presentation","integrate","moderate modification","medium","google/model-viewer/packages/model-viewer-effects","","Merge Bench","5.0","Useful merge bench candidate for HyperTwist, primarily in the 'Browser emphasis and post-processing extension' lane; a bounded browser post-processing and emphasis donor beneath model-viewer, not a standalone product lane.","Browser emphasis and post-processing extension","Included","P3","google/model-viewer/packages/model-viewer-effects is placed in Merge Bench for HyperTwist because it provides a bounded browser post-processing and emphasis donor beneath model-viewer, not a standalone product lane. Recommended action remains integrate, but it should stay bounded to the Browser emphasis and post-processing extension lane rather than reshape the core runtime.","","","","","","","google/model-viewer/packages/model-viewer-effects","","","","","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 65-google-model-viewer-effects-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded browser emphasis and effect donor beneath model-viewer.","Use directly as a bounded browser-side dependency or concept donor beneath browser model presentation.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 65-google-model-viewer-effects-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as a subordinate emphasis and effects package beneath the landed google/model-viewer lane; do not treat it as separately live." "","google/model-viewer/packages/modelviewer.dev","https://github.com/google/model-viewer/tree/main/packages/modelviewer.dev","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","docs donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for live docs and demo generation, snippet-to-demo coupling, and documentation information architecture; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the docs-and-examples flow, example-snippet behavior, sidebar generation, and HTML generation surfaces.","Inspect manifests, README/docs, docs-and-examples code, example-snippet component, sidebar builder, and HTML generation utilities.","Audit google/model-viewer/packages/modelviewer.dev as a Browser docs and demo surface candidate for HyperTwist. Inspect the docs-and-examples flow, example-snippet behavior, sidebar generation, and HTML generation surfaces. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0008","documentation / demos / examples","Integrate selectively for HyperTwist. Its source-backed role is a bounded docs and demo donor beneath model-viewer, not a runtime lane.","HyperTwist","documentation / demos / examples","integrate","moderate modification","medium","google/model-viewer/packages/modelviewer.dev","","Merge Bench","5.0","Useful merge bench candidate for HyperTwist, primarily in the 'Browser docs and demo surface' lane; a bounded docs and demo donor beneath model-viewer, not a runtime lane.","Browser docs and demo surface","Included","P4","google/model-viewer/packages/modelviewer.dev is placed in Merge Bench for HyperTwist because it provides a bounded docs and demo donor beneath model-viewer, not a runtime lane. Recommended action remains integrate, but it should stay bounded to the Browser docs and demo surface lane rather than reshape the core runtime.","","","","","","","google/model-viewer/packages/modelviewer.dev","","","","","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 66-google-modelviewer-dev-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded docs and demo donor.","Use directly as a bounded docs/demo dependency or concept donor for documentation surfaces.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 66-google-modelviewer-dev-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as subordinate docs and demo infrastructure beneath the landed google/model-viewer lane; do not treat it as separately live or as a product-shell owner." -"","google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","","","","","asset / fixture / sample pack","subsystem donor","fixture donor","donor bench","repurpose","architecture only","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for sample-model and environment-fixture selection, visual QA assets, and per-asset provenance handling; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior.","Inspect manifests, README/docs, LICENSE, ATTRIBUTIONS, fixture assets, and asset-fetch scripts. Verify container license versus per-asset terms.","Audit google/model-viewer/packages/shared-assets as a Browser sample-asset and fixture pack candidate for HyperTwist. Inspect the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0009","asset / fixture / sample pack","Integrate selectively for HyperTwist. Its source-backed role is a boundary-sensitive sample-asset and test-fixture pack with mixed per-asset terms, not a blanket shippable asset bundle.","HyperTwist","asset / fixture / sample pack","integrate","moderate modification","medium","google/model-viewer/packages/shared-assets","","Donor Bench","5.0","Mixed-provenance assets are still useful for fixtures and QA, but they should not sit in an active merge posture.","Boundary-sensitive sample-asset and test-fixture pack","Included","P3","Keep as a bounded fixture pack for local viewer tests, environment-lighting checks, and docs/examples, not as a normal code donor or blanket shippable asset source.","","","","","","","google/model-viewer/packages/shared-assets","","","","","","","","","","","","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 67-google-shared-assets-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","Whitelist individual acceptable assets only; do not assume the container license overrides per-asset terms.","Preserve container notices and review each selected asset attribution or usage condition separately before shipping.","Usually unnecessary; the main issue is per-asset provenance and selection, not code replacement.","high","mixed-asset-whitelist-review","no","","","","","","","","","","","","","v6.3_markdown_backfill","Corrected on 2026-04-25 from stale merge posture to dossier-backed boundary-sensitive fixture-pack status.","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R fixture and QA pack only; allowlist each asset before any shipping use." +"","google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","","","","","asset / fixture / sample pack","subsystem donor","fixture donor","donor bench","repurpose","architecture only","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for sample-model and environment-fixture selection, visual QA assets, and per-asset provenance handling; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior.","Inspect manifests, README/docs, LICENSE, ATTRIBUTIONS, fixture assets, and asset-fetch scripts. Verify container license versus per-asset terms.","Audit google/model-viewer/packages/shared-assets as a Browser sample-asset and fixture pack candidate for HyperTwist. Inspect the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0009","asset / fixture / sample pack","Integrate selectively for HyperTwist. Its source-backed role is a boundary-sensitive sample-asset and test-fixture pack with mixed per-asset terms, not a blanket shippable asset bundle.","HyperTwist","asset / fixture / sample pack","integrate","moderate modification","medium","google/model-viewer/packages/shared-assets","","Donor Bench","5.0","Mixed-provenance assets are still useful for fixtures and QA, but they should not sit in an active merge posture.","Boundary-sensitive sample-asset and test-fixture pack","Included","P3","Keep as a bounded fixture pack for local viewer tests, environment-lighting checks, and docs/examples, not as a normal code donor or blanket shippable asset source.","","","","","","","google/model-viewer/packages/shared-assets","","","","","","","","","","","","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 67-google-shared-assets-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","Whitelist individual acceptable assets only; do not assume the container license overrides per-asset terms.","Preserve container notices and review each selected asset attribution or usage condition separately before shipping.","Usually unnecessary; the main issue is per-asset provenance and selection, not code replacement.","high","mixed-asset-whitelist-review","no","","","","","","","","","","","","","v6.3_markdown_backfill","Corrected on 2026-04-25 from stale merge posture to dossier-backed boundary-sensitive fixture-pack status.","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 4R-C closed. Preserve as the landed first-party shared-assets allowlist, provenance-boundary, and fixture-refresh lane; keep per-asset shipping allowlists plus review-only and local-only boundaries explicit." "","pmndrs/react-postprocessing","https://github.com/pmndrs/react-postprocessing","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","dependency donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for React-side effect orchestration, selection-based emphasis behavior, and wrapper ergonomics above browser post-processing; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the React EffectComposer wrapper, Selection model, and integration assumptions on top of postprocessing and react-three-fiber.","Inspect manifests, README/docs, EffectComposer wrapper, Selection support, and the narrow React integration layer.","Audit pmndrs/react-postprocessing as a Browser React effect-wrapper layer candidate for HyperTwist. Inspect the React EffectComposer wrapper, Selection model, and integration assumptions on top of postprocessing and react-three-fiber. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0010","browser / 3D / XR / presentation","Integrate selectively for HyperTwist. Its source-backed role is a bounded React wrapper for the browser post-processing lane, not a standalone product lane.","HyperTwist","browser / 3D / XR / presentation","integrate","moderate modification","medium","pmndrs/react-postprocessing","","Merge Bench","5.0","Useful merge bench candidate for HyperTwist, primarily in the 'Browser React effect-wrapper layer' lane; a bounded React wrapper for the browser post-processing lane, not a standalone product lane.","Browser React effect-wrapper layer","Included","P4","pmndrs/react-postprocessing is placed in Merge Bench for HyperTwist because it provides a bounded React wrapper for the browser post-processing lane, not a standalone product lane. Recommended action remains integrate, but it should stay bounded to the Browser React effect-wrapper layer lane rather than reshape the core runtime.","","","","","","","pmndrs/react-postprocessing","","","","","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 70-pmndrs-react-postprocessing-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded React wrapper layer above browser post-processing.","Use directly as a bounded browser-side wrapper dependency above the core post-processing substrate.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 70-pmndrs-react-postprocessing-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate React wrapper above pmndrs/postprocessing inside the landed browser spatial support stack; do not treat it as separately live." "","pmndrs/three-stdlib","https://github.com/pmndrs/three-stdlib","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","dependency donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser-side utility helpers, controls, loaders, and XR-adjacent primitives beneath the browser companion stack; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the utility export surface, controls, loaders, WebXR helpers, post-processing helpers, and packaging of three/examples behavior.","Inspect manifests, README/docs, utility index, controls, WebXR helpers, loaders, and exported utility modules.","Audit pmndrs/three-stdlib as a Browser 3D utility substrate candidate for HyperTwist. Inspect the utility export surface, controls, loaders, WebXR helpers, post-processing helpers, and packaging of three/examples behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0011","browser / 3D / XR / presentation","Integrate selectively for HyperTwist. Its source-backed role is a lower-level browser utility substrate beneath three.js, drei, and XR-adjacent lanes, not a product lane.","HyperTwist","browser / 3D / XR / presentation","integrate","moderate modification","medium","pmndrs/three-stdlib","","Merge Bench","5.0","Useful merge bench candidate for HyperTwist, primarily in the 'Browser 3D utility substrate' lane; a lower-level browser utility substrate beneath three.js, drei, and XR-adjacent lanes, not a product lane.","Browser 3D utility substrate","Included","P4","pmndrs/three-stdlib is placed in Merge Bench for HyperTwist because it provides a lower-level browser utility substrate beneath three.js, drei, and XR-adjacent lanes, not a product lane. Recommended action remains integrate, but it should stay bounded to the Browser 3D utility substrate lane rather than reshape the core runtime.","","","","","","","pmndrs/three-stdlib","","","","","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 75-pmndrs-three-stdlib-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded utility substrate beneath three.js-adjacent browser lanes.","Use directly as a bounded browser-side utility dependency beneath higher-level viewer and XR layers.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 75-pmndrs-three-stdlib-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate shared utility shelf beneath the landed browser spatial owner trio; do not treat it as separately live." "","pmndrs/maath","https://github.com/pmndrs/maath","HyperTwist","","","","","interface / visualization / shell surface","subsystem donor","dependency donor","merge bench","integrate","moderate modification","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","","Integrate selected subsystems rather than the whole product. Mine the repo for browser-side easing, damping, sampling, and geometry helper behavior beneath interactive surfaces; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","the easing runtime, random helpers, geometry utilities, and three.js-oriented math surfaces.","Inspect manifests, README/docs, math package exports, easing, geometry, and random helper modules.","Audit pmndrs/maath as a Browser math-helper substrate candidate for HyperTwist. Inspect the easing runtime, random helpers, geometry utilities, and three.js-oriented math surfaces. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","","","","","","","","","","","","","","medium","Canonized Markdown dossier exists and the repo has been source-backed, but CSV backfill is later than the original v6.3 board generation.","medium","Source-backed dossier exists and the repo has been reconciled into the later Markdown authority stack.","","","","","","","","","","","","HT_browser_support","HT_browser_support_0012","browser / utilities / math","Integrate selectively for HyperTwist. Its source-backed role is a lower-level browser math-helper substrate beneath viewer and XR-adjacent lanes, not a product lane.","HyperTwist","browser / utilities / math","integrate","moderate modification","medium","pmndrs/maath","","Merge Bench","5.0","Useful merge bench candidate for HyperTwist, primarily in the 'Browser math-helper substrate' lane; a lower-level browser math-helper substrate beneath viewer and XR-adjacent lanes, not a product lane.","Browser math-helper substrate","Included","P4","pmndrs/maath is placed in Merge Bench for HyperTwist because it provides a lower-level browser math-helper substrate beneath viewer and XR-adjacent lanes, not a product lane. Recommended action remains integrate, but it should stay bounded to the Browser math-helper substrate lane rather than reshape the core runtime.","","","","","","","pmndrs/maath","","","","","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 76-pmndrs-maath-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded math-helper substrate.","Use directly as a bounded browser-side utility dependency beneath higher-level interactive layers.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 76-pmndrs-maath-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate math-helper layer inside the landed browser spatial support stack; do not treat it as separately live." diff --git a/docs/repo_portfolio_unified_source_audit_v6_3.csv b/docs/repo_portfolio_unified_source_audit_v6_3.csv index 04e5bb7..f0f923a 100644 --- a/docs/repo_portfolio_unified_source_audit_v6_3.csv +++ b/docs/repo_portfolio_unified_source_audit_v6_3.csv @@ -297,7 +297,7 @@ "google/model-viewer/packages/render-fidelity-tools","https://github.com/google/model-viewer/tree/main/packages/render-fidelity-tools","HyperTwist","Merge Bench","Browser fidelity QA harness","P3","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","integrate","moderate modification","Determine whether google/model-viewer/packages/render-fidelity-tools should remain active in the Browser fidelity QA harness lane and which seams should stay bounded.","golden rendering, fidelity workflows, harness configuration, image comparison worker","Inspect manifests, README/docs, workflow scripts, renderer harness, image comparison worker, and fidelity-testing utilities.","the test-fidelity and render-goldens workflows, renderer harness behavior, image-comparison worker, and artifact generation.","Integrate selected subsystems rather than the whole product. Mine the repo for browser visual-regression workflows, golden rendering, fidelity thresholds, and harness configuration behavior; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","google/model-viewer/packages/render-fidelity-tools is placed in Merge Bench for HyperTwist because it provides a bounded fidelity oracle and QA harness donor beneath model-viewer, not a runtime lane. Recommended action remains integrate, but it should stay bounded to the Browser fidelity QA harness lane rather than reshape the core runtime.","Useful merge bench candidate for HyperTwist, primarily in the 'Browser fidelity QA harness' lane; a bounded fidelity oracle and QA harness donor beneath model-viewer, not a runtime lane.","Audit google/model-viewer/packages/render-fidelity-tools as a Browser fidelity QA harness candidate for HyperTwist. Inspect the test-fidelity and render-goldens workflows, renderer harness behavior, image-comparison worker, and artifact generation. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0006","HT_browser_support","google/model-viewer/packages/render-fidelity-tools","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 64-google-render-fidelity-tools-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded QA and fidelity-testing donor.","Use directly as a bounded browser-side QA dependency or concept donor for visual regression tooling.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 64-google-render-fidelity-tools-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as the subordinate fidelity-oracle and regression sidecar beneath the landed google/model-viewer lane; do not treat it as separately live." "google/model-viewer/packages/model-viewer-effects","https://github.com/google/model-viewer/tree/main/packages/model-viewer-effects","HyperTwist","Merge Bench","Browser emphasis and post-processing extension","P3","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","integrate","moderate modification","Determine whether google/model-viewer/packages/model-viewer-effects should remain active in the Browser emphasis and post-processing extension lane and which seams should stay bounded.","effect composer integration, outline, SSAO, emphasis behavior, custom-element surface","Inspect manifests, README/docs, effect-composer integration, custom-element wrapper, outline and SSAO effects, and related extension code.","the effect-composer integration, custom-element surface, outline effect, SSAO effect, and emphasis behavior.","Integrate selected subsystems rather than the whole product. Mine the repo for browser emphasis, outline and SSAO behavior, and effect-composer integration beneath browser model presentation; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","google/model-viewer/packages/model-viewer-effects is placed in Merge Bench for HyperTwist because it provides a bounded browser post-processing and emphasis donor beneath model-viewer, not a standalone product lane. Recommended action remains integrate, but it should stay bounded to the Browser emphasis and post-processing extension lane rather than reshape the core runtime.","Useful merge bench candidate for HyperTwist, primarily in the 'Browser emphasis and post-processing extension' lane; a bounded browser post-processing and emphasis donor beneath model-viewer, not a standalone product lane.","Audit google/model-viewer/packages/model-viewer-effects as a Browser emphasis and post-processing extension candidate for HyperTwist. Inspect the effect-composer integration, custom-element surface, outline effect, SSAO effect, and emphasis behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0007","HT_browser_support","google/model-viewer/packages/model-viewer-effects","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 65-google-model-viewer-effects-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded browser emphasis and effect donor beneath model-viewer.","Use directly as a bounded browser-side dependency or concept donor beneath browser model presentation.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 65-google-model-viewer-effects-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as a subordinate emphasis and effects package beneath the landed google/model-viewer lane; do not treat it as separately live." "google/model-viewer/packages/modelviewer.dev","https://github.com/google/model-viewer/tree/main/packages/modelviewer.dev","HyperTwist","Merge Bench","Browser docs and demo surface","P4","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","integrate","moderate modification","Determine whether google/model-viewer/packages/modelviewer.dev should remain active in the Browser docs and demo surface lane and which seams should stay bounded.","live docs generation, snippet-to-demo coupling, sidebar and HTML generation","Inspect manifests, README/docs, docs-and-examples code, example-snippet component, sidebar builder, and HTML generation utilities.","the docs-and-examples flow, example-snippet behavior, sidebar generation, and HTML generation surfaces.","Integrate selected subsystems rather than the whole product. Mine the repo for live docs and demo generation, snippet-to-demo coupling, and documentation information architecture; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","google/model-viewer/packages/modelviewer.dev is placed in Merge Bench for HyperTwist because it provides a bounded docs and demo donor beneath model-viewer, not a runtime lane. Recommended action remains integrate, but it should stay bounded to the Browser docs and demo surface lane rather than reshape the core runtime.","Useful merge bench candidate for HyperTwist, primarily in the 'Browser docs and demo surface' lane; a bounded docs and demo donor beneath model-viewer, not a runtime lane.","Audit google/model-viewer/packages/modelviewer.dev as a Browser docs and demo surface candidate for HyperTwist. Inspect the docs-and-examples flow, example-snippet behavior, sidebar generation, and HTML generation surfaces. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0008","HT_browser_support","google/model-viewer/packages/modelviewer.dev","","","","","","","","Apache-2.0","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 66-google-modelviewer-dev-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is Apache-2.0 and direct use is allowed. Treat it as a bounded docs and demo donor.","Use directly as a bounded docs/demo dependency or concept donor for documentation surfaces.","Preserve LICENSE and NOTICE materials where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","notice-file-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 66-google-modelviewer-dev-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-D closed for the anchor. Retain as subordinate docs and demo infrastructure beneath the landed google/model-viewer lane; do not treat it as separately live or as a product-shell owner." -"google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","Donor Bench","Boundary-sensitive sample-asset and test-fixture pack","P3","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","repurpose","architecture only","Determine whether google/model-viewer/packages/shared-assets should remain active in the Browser sample-asset and fixture pack lane and which seams should stay bounded.","asset provenance, attribution terms, environment fixtures, sample models, fetch script behavior","Inspect manifests, README/docs, LICENSE, ATTRIBUTIONS, fixture assets, and asset-fetch scripts. Verify container license versus per-asset terms.","the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior.","Integrate selected subsystems rather than the whole product. Mine the repo for sample-model and environment-fixture selection, visual QA assets, and per-asset provenance handling; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","Keep as a bounded fixture pack for local viewer tests, environment-lighting checks, and docs/examples, not as a normal code donor or blanket shippable asset source.","Mixed-provenance assets are still useful for fixtures and QA, but they should not sit in an active merge posture.","Audit google/model-viewer/packages/shared-assets as a Browser sample-asset and fixture pack candidate for HyperTwist. Inspect the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0009","HT_browser_support","google/model-viewer/packages/shared-assets","","","","","","","","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 67-google-shared-assets-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","Whitelist individual acceptable assets only; do not assume the container license overrides per-asset terms.","Preserve container notices and review each selected asset attribution or usage condition separately before shipping.","Usually unnecessary; the main issue is per-asset provenance and selection, not code replacement.","high","mixed-asset-whitelist-review","no","","","","","","","","","","","","","v6.3_markdown_backfill","Corrected on 2026-04-25 from stale merge posture to dossier-backed boundary-sensitive fixture-pack status.","selected_not_live_boundary_sensitive","phase0r_boundary_sensitive_eval_then_adapter_or_sidecar","Phase 1R closed. Retain as a Phase 4R fixture and QA pack only; allowlist each asset before any shipping use." +"google/model-viewer/packages/shared-assets","https://github.com/google/model-viewer/tree/main/packages/shared-assets","HyperTwist","Donor Bench","Boundary-sensitive sample-asset and test-fixture pack","P3","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","repurpose","architecture only","Determine whether google/model-viewer/packages/shared-assets should remain active in the Browser sample-asset and fixture pack lane and which seams should stay bounded.","asset provenance, attribution terms, environment fixtures, sample models, fetch script behavior","Inspect manifests, README/docs, LICENSE, ATTRIBUTIONS, fixture assets, and asset-fetch scripts. Verify container license versus per-asset terms.","the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior.","Integrate selected subsystems rather than the whole product. Mine the repo for sample-model and environment-fixture selection, visual QA assets, and per-asset provenance handling; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","Keep as a bounded fixture pack for local viewer tests, environment-lighting checks, and docs/examples, not as a normal code donor or blanket shippable asset source.","Mixed-provenance assets are still useful for fixtures and QA, but they should not sit in an active merge posture.","Audit google/model-viewer/packages/shared-assets as a Browser sample-asset and fixture pack candidate for HyperTwist. Inspect the attribution file, mixed per-asset terms, sample-model and environment fixture role, and fetch-script behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0009","HT_browser_support","google/model-viewer/packages/shared-assets","","","","","","","","Apache-2.0 container; mixed per-asset terms","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 67-google-shared-assets-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","mixed_or_boundary_sensitive_known","bounded_sidecar_or_selective_reimplementation","The package container is Apache-2.0, but the actual payloads carry mixed per-asset terms. Treat it as a whitelisted fixture pack, not a blanket shippable asset source.","Whitelist individual acceptable assets only; do not assume the container license overrides per-asset terms.","Preserve container notices and review each selected asset attribution or usage condition separately before shipping.","Usually unnecessary; the main issue is per-asset provenance and selection, not code replacement.","high","mixed-asset-whitelist-review","no","","","","","","","","","","","","","v6.3_markdown_backfill","Corrected on 2026-04-25 from stale merge posture to dossier-backed boundary-sensitive fixture-pack status.","implemented_live_boundary_sensitive","landed_boundary_sensitive_preserve","Phase 4R-C closed. Preserve as the landed first-party shared-assets allowlist, provenance-boundary, and fixture-refresh lane; keep per-asset shipping allowlists plus review-only and local-only boundaries explicit." "pmndrs/react-postprocessing","https://github.com/pmndrs/react-postprocessing","HyperTwist","Merge Bench","Browser React effect-wrapper layer","P4","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","integrate","moderate modification","Determine whether pmndrs/react-postprocessing should remain active in the Browser React effect-wrapper layer lane and which seams should stay bounded.","React EffectComposer orchestration, selection model, wrapper ergonomics","Inspect manifests, README/docs, EffectComposer wrapper, Selection support, and the narrow React integration layer.","the React EffectComposer wrapper, Selection model, and integration assumptions on top of postprocessing and react-three-fiber.","Integrate selected subsystems rather than the whole product. Mine the repo for React-side effect orchestration, selection-based emphasis behavior, and wrapper ergonomics above browser post-processing; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","pmndrs/react-postprocessing is placed in Merge Bench for HyperTwist because it provides a bounded React wrapper for the browser post-processing lane, not a standalone product lane. Recommended action remains integrate, but it should stay bounded to the Browser React effect-wrapper layer lane rather than reshape the core runtime.","Useful merge bench candidate for HyperTwist, primarily in the 'Browser React effect-wrapper layer' lane; a bounded React wrapper for the browser post-processing lane, not a standalone product lane.","Audit pmndrs/react-postprocessing as a Browser React effect-wrapper layer candidate for HyperTwist. Inspect the React EffectComposer wrapper, Selection model, and integration assumptions on top of postprocessing and react-three-fiber. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0010","HT_browser_support","pmndrs/react-postprocessing","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 70-pmndrs-react-postprocessing-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded React wrapper layer above browser post-processing.","Use directly as a bounded browser-side wrapper dependency above the core post-processing substrate.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 70-pmndrs-react-postprocessing-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate React wrapper above pmndrs/postprocessing inside the landed browser spatial support stack; do not treat it as separately live." "pmndrs/three-stdlib","https://github.com/pmndrs/three-stdlib","HyperTwist","Merge Bench","Browser 3D utility substrate","P4","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","integrate","moderate modification","Determine whether pmndrs/three-stdlib should remain active in the Browser 3D utility substrate lane and which seams should stay bounded.","controls, loaders, WebXR helpers, post-processing helpers, utility exports","Inspect manifests, README/docs, utility index, controls, WebXR helpers, loaders, and exported utility modules.","the utility export surface, controls, loaders, WebXR helpers, post-processing helpers, and packaging of three/examples behavior.","Integrate selected subsystems rather than the whole product. Mine the repo for browser-side utility helpers, controls, loaders, and XR-adjacent primitives beneath the browser companion stack; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","pmndrs/three-stdlib is placed in Merge Bench for HyperTwist because it provides a lower-level browser utility substrate beneath three.js, drei, and XR-adjacent lanes, not a product lane. Recommended action remains integrate, but it should stay bounded to the Browser 3D utility substrate lane rather than reshape the core runtime.","Useful merge bench candidate for HyperTwist, primarily in the 'Browser 3D utility substrate' lane; a lower-level browser utility substrate beneath three.js, drei, and XR-adjacent lanes, not a product lane.","Audit pmndrs/three-stdlib as a Browser 3D utility substrate candidate for HyperTwist. Inspect the utility export surface, controls, loaders, WebXR helpers, post-processing helpers, and packaging of three/examples behavior. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0011","HT_browser_support","pmndrs/three-stdlib","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 75-pmndrs-three-stdlib-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded utility substrate beneath three.js-adjacent browser lanes.","Use directly as a bounded browser-side utility dependency beneath higher-level viewer and XR layers.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 75-pmndrs-three-stdlib-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate shared utility shelf beneath the landed browser spatial owner trio; do not treat it as separately live." "pmndrs/maath","https://github.com/pmndrs/maath","HyperTwist","Merge Bench","Browser math-helper substrate","P4","","","","","","medium","Retain the reusable internal layer, but replace shell assumptions and rebind boundaries so it plugs into HyperTwist cleanly.","integrate","moderate modification","Determine whether pmndrs/maath should remain active in the Browser math-helper substrate lane and which seams should stay bounded.","easing and damp functions, random helpers, geometry utilities","Inspect manifests, README/docs, math package exports, easing, geometry, and random helper modules.","the easing runtime, random helpers, geometry utilities, and three.js-oriented math surfaces.","Integrate selected subsystems rather than the whole product. Mine the repo for browser-side easing, damping, sampling, and geometry helper behavior beneath interactive surfaces; keep what materially shortens build time, but bind it to HyperTwist-owned data contracts, UI shell, and runtime boundaries.","","Integrate here means: merge bounded support surfaces from this repo into the HyperTwist companion stack.","","","","","","","","","","","","Upgrade if source reveals unusually reusable internal seams, clean adapters, robust tests, and direct leverage for HyperTwist companion surfaces.","Demote if retained value is mostly commodity glue, tightly bound to upstream shell assumptions, or clearly dominated by stronger neighboring repos.","Capability inventory + salvage targets + donor-tier verdict","1) Confirmed source-backed capabilities; 2) Best retained modules; 3) Boundaries to keep outside HyperTwist core; 4) Recommended dependency or merge posture; 5) Risks or licensing notes.","Primary: HT_browser_support cluster packet plus the repo-specific Markdown dossier. Optional: neighboring browser/support rows in the same cluster.","pmndrs/maath is placed in Merge Bench for HyperTwist because it provides a lower-level browser math-helper substrate beneath viewer and XR-adjacent lanes, not a product lane. Recommended action remains integrate, but it should stay bounded to the Browser math-helper substrate lane rather than reshape the core runtime.","Useful merge bench candidate for HyperTwist, primarily in the 'Browser math-helper substrate' lane; a lower-level browser math-helper substrate beneath viewer and XR-adjacent lanes, not a product lane.","Audit pmndrs/maath as a Browser math-helper substrate candidate for HyperTwist. Inspect the easing runtime, random helpers, geometry utilities, and three.js-oriented math surfaces. Decide whether the retained value should remain active and what should stay bounded outside the HyperTwist core.","HT_browser_support_0012","HT_browser_support","pmndrs/maath","","","","","","","","MIT","known_from_reference_material","uploaded_reference_docs","","","","","","","","","","Backfilled from canonized Markdown dossier pass on 2026-04-25: 76-pmndrs-maath-upstream-dossier.md","v6_unified_source_of_truth_pack","","","","permissive_or_noncopyleft_known","direct_incorporation_ok","The code license is MIT and direct use is allowed. Treat it as a bounded math-helper substrate.","Use directly as a bounded browser-side utility dependency beneath higher-level interactive layers.","Typically preserve notices, attribution, and license text where required.","Usually unnecessary unless later product-shaping concerns make selective replacement attractive.","high","standard-notice-review","yes","","","","","","","","","","","","","v6.3_markdown_backfill","Backfilled from canonized Markdown dossier pass on 2026-04-25: 76-pmndrs-maath-upstream-dossier.md","selected_not_live_permissive_candidate","phase0r_permissive_eval_then_implement","Phase 3R-F closed for the owner trio. Retain as the subordinate math-helper layer inside the landed browser spatial support stack; do not treat it as separately live." diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md b/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md index aa632a7..3eae489 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/AGENTS.md @@ -86,9 +86,9 @@ Canonical doctrine doc: For HyperTwist, keep this explicit: - current shallow-eval set: `71` repos -- currently verified live/implemented in checked Unreal surfaces: `16` +- currently verified live/implemented in checked Unreal surfaces: `17` - permissive live lanes: `13` -- boundary-sensitive live lanes: `2` +- boundary-sensitive live lanes: `3` - restrictive live lane: `1` - the restrictive landed lane is `onionhoney/roux-trainers`, and it is to be treated as properly clean-roomed and then implemented @@ -105,8 +105,8 @@ into: ## Reset rule -Before recommending new HyperTwist donor-shaped widening from the remaining `55` current non-live rows: +Before recommending new HyperTwist donor-shaped widening from the remaining `54` current non-live rows: - do not reopen the already closed `Phase 0R`, `Phase 1R`, or `Phase 2R` packets -- preserve the sixteen landed rows as current truth -- continue from the closed packet sequence, with `Phase 4R-C` as the next non-optional move and the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap +- preserve the seventeen landed rows as current truth +- continue from the closed packet sequence, with `Phase 4R-D` as the next non-optional move and the optional `Phase 3R-G` comparison lane deferred unless the landed primary browser spatial stack exposes a real gap diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md index c6a6f3e..49618b9 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md @@ -15,11 +15,11 @@ Do not reopen broad donor-driven widening as if the whole retained portfolio wer Current truth: -- `16` repos are currently verified live in checked Unreal surfaces +- `17` repos are currently verified live in checked Unreal surfaces - `13` are permissive `MIT` or `Apache-2.0` -- `2` are boundary-sensitive lanes: `cubing/cubing.js` through the practical `MPL` adapter path and `cutelyaware/magiccube4d` through the landed attribution/provenance boundary path +- `3` are boundary-sensitive lanes: `cubing/cubing.js` through the practical `MPL` adapter path, `cutelyaware/magiccube4d` through the landed attribution/provenance boundary path, and `google/model-viewer/packages/shared-assets` through the landed allowlist/provenance boundary path - `1` is the restrictive `onionhoney/roux-trainers` lane that is already properly clean-roomed and implemented -- `Phase 0R` is now closed for the remaining `55` non-live rows +- `Phase 0R` is now closed for the remaining `54` non-live rows - `Phase 1R` is now closed as the retained-set contract and handoff overhaul - `Phase 2R` is now closed as the retained-set ownership and acceptance packet sequence - `Phase 3R-A` is now closed as the landed `Aarav2709/KubeTimr` widening packet @@ -44,11 +44,12 @@ Canonical doctrine doc: Next sequence: 1. preserve the sixteen landed lanes +1. preserve the seventeen landed lanes 2. preserve the landed `cubing/cubing.js` boundary-sensitive adapter lane with its `MPL` notice posture explicit 3. preserve the landed `cutelyaware/magiccube4d` boundary-sensitive lane with its attribution, upstream-link, and provenance posture explicit 4. use the retained-set contract as the only legal/roadmap routing surface for non-live rows -5. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `cubing/cubing.js`, and `cutelyaware/magiccube4d` on preserve-and-enhance footing through their landed packets -6. continue broader widening from `Phase 4R-C`, with optional `Phase 3R-G` comparison work only if the landed primary browser spatial stack exposes a real gap +5. keep `Aarav2709/KubeTimr`, `Hypercubers/hypercubing.xyz`, `apache/echarts`, `google/model-viewer`, `met4citizen/TalkingHead`, `cubing/cubing.js`, `cutelyaware/magiccube4d`, and `google/model-viewer/packages/shared-assets` on preserve-and-enhance footing through their landed packets +6. continue broader widening from `Phase 4R-D`, with optional `Phase 3R-G` comparison work only if the landed primary browser spatial stack exposes a real gap ## Suggested repo structure diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md b/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md index 5a7b20a..7b0816c 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/LICENSETRACKING.md @@ -42,9 +42,9 @@ They still must point back to `C:\HyperTwist\docs\REPO_LICENSE_TRACKING.md` for At the moment, HyperTwist should be described this way: - current curated shallow-eval set: `71` repos -- currently verified live/implemented in checked Unreal surfaces: `16` +- currently verified live/implemented in checked Unreal surfaces: `17` - permissive live lanes: `13` -- boundary-sensitive live lanes: `2` +- boundary-sensitive live lanes: `3` - restrictive live lanes: `1` The thirteen permissive live lanes are: @@ -125,7 +125,7 @@ Current practical interpretation: - `Phase 2R-B` is now fully closed for the primary retained permissive support-plane rows in scope - `Phase 2R-C` is now fully closed for the final residual `0R-B` permissive rows - `Phase 2R` is now fully closed for the retained permissive set -- the sixteen already-live rows now have source-backed preservation authority in `C:\HyperTwist\docs\HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md` +- the seventeen already-live rows now have source-backed preservation authority in `C:\HyperTwist\docs\HYPERTWIST_LIVE_LANES_SOURCE_AND_PRESERVATION_AUDIT_2026-05-13.md` - the retained-set contract now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_1R_RETAINED_SET_CONTRACT_AND_HANDOFF_2026-05-13.md` - the core ownership and acceptance packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` - the support-plane ownership and acceptance packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_2R_PACKET_2R_B_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md` @@ -138,7 +138,8 @@ Current practical interpretation: - the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_3R_PACKET_3R_F_BROWSER_SPATIAL_SUPPORT_IMPLEMENTATION_2026-05-13.md` - the landed `cubing/cubing.js` boundary-sensitive widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_4R_PACKET_4R_A_CUBING_JS_ADAPTER_IMPLEMENTATION_2026-05-13.md` - the landed `cutelyaware/magiccube4d` boundary-sensitive widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_4R_PACKET_4R_B_MAGICCUBE4D_ADAPTER_IMPLEMENTATION_2026-05-13.md` -- the next bounded move is `Phase 4R-C` +- the landed `google/model-viewer/packages/shared-assets` boundary-sensitive widening packet now lives in `C:\HyperTwist\docs\HYPERTWIST_PHASE_4R_PACKET_4R_C_SHARED_ASSETS_ALLOWLIST_IMPLEMENTATION_2026-05-13.md` +- the next bounded move is `Phase 4R-D` Read together with: diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md b/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md index 5ba802e..a5018ef 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/ROADMAP.md @@ -5,9 +5,9 @@ Before widening new HyperTwist donor-driven implementation beyond the already landed lanes, preserve this current truth: - current shallow-eval set: `71` repos -- currently verified live/implemented in checked Unreal surfaces: `16` +- currently verified live/implemented in checked Unreal surfaces: `17` - permissive live lanes: `13` -- boundary-sensitive live lanes: `2` +- boundary-sensitive live lanes: `3` - restrictive live lane: `1` - the restrictive landed lane is `onionhoney/roux-trainers`, and it is to be treated as properly clean-roomed and then implemented - `Phase 0R` is now closed for the remaining `55` non-live rows @@ -21,15 +21,16 @@ Before widening new HyperTwist donor-driven implementation beyond the already la - `Phase 3R-F` is now closed as the landed `mrdoob/three.js`, `pmndrs/react-three-fiber`, and `pmndrs/xr` browser spatial support widening packet - `Phase 4R-A` is now closed as the landed `cubing/cubing.js` classic-cubing semantic/runtime adapter widening packet - `Phase 4R-B` is now closed as the landed `cutelyaware/magiccube4d` legacy `4D` interaction/history/macro/provenance widening packet +- `Phase 4R-C` is now closed as the landed `google/model-viewer/packages/shared-assets` fixture allowlist/provenance widening packet Current routing truth: - retained rows total: `68` - discarded from the active retained set: `3` -- active non-live implementation-board rows: `43` +- active non-live implementation-board rows: `42` - retained benchmark, oracle, or clean-room-later rows outside the active implementation board: `9` -The next bounded move is `Phase 4R-C`, with the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap. +The next bounded move is `Phase 4R-D`, with the optional `Phase 3R-G` browser comparison lane deferred unless the landed primary browser spatial stack exposes a real gap. ## Reset phases