General rules
- Use the 3DO scene graph for inherited transforms; child pieces inherit parent movement.
- Apply movement offsets in parent space before piece rotations.
- Use a fixed projected frame envelope for animation; per-frame fitting causes visual pulsing.
- Resolve visibility with a per-pixel depth buffer. Painter sorting is diagnostic only.
- Split polygons into triangles for depth testing and allow a small inclusive depth tolerance for coplanar triangles.
Preview calibration
The established OTA preview calibration uses a factor of five for the reconstructed movement distances. This applies to the Annihilator turret lift, barrel/light travel, and ARMARAD mast travel. Raw COB values remain the authoritative source values; the factor belongs to the current preview conversion.
ARMARAD hierarchy and closing
base -> post -> turret -> arm1/arm2 -> dish1/dish2
The post is the central extensible mast. The turret and both wings inherit its height. During closing, rotation stops first, the wings return to their compact orientation, the wings fold down, and only then does the mast lower.
Texture caution
3DO files contain no explicit UVs. Screen-angle mapping creates false wood-like diagonal artifacts. The TA3D-compatible primitive-order rule is (0,0), (1,0), (1,1), (0,1) after texture-atlas packing, but palette, transparency, filtering, and lighting require isolated validation before production use.