NPE CONTAINER STUDIO — PHOTO-REFERENCED FIRST VERSION

Deliverables
models/NPE-single-20ft.glb — beige single compartment
models/NPE-dual-20ft.glb — grey dual compartment, partition and door
model.js — editable procedural model source (Three.js, metres)
app.js — interactive viewer and semantic configuration API

Serve this directory over HTTP. All Three.js dependencies are bundled locally.
GLBs can be imported into Blender or loaded with Three.js GLTFLoader.
Named groups: Shell, CargoDoors, InsulatedDoors, Partition, InteriorWalls,
Floor, InteriorFans, ExteriorRefrigeration, Lights, Hardware.
Door pivots: CargoDoorLeft, CargoDoorRight, innerOpen, dividerOpen.
GLB includes Doors_Open_Close animation. Fan rotors are named FanRotor.
GLB materials are PBR. The procedural floor bump texture is viewer-only
because glTF does not support Three.js bumpMap; exported floor uses plain PBR.

Viewer API for an adapter hosted on the NPE website:
window.NPEViewer.setConfiguration({compartment:'dual',outerOpen:true,
 innerOpen:true,dividerOpen:true,lights:true,cooling:true,xray:false});
window.NPEViewer.setComponent('ExteriorRefrigeration',false);
window.NPEViewer.view('inside'); // hero, entry, inside, plant

Gravity Forms: bind your real field IDs and option values to this API.
This standalone delivery does not modify WordPress or connect to the live form.
Same-origin postMessage is supported with type NPE_CONFIG and config object.
For a cross-origin iframe, add an explicit allowed-origin check for the real
NPE origin and a postMessage adapter. Do not use a wildcard origin.

Reference / precision
Nominal ISO 20-foot envelope 6.058 x 2.438 x 2.591 m.
Created from the supplied photographs, not a scan or engineering CAD.
Door sizes, hardware, forklift pockets, refrigeration housings, insulation,
conduit routing and dual partition position are estimates. Current dual
partition is approximately central. Hidden faces are inferred. The condenser
housing is generalized across both models and needs manufacturer dimensions
for exact fidelity. No external stock model or Envato licensed asset is used.
Cooling toggle animates fans; it is not a thermodynamic simulation.
No text decals or logos on the model.

Verification
JavaScript syntax checked; both GLBs generated and their JSON/binary structure
checked. Model coordinates checked for finite values. Software browser preview
loads; WebGL is disabled in the test browser, so final GPU materials, shadows,
performance, and PNG capture require verification on a WebGL-enabled device.
Software preview is a limited compatibility view, with lower visual fidelity.
