M7.1: Classic 3D renderer, cameras, lights, 3D views and camera-tool commands
- render/three_d: camera eval (one/two-node, DOF), default 50mm comp camera,
orthographic Front/Left/Top/Back/Right/Bottom + perspective Custom Views,
orbit/pan/dolly rig math; lights (parallel/spot/point/ambient, falloff,
cone feather) and material shading; per-pixel depth-sorted compositor for
3D runs (exact intersections, perspective-correct sampling, blend modes,
track mattes, motion blur), ray-cast planar shadows with transmission and
diffusion, per-layer DOF blur. RenderOpts.view camera override.
- project: camera iris/highlight props, aperture per comp width, light
orientation/rotations, two-node auto-orient defaults.
- engine: layer.newCamera/newLight with presets & settings,
layer.cameraSettings/lightSettings (Layer Settings dispatches),
view.set3DView + View > Switch 3D View items (F10/F11/F12), last/reset view,
camera.orbit/pan/dolly, view.get3D; EditorState.views3d.
- demo: "3D Showcase" comp (camera move, key spot + ambient fill, shadows,
DOF, intersecting planes, gridded floor).
- tests: projection, depth order, intersections, lighting, shadows, DOF,
views, rig math; command undo/redo. Fix a few pre-existing clippy lints.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>