Indoor 3D
Buildings as features
Indoor 3D modeling
Nexma renders indoor environments — buildings, floors, rooms, equipment — as first-class spatial features. Indoor and outdoor share one Codex; a fiber drop that enters a building continues through to the splice point on the third floor without changing models.
Layer structure
Indoor environments are composed of three Codex layers:
- Structure. Walls, floors, doors, windows, columns. Stored as GeoJSON with
fill-extrusion height attributes. Renders as 3D extruded geometry on the Globe.
- Equipment. Discrete points — racks, panels, cameras, sensors. Each carries
the same property schema as outdoor equipment so cross-domain queries work.
- Routes. Cable runs, riser drops, escape paths. Polylines that respect the
floor structure and snap to wall, ceiling, or floor.
The three layers are independent — you can edit walls without touching equipment, swap equipment without redrawing walls.
Authoring
A floorplan can be brought in from:
- PDF or DWG import. Geometry is traced and tagged with Jax assist.
- Manual sketch. Draw walls and rooms on the canvas; equipment snaps to
walls.
- Generated from a brief. "Lay out a 12-rack data hall in this footprint with
hot/cold aisles and a 4-foot service clearance" produces a starting design that Jax then refines.
Engineering diagrams
Beyond the spatial view, Jax generates engineering diagrams from the same Codex:
- Splice diagrams. Closure-by-closure splice tray layouts with port assignments.
- Riser diagrams. Floor-by-floor cable runs with quantities and counts.
- Floorplan diagrams. Annotated 2D plan view with equipment, routes, and
callouts.
Diagrams render to SVG and PDF and stay in sync with the underlying Codex — edit the design, the diagram updates.
Z-fighting and basemap
A common pitfall in early prototypes was z-fighting between extruded indoor geometry and the basemap's default 3D buildings. Indoor mode automatically swaps to a 2D basemap variant inside the active building polygon and disables the basemap's own building layer there. The transition is animated.
Limits
- Performance scales to ~10,000 indoor entities per scene before frame rate
degrades.
- Indoor positioning at runtime (BLE beacons, UWB) is consumed as a feed when
available; Nexma does not provide the positioning infrastructure itself.