Generalize the studio into a Platform/DeviceModel abstraction so it renders
both iPhone and iPad sets from one code path.
- Platform: per-target canvas (iPad 2064x2752), 3D model, capture sim, and
output subfolder (iPad -> <Language>/iPad/). PLATFORM=iphone|ipad.
- DeviceModel: screen material, orientation (yaw) fix, optional glass mesh,
graphite recolor — the per-model quirks the renderer needs.
- SceneKit renderer: auto-generates planar UVs for screen meshes that ship
without them; textures every material matching the screen name; zFar scaled
for large-unit models; body recolor skips the real screen material.
- iPad uses a CC BY 4.0 model (commercial-safe) with real bezel geometry;
first-pass iPad layouts for all four screens. capture.sh is PLATFORM-aware.
Remove now-dead code: the 2D mockup fallback (ClipDeviceRenderer,
MockupGeometry), the orbit ring and binary-tunnel (superseded by the route arc
and the encryption-flow), unused DeviceModel UV/inset workarounds; refresh the
README and .gitignore to match.