Adom 3D Viewer
Public Made by Adomby adom
The Babylon 9.5 engine behind every component page's 3D tab on wiki.adom.inc. Versioned ESM bundle with GLB loading, view cube, layers toolbar, ground shadows, and Z-up CAD framing.
3D viewer builds malformed model lookup (<slug>-board + owner:null) → intermittent PAGE_NOT_FOUND
On component board pages the 3D viewer intermittently fails with:
{"error":"Page not found","code":"PAGE_NOT_FOUND","data":{"owner":null,"slug":"uv-current-monitor-board-board"}}
Two defects in the lookup the viewer constructs:
- Doubled
-board— the real page slug isuv-current-monitor-board, but the viewer requestsuv-current-monitor-board-**board**(it appends-boardto a slug that already ends in-board). That page does not exist → 404. - owner:null — the request drops the owner (should be
adom). Even a correct slug would not resolve for a private org page with a null owner.
Intermittent: on most loads the viewer resolves the model correctly from the page's own render/board.glb and renders fine (Babylon.js v9.5.0, WebGL2). But when it takes the derive-sibling-page path it 404s, and the whole component panel (3D + schematic + deps summary) collapses to this error — which reads to the user as "no access / lots broken."
Repro: adom/uv-current-monitor-board (private, org=adom). Verified: the requested slug uv-current-monitor-board-board returns 404 with and without an owner; the real page resolves fine as adom/uv-current-monitor-board.
Fix: resolve the model from the page's own owner/slug + render assets; never send owner:null; and don't append -board when the slug already ends in it.
Reported from a live browser investigation (Firefox, signed in).