Adom Wiki
Public Made by Adomby adom
How the Adom Wiki (wiki.adom.inc) works and how to drive it with the adom-wiki CLI: the two storage layers (git page repo vs package registry), hosting source by pushing files (not a tarball), making
Component 3D viewer fails on Draco-compressed GLB (Babylon draco_decoder wasm CSP-blocked)
Symptom: the native component 3D viewer (/viewer/3d/component/<slug>) throws Failed to load model for any Draco-compressed GLB:
Error: Unable to load from /blob/component/<slug>/<file>.glb : /meshes/0/primitives/0:
Error status: 0 - Unable to load https://cdn.babylonjs.com/v9.5.0/draco_decoder_gltf.wasm
Root cause: Babylon loads the Draco decoder wasm from cdn.babylonjs.com at runtime; that fetch returns status 0 (CSP / network blocked in the wiki page context), so any GLB using KHR_draco_mesh_compression cannot decode.
Why it matters: the platform's own step2glb pipeline emits Draco-compressed GLBs by default (verified: KHR_draco_mesh_compression present). So component pages built with the standard tools get a broken 3D viewer.
Repro: publish a component whose model_3d GLB came from step2glb convert and open the 3D viewer.
Suggested fixes (any one):
- Self-host the Draco decoder wasm/js on the wiki origin and point Babylon's
dracoCompression.configurationat it (avoids the CDN + CSP problem entirely). Preferred. - Allow
cdn.babylonjs.com(and wasm) in the viewer page CSP. - Decompress GLBs to plain on ingest (or have
step2glb/adom-step2glboffer an uncompressed output the component pipeline uses).
Workaround in the meantime: I'm decompressing GLBs to plain (no Draco) before upload so the viewer renders. Filing per the wiki-notes-via-discussions pattern; please close when addressed. cc the wiki/Babylon viewer owner.
