SceneReady — B-rep to runtime asset, one call
SceneReady is NativeCAD's glTF 2.0 / GLB export: the same B-rep document that drives machining drawings and STEP exchange, written as a runtime scene any viewer, browser, or game engine opens directly. One call, one file, zero external converters:
cad_export_body { format: "glb", path: "drive_unit.glb" }
What ships in the file
- Geometry a renderer can shade correctly. Tessellation is driven by the B-rep itself: machined edges arrive split, blends and cylinders arrive smooth, and the per-vertex normals are computed from the underlying surfaces.
- PBR materials from the model. Kernel appearance classes map to glTF metallic-roughness (with KHR clearcoat / transmission where the class calls for them), so a part looks like its material in every compliant viewer.
- Assemblies that stay assemblies. A component placed 28 times stores its mesh once and is referenced by 28 nodes — file size follows unique geometry, not occurrence count.
- Animation as data. Exploded views, turntables, and mate-driven motion are generated from the model's own structure and written as standard glTF animation channels — they play in any viewer with animation support, no scripting.
- Provenance and verification. Every export carries its source document, tessellation settings and kernel version in the asset record, and gallery artefacts are re-read and structurally verified before they are published.
Envelope Export
Most models leave the building carrying geometry nobody outside should get: the mechanism inside a sealed housing, the internals behind a cover. Envelope Export ships only the bodies that participate in the model's exterior — everything that cannot be seen from outside stays in the source document.
cad_export_body { format: "glb", envelope: true, path: "drive_unit.glb" }
The export result reports exactly which bodies shipped and which stayed home, so the cut is auditable per file. A body that must ship regardless — a section-view prop, an installation reference — is pinned by exporting it explicitly.
Defeaturing — geometry that never ships
Envelope Export drops the bodies nobody outside can see; defeaturing drops the detail nobody at scene scale can see. The kernel recognizes a body's holes, bosses, fillets and chamfers off the B-rep and removes the ones under your per-class size thresholds, healing every wound watertight: blend bands re-extend to their sharp seam, plugged holes heal over. What remains is still exact B-rep — it re-exports, re-meshes, and still takes modeling.
kernel.ops.defeature.defeature(doc, body, { holeDiameter: 5, filletRadius: 2 }) // thresholds in mm
Only confidently recognized features are touched, and a heal the kernel cannot make cleanly is refused by name — the report lists what went, what stayed, and why. The showcase page runs it stage by stage on kernel-built parts and on NIST's CTC-01 validation STEP, with every figure computed by the generator on each run.
At scale — measured on larger scenes
The same pipeline on scenes big enough to hurt. The headline scene puts over ten million triangles on screen, and every figure below is computed by the gallery generator on each run and exported alongside the files:
- Millions of triangles. A racked distribution bay: 30 pallets carrying 720 machined gripper jaws (each one the part's own shipped STEP, tessellated at 0.01 mm) and 72 dense involute gears. A renderer draws ~10.1 million triangles of real B-rep tessellation every frame, from a ~1 MB file that stores ~37,000 — a 270×+ shown-to-stored ratio by node-reference instancing. The poster shot is produced by re-reading the shipped GLB and rasterizing every one of those ten million triangles.
- Geometry density. A two-stage involute reduction — four true involute gears meshed at their real 8.46:1 ratio and turning in one merged clip. Over 23,000 triangles of flank geometry at the 0.05 mm display tolerance, straight from the B-rep: no decimation, no baking.
- Shown vs stored. A palletizing work cell — robot, roller conveyor, fenced perimeter, and a pallet stacked with 40 real machined parts (the gripper jaw's own STEP). The viewer shows ~185,000 logical triangles; the file stores ~8,000 — a 20×+ shown-to-stored ratio from instancing by node reference. The format does the multiplying instead of the wire.
- Envelope at scale. A sealed machine enclosure with a full mechanism inside — ballscrews, spindle, gear drive, brackets, cable runs. The envelope pass measures visibility from 26 directions and ships the skin: 7 of 26 bodies, a ~98% smaller GLB, with the mechanism absent from the file.
All of these live in the showcase with their per-file stats, poster shots and downloadable GLBs (the enclosure card carries both the envelope file and the full file, so the difference is checkable). A second millions-of-triangles scene is built entirely from real public source files — NIST's MBE PMI validation test models, published by NIST for public use as U.S. government works — imported from their own STEP files and credited on the card.
Beyond the plant-floor scenes above, the gallery below carries the scenes buyers ask for: a refinery pipe rack, a four-storey building coordination model, a motorcycle that rolls on its own generated clip, and a parking structure full of cars. Each card states what its file shows, what it stores, and how big it is — measured on the run that produced it.
Animation that is a solved mechanism
Variable stator vanes — one ring, 24 vanes, one clip
A compressor stage that changes its own geometry: the unison ring turns 2.4°, every vane swings 34° of stagger through its own lever, and the linkage is solved per keyframe rather than eased between two poses. Shipped as one animated GLB with the clearances measured at both ends of the travel.
A whole aircraft: the UH-1C Huey
UH-1C Huey — 608 parts, 1,978 placements, four loadouts
The gunship as one SceneReady export: a glTF level-of-detail chain with the fasteners, rivets, rockets and links GPU-instanced, materials from the page's own olive-drab table (transparent glazing, green roof glass, steel mast), clips for the main rotor, the doors and the arm-gun traverse and elevation, and a STEP AP242 assembly with a sub-assembly per system and the four XM16 / XM21 × M60 / M60D configurations. The bill of materials comes from the parts census. Gated on a clean scene audit, so the files appear when the audit passes.
The gallery — every scene, as shipped
Biggest scenes first. Each card's poster is rendered by a zero-dependency software
rasterizer straight from the shipped .glb, so a poster is also a decode test.
View in 3D opens that file — the same bytes you can download — in NativeCAD's own
viewer, served from this origin: no CDN, no third-party component. It reports what it measured on the
way in, so the decode and first-frame times you see are measured on your own machine.
See it
The glTF / GLB showcase is SceneReady's own output — every file there was exported by the pipeline this page describes, poster shots included. The 3D-PDF gallery is the same kernel writing ISO 14739-1 PRC for document workflows; SceneReady is the runtime-side counterpart. The decimation-levels page exports the same B-reps at five chord tolerances — the game-engine LOD story, with per-tier triangle counts and byte sizes. The defeaturing page is the other half of scene prep: the same solid at the same tolerance with the small features healed away, stage by stage.
More demos
All demos →Less geometry at the same tolerance
Small holes, fillets and bosses removed and the solid healed watertight, ready for scenes and simulation.
NURBS opsCurved offsets, shells and surfaces from points
Offsets and shells on curved solids, exact surfaces through point grids, and a mesh turned back into a solid.
6 curved operations ToleranceDeclare the gap, name the weld
A seam that will not close at the model's tolerance welds shut once the edge carrying the gap declares it.
V12 engineA V12 engine you can run, slice and take apart
Every crank, rod, cam and valve is a real solid, turning in your browser from one dial: the crank angle.
361 parts · 2,850 placementsBuild your own part with NativeCAD
Free for education and makers with a registered key · $200 per seat per year · Kernel SDK for products.