← Commit history

Publish clean board component LODs and opt-in preview (2/2)

John Lauer ·720f709657 ·27d ago ·parent 442e413
2 files changed +283
README.md+11
@@ -43,3 +43,14 @@ These reusable chip previews and symbol outlines retain the reviewed Z-up pose a ::adom-chip-thumbnail{src="/adom/74lvc2g07gv-q100h/render/artwork/74LVC2G07GV-Q100H-thumbs.json"}  [Cache manifest and generation recipe](artwork/74LVC2G07GV-Q100H-thumbs.json) ยท [Original manufacturer STEP](SOT457.step)+++## Component LODs++Four board-use detail levels preserve the reviewed Z-up pose and real package terminals. High and medium retain the virtual MPN in its reviewed location. All four exclude the footprint outlines, pad labels and silkscreen used by the separate annotated wiki hero; the EDA board supplies those layers.++Cached PNG/WebP previews show each level without starting another 3D viewer. Choose **Turn on 3D preview** to inspect zoom-driven detail changes. Closing or hiding that preview releases its models and viewer resources. The manifest records source hashes, geometry estimates and review limits; display fidelity does not establish native seating or manufacturing qualification.++::adom-component-lod{src="/adom/74lvc2g07gv-q100h/render/lod/manifest.json"}++[LOD manifest and reuse contract](lod/manifest.json)
lod/manifest.jsonadded+272
@@ -0,0 +1,272 @@+{+  "schema": "adom/component-lod@1",+  "assetPurpose": "board-component",+  "excludedContent": [+    "footprint-reference-artwork",+    "silkscreen",+    "pad-labels"+  ],+  "mpn": "74LVC2G07GV-Q100H",+  "source": {+    "path": "74LVC2G07GV-Q100H.adom-reference-marked-v4.glb",+    "sha256": "5d302fbaf45b76b8ee8459502ae324760faeb24f7e12bbd1da29b28cebd366fb",+    "wiki": "https://wiki.adom.inc/adom/74lvc2g07gv-q100h",+    "artworkCacheKey": "b25096d50acd7f1b30ea244889e97a7fe025f944bb94983ef0cbcb47bde7bcfb",+    "role": "annotated-hero-source",+    "derivation": "Remove explicitly tagged nonphysical reference artwork before generating board-use high and lower LODs",+    "proof": "lod/high-fidelity-proof.json"+  },+  "units": "metres",+  "upAxis": "Z",+  "sourceToDisplayMm": [+    [+      0,+      0,+      1,+      -2.131954385256544+    ],+    [+      1,+      0,+      0,+      -1.3809082207861485+    ],+    [+      0,+      1,+      0,+      -1.2606962318374841+    ],+    [+      0,+      0,+      0,+      1+    ]+  ],+  "marking": {+    "text": "74LVC2G07GV-Q100H",+    "placement": "Top cap, along long package axis and offset 0.45 mm toward the blank edge to avoid central manufacturer mark",+    "manufacturerMarking": false+  },+  "tools": {+    "gltfTransform": "4.5.0",+    "meshoptimizer": "1.2.0"+  },+  "levels": [+    {+      "level": "high",+      "path": "lod/high.glb",+      "sha256": "2cb7444e9c1c1155524890ef08c00b42711e2130a61c70d51a84bae5aec5e1bd",+      "sizeBytes": 142456,+      "decodedBufferBytes": 128640,+      "primitives": 15,+      "triangles": 3164,+      "vertices": 3778,+      "bounds": {+        "min": [+          -0.0013750000000000134,+          -0.0014750000000000002,+          -2.368797688209745e-08+        ],+        "max": [+          0.0013750000000000134,+          0.0014750001110136507,+          0.0010059771325934353+        ]+      },+      "requestedRatio": 1,+      "errorLimitFractionOfMeshRadius": 0,+      "protectedMarkingMeshes": 1,+      "detailVisibility": {+        "virtualMpn": true,+        "footprintReferenceArtwork": false,+        "silkscreen": false,+        "padLabels": false+      },+      "review": "Top and underside visually compared across all four levels; physical terminals retained and hero helpers absent; native qualification pending",+      "transport": {+        "kind": "wiki-sandbox-frame@1",+        "path": "lod/high.frame.html",+        "sha256": "f59dbfa10dc025cf3d4e5f8320bee03a88b0cdb225df2e9678a50a0c3fe26eb8",+        "sizeBytes": 190731,+        "sourceLevelSha256": "2cb7444e9c1c1155524890ef08c00b42711e2130a61c70d51a84bae5aec5e1bd"+      },+      "preview": {+        "path": "lod/preview-high.webp",+        "sha256": "a61030bdb34f58da3cc8867c896ee6679f3de2dd45d857708c80b374e82a9c93",+        "sizeBytes": 1480,+        "width": 400,+        "height": 296,+        "sourceLevelSha256": "2cb7444e9c1c1155524890ef08c00b42711e2130a61c70d51a84bae5aec5e1bd",+        "view": "top-oblique",+        "pose": "identical camera based on medium bounds, exact Z-up source transforms",+        "generation": "Actual clean board-use GLB rendered then resized with ffmpeg; no hero overlays"+      }+    },+    {+      "level": "medium",+      "path": "lod/medium.glb",+      "sha256": "562aad323522433c275e36b8209a3593b8b7745e0e6960b195c1042b127ec075",+      "sizeBytes": 120656,+      "decodedBufferBytes": 108840,+      "primitives": 15,+      "triangles": 2696,+      "vertices": 3436,+      "bounds": {+        "min": [+          -0.0013750000000000134,+          -0.0014750000000000002,+          -2.368797688209745e-08+        ],+        "max": [+          0.0013750000000000134,+          0.0014750001110136507,+          0.0010059771325934353+        ]+      },+      "requestedRatio": 0.5,+      "errorLimitFractionOfMeshRadius": 0.002,+      "protectedMarkingMeshes": 1,+      "detailVisibility": {+        "virtualMpn": true,+        "footprintReferenceArtwork": false,+        "silkscreen": false,+        "padLabels": false+      },+      "review": "Top and underside visually compared across all four levels; physical terminals retained and hero helpers absent; native qualification pending",+      "transport": {+        "kind": "wiki-sandbox-frame@1",+        "path": "lod/medium.frame.html",+        "sha256": "8bb17b8bcc956540c23d5c6d1aa119eabf6d76ee2b2a121ecfa0d0d02435c4e2",+        "sizeBytes": 161663,+        "sourceLevelSha256": "562aad323522433c275e36b8209a3593b8b7745e0e6960b195c1042b127ec075"+      },+      "preview": {+        "path": "lod/preview-medium.webp",+        "sha256": "73cb1fdceb4d59a2202adbe383f7b6983aaf48644cd59e0606830d1f88d3b0e1",+        "sizeBytes": 1468,+        "width": 400,+        "height": 296,+        "sourceLevelSha256": "562aad323522433c275e36b8209a3593b8b7745e0e6960b195c1042b127ec075",+        "view": "top-oblique",+        "pose": "identical camera based on medium bounds, exact Z-up source transforms",+        "generation": "Actual clean board-use GLB rendered then resized with ffmpeg; no hero overlays"+      }+    },+    {+      "level": "low",+      "path": "lod/low.glb",+      "sha256": "63b95e0bd658d5b18624ba715b5c8a25c0c19377ce4b6c6e944ffc81decc56d5",+      "sizeBytes": 37400,+      "decodedBufferBytes": 26988,+      "primitives": 14,+      "triangles": 626,+      "vertices": 968,+      "bounds": {+        "min": [+          -0.0013750000000000134,+          -0.0014750000000000002,+          -2.368797688209745e-08+        ],+        "max": [+          0.0013750000000000134,+          0.0014750001110136507,+          0.0010049414073216084+        ]+      },+      "requestedRatio": 0.15,+      "errorLimitFractionOfMeshRadius": 0.01,+      "protectedMarkingMeshes": 0,+      "detailVisibility": {+        "virtualMpn": false,+        "footprintReferenceArtwork": false,+        "silkscreen": false,+        "padLabels": false+      },+      "review": "Top and underside visually compared across all four levels; physical terminals retained and hero helpers absent; native qualification pending",+      "transport": {+        "kind": "wiki-sandbox-frame@1",+        "path": "lod/low.frame.html",+        "sha256": "6c1ed1ed9b1d282320d78bce5ddc23fdaa531f7d5d69fc795405c397a4c6eecb",+        "sizeBytes": 50654,+        "sourceLevelSha256": "63b95e0bd658d5b18624ba715b5c8a25c0c19377ce4b6c6e944ffc81decc56d5"+      },+      "preview": {+        "path": "lod/preview-low.webp",+        "sha256": "4d855c64b409bd833dff0baba8d15d8880df05d97284a0660f5166cb75d633a8",+        "sizeBytes": 1094,+        "width": 400,+        "height": 296,+        "sourceLevelSha256": "63b95e0bd658d5b18624ba715b5c8a25c0c19377ce4b6c6e944ffc81decc56d5",+        "view": "top-oblique",+        "pose": "identical camera based on medium bounds, exact Z-up source transforms",+        "generation": "Actual clean board-use GLB rendered then resized with ffmpeg; no hero overlays"+      }+    },+    {+      "level": "super-low",+      "path": "lod/super-low.glb",+      "sha256": "ea1dc4890c858a150212203f6a769e8f8f187bf303920938be8e5a92a83adb72",+      "sizeBytes": 35132,+      "decodedBufferBytes": 24720,+      "primitives": 14,+      "triangles": 552,+      "vertices": 892,+      "bounds": {+        "min": [+          -0.0013750000000000134,+          -0.0014750000000000002,+          -2.368797688209745e-08+        ],+        "max": [+          0.0013750000000000134,+          0.0014750001110136507,+          0.0010049414073216084+        ]+      },+      "requestedRatio": 0.03,+      "errorLimitFractionOfMeshRadius": 0.04,+      "protectedMarkingMeshes": 0,+      "detailVisibility": {+        "virtualMpn": false,+        "footprintReferenceArtwork": false,+        "silkscreen": false,+        "padLabels": false+      },+      "review": "Top and underside visually compared across all four levels; physical terminals retained and hero helpers absent; native qualification pending",+      "transport": {+        "kind": "wiki-sandbox-frame@1",+        "path": "lod/super-low.frame.html",+        "sha256": "3a3b8aa30200f762f19563a26442f189ec8b2ae57a1965460164550837a4bf13",+        "sizeBytes": 47630,+        "sourceLevelSha256": "ea1dc4890c858a150212203f6a769e8f8f187bf303920938be8e5a92a83adb72"+      },+      "preview": {+        "path": "lod/preview-super-low.webp",+        "sha256": "97c2bee1c955680fa724a48d9a09d6f040841c88156addd286dbebd3e67090a1",+        "sizeBytes": 1094,+        "width": 400,+        "height": 296,+        "sourceLevelSha256": "ea1dc4890c858a150212203f6a769e8f8f187bf303920938be8e5a92a83adb72",+        "view": "top-oblique",+        "pose": "identical camera based on medium bounds, exact Z-up source transforms",+        "generation": "Actual clean board-use GLB rendered then resized with ffmpeg; no hero overlays"+      }+    }+  ],+  "status": "display-reviewed-native-qualification-pending",+  "runtimePolicy": {+    "initialLevel": "super-low",+    "lazyFetch": true,+    "disposeUnusedDetail": true,+    "sharedByAssetHash": true+  },+  "hints": [+    "Reuse this manifest and source hashes; do not re-etch or re-center.",+    "All levels exclude hero-only footprint, silkscreen and pad-label overlays. Actual package terminals are retained.",+    "High preserves the reviewed markings and original material assignments.",+    "Lower levels are lossy candidates and require visual checks before publication/use.",+    "Babylon mesh LOD switching does not by itself provide lazy downloads or memory eviction."+  ]+}