scena 1.3.0

A Rust-native scene-graph renderer with typed scene state, glTF assets, and explicit prepare/render lifecycles.
Documentation
# scena v1.3.0 Release Notes

Status: ready after local gates and browser visual proof.

## Install

```toml
[dependencies]
scena = "1.3"
```

## Easy Scene Setup

This release adds composable viewer helpers so applications do not need
hand-tuned constants for common product/model-viewer scenes:

- `Scene::frame_bounds` with `FramingOptions` and `FramingOutcome` for
  projection-based camera fitting on desktop and portrait/mobile viewports.
- `FramingOptions` named view presets:
  `FramingOptions::front`, `FramingOptions::back`, `FramingOptions::left`,
  `FramingOptions::right`, `FramingOptions::top`,
  `FramingOptions::bottom`, `FramingOptions::three_quarter_front_left`,
  `FramingOptions::three_quarter_front_right`,
  `FramingOptions::three_quarter_back_left`,
  `FramingOptions::three_quarter_back_right`, and
  `FramingOptions::azimuth_elevation(az_deg, el_deg)`. Pick a camera angle by
  name or by azimuth/elevation in degrees; no coordinate math required.
- `ScreenRect` and `ProjectedPoint` for inspecting projected bounds and
  world-space label/helper positions.
- `Scene::bounds_for_transforms` for connector replay and other multi-pose
  framing cases.
- `Scene::project_world_point` for labels and helpers pinned to real world
  positions.
- `Scene::add_grid_floor` with `GridFloorOptions` for matte bounds-derived
  floor/grid placement.
- `GridFloorHandles` for later adjustment/removal of the inserted slab and
  grid nodes.
- `Scene::add_studio_lighting` for a moderate key/fill/rim rig that avoids
  per-demo light constants.
- `Aabb::union` for reusable multi-object and multi-pose bounds.
- `OrbitControls::focus_on_framing` so user interaction pivots around the
  framed object.
- `OrbitControls::from_framing` as the direct control setup path for framed
  model-viewer scenes.
- Structured framing errors:
  `LookupError::InvalidBounds`, `LookupError::InvalidFramingOption`,
  `LookupError::InvalidViewport`, and
  `LookupError::UnsupportedCameraType`.
- Renderer-managed auto exposure remains the public exposure path for both
  headless/native and browser surfaces.

## Documentation And Examples

- Added `docs/guides/easy-scene-setup.md`.
- Updated the README, API overview, rendering guide, Three.js migration guide,
  and connector placement guide.
- Added `examples/easy_model_viewer.rs` and
  `examples/connector_auto_framing.rs`.

## Proof Required Before Publication

- Focused framing/unit tests.
- Browser demo probe against the connector workflow.
- Desktop/mobile screenshot review across every demo page.
- Standard release gates: format, clippy, tests, doctor, docs.