← Commit history

Teach tested LOD highlight compatibility, hash sharing and resource verification

John Lauer ·129faf82c9 ·1mo ago ·parent 0138ecb
4 files changed +8−2
package.json+1−1
@@ -1,7 +1,7 @@ {   "slug": "adom-wiki-skillpack",   "title": "Adom Wiki Skill Pack",-  "version": "0.8.7",+  "version": "0.8.8",   "type": "skill",   "hero": {     "path": "screenshots/hero.png"
page.json+1−1
@@ -121,7 +121,7 @@       "prompt": "Before I create this wiki page, check whether the thing already has a home."     }   ],-  "version": "0.8.7",+  "version": "0.8.8",   "description": "The Adom Wiki Skill Pack \u2014 one main skill plus the focused sub-skills that teach the AI to publish to wiki.adom.inc without breaking pages, name the wiki repo archetypes (Page, Skillpack, Family), and publish rich component pages (chips, molecules, boards). The wiki is six tools in one: git, package manager, releases, discussions, pull requests, and discovery. One package manager install drops the whole set onto your container.",   "dependencies": {     "adom/adom-wiki-hero-image": "^0.2.2",
skills/wiki-component-lod/references/runtime.md+4
@@ -6,6 +6,10 @@ Use Babylon's native LOD mechanism where compatible with the model structure; a  Add hysteresis and a short settle period so a component near a threshold does not repeatedly swap or download. Share downloaded geometry/materials by asset hash across identical MPN instances while retaining per-instance component reference, hover, LED state and joint transforms. Do not let joining geometry destroy those identities. Use bounded concurrent requests and retain explicit ownership/refcounts for shared resources. +Test the actual selection/highlight API with the chosen representation. Babylon's HighlightLayer in the tested Babylon 9 integration cannot accept InstancedMesh in the same way as Mesh: adding an instance failed on a missing observable. Mesh clones that share geometry and materials provided independent reference highlighting in that integration. This is a compatibility observation, not permission to duplicate all vertex buffers. Verify sharing and disposal with the installed viewer version. Multi-node parts may need an explicit whole-hierarchy selector around AssetContainer rather than independent per-mesh LOD switches; report which mechanism the app actually implements.++Deduplicate by content hash, not only MPN or filename. Several simple coarse parts can share identical geometry while their high versions carry different exact MPNs. Keep the reference's own manifest for selecting its next level. Request cancellation must check whether ANY live reference wants the hash, including references with another component record. Bound retries and keep the current visible detail while reporting a failed high-detail request; do not repeatedly fetch a missing file every animation frame.+ Selection, residency and rendering are separate controls:  - Native LOD decides what draws.
skills/wiki-component-lod/references/verification.md+2
@@ -8,6 +8,8 @@ Required evidence for a complete LOD implementation: - Close-up high detail matches the reviewed component page: exact virtual MPN and placement, manufacturer markings, colors, terminal geometry and relevant pin-1 indicator. The same comparison is made in the assembled board. Shared symbol thumbnails remain derived from the reviewed art. - Coarse silhouettes and critical features remain recognizable. Zoom transitions do not jump, flip or visibly change component placement. Orthographic/perspective, large/small packages, viewport resizing and scaffold-wide views are covered. - Cold start fetches coarse assets only. Repeated near/far zoom cycles demonstrate lazy detail fetch, hysteresis, reuse across identical parts, canceled stale requests and eventual eviction. Network logs and resource counters prove the behavior. Bound memory after repeated cycles, including reload/dispose and switching boards; one FPS sample is insufficient.+- Capture startup evidence before the first screen-size promotion. A large part may legitimately request more detail immediately after coarse startup finishes. Verify request ordering and the initial coarse inventory; do not confuse later promotion with eagerly downloading high assets before the first usable frame.+- Compare resource counts after each return to the same coarse state. Container/geometry counts and decoded-byte estimates should return to baseline. In isolated WebGL tests, instrument createBuffer/deleteBuffer to verify live buffer counts also stabilize; this is stronger than merely hiding meshes, but still does not measure hardware driver VRAM or qualify desktop performance. Fail the run on browser exceptions, even if the screenshot looks correct. - Hover/select identifies the same physical reference in 2D and 3D at every LOD. LED/material states, moving joints and digital-twin controls survive swaps. A static electronics test does not qualify motion-state swapping. - Hidden/idle views stop rendering. Active frame times, draw calls and decoded/resident resource budgets meet the deployment target. Frame drops or budget exhaustion trigger diagnostics and reduced detail, not disappearing components. - Full-scene native CAD parity, model seating and fabrication checks remain separate from presentation LOD qualification.