REGIONAL GLB AUGMENTATION

Final outputs are in se-saskatchewan/, sw-saskatchewan/ and sw-manitoba/ with
their original portable model filenames, plus a per-region GLB_Validation.json.
Each region has 1x and 25x versions. All six exports retain every original
binary payload byte and preserve old nodes, meshes, materials, accessors,
buffer views and scenes as unchanged prefixes. Added geometry is appended.

The new default scene adds supported geological edges, official erosional
surface contours and model-derived top contours at a 50 m interval with
zero offset. Original scenes remain available. A separate full-context scene
includes model-support/thinning/bedrock classes and explicitly named unsupported
line portions projected to the 0 m cartographic reference plane.

No formation zero-edge source ZLEVEL becomes structural elevation. Unknown
or related-only unit associations are reference-only. Source/model mismatch
and unsupported grid triangles are not extrapolated across. Source and model
edge classes retain distinct names and metadata.

MB additionally includes the new bounded MES interpretation as a translucent
mesh: 7,312 triangles from 4,202 valid nodes. It retains the 1,173-control
count, 38 order-conflict masked nodes, support limits, caveats and validation
metadata supplied by the MB data build. This is explicitly identified as a
new historical-well-pick interpolation, not a published GOCAD surface.

Coordinate conventions:
SE Saskatchewan: X=(E-originE)/100000, Y=z*VE/100000, Z=-(N-originN)/100000.
SW Saskatchewan and Manitoba: X=E-originE, Y=z*VE, Z=-(N-originN).
These exactly follow each existing portable model's conventions. Metadata
retains the source CRS and original vertical-reference qualifications.

The identical ../shared/contour-math.mjs module drives live-viewer and portable
edge placement and contour generation. Synthetic tests cover planes, base and
thickness behaviour, null gaps, unknown unit fallback, source ZLEVEL handling,
official contour elevations and invalid intervals. GLB validation checks all
new floating coordinates, byte bounds, accessor limits, retained original
payloads and 1x/25x axis consistency.

Run augment_glbs.mjs [region ...] to rebuild from staged package originals.
Run validate_shared_math.mjs and validate_augmented_glbs.mjs for verification.
The scripts never write to the staged package originals. Parent integration
copies the completed outputs to those packages after validation.

glTF line primitives are standards-compliant LINES. Apparent line thickness
depends on the importing viewer. No headset visual test is claimed. Custom
contour spacing is controlled in the live viewer; these complete portable
files retain a clearly identified 50 m default structure-contour collection.
