design: withdraw t1012u automatic framing decision (cancelled by Tim t1014u)
@@ -541,9 +541,3 @@ glTF texture coordinates have their origin at the top-left of the image (v = 0 i
541
541
## Decision 2026-11-07 (Tim t1009u, licence approved by Tim): bundled default starter bodies
542
542
543
543
Tim's Sketchfab models "Animated walking Male Base Mesh" and "Animated Female Base Mesh" (author assetfactory, Sketchfab Standard licence, approved by Tim) are bundled byte-exact in `assets/default-bodies/{male,female}/` (`.gltf` with the buffer uri fixed by Tim to `male.bin`/`female.bin`, `.bin`, `textures/`, `license.txt`). **Nieuw project** (parent folder + name) copies them into `<project>/assets/body/male/` and `female/` with their `license.txt` and sets them as the male and female body, so a new project renders immediately. The files are embedded in the executable (`include_bytes!`), so every package (AppImage, deb, Arch, AUR, Windows zip) carries them without a separate data path; packages also ship `THIRD_PARTY_NOTICES.md`. The README has an attribution section. The CC0 synthetic test bodies stay in `tests/fixtures/bodies/` and remain the seed for tests, examples and `--preview-fixture`.
544
545
## Decision 2026-11-07 (Tim t1012u): automatic default framing — model height plus one arm length
546
547
The fixed render frame is automatic by default. Per sex, frame height = upright rest-pose model height + half an arm length above the top and half an arm length below the feet (one arm length in total), centred on the rest-pose vertical centre (which is also the automatic orbit pivot). There is no extra 5% margin; the frame is only made taller when the rest-pose width or depth (T-pose arm span) would not fit the target aspect ratio. Width follows from the height and the target aspect ratio. Arm length is the same measure as for the depth range (upper arm → hand × 1.2), falling back to 0.4 × the rest-pose span when no arm joints are found. All bounds are computed after the full node hierarchy (root/armature transforms and scale) and rest skinning.
548
549
`CameraFraming` gains `manual_frame` (default false, only written when true). While false, the stored `height_milli`/`center_y_milli` are ignored and replaced by the automatic frame at resolve time, for production and the live preview alike. Editing the height or centre, or the one-shot "Omhullende animaties" button, sets `manual_frame`; an "Automatisch kader" button clears it. Existing projects have no `manual_frame`, so their stored frame (often an old envelope or default 2.6 m) migrates to the automatic frame. The pivot keeps its rule: `pivot_y_milli` is only set by an explicit user edit (schema 1/2 neck pivots already migrated to None), otherwise the rest-pose centre.
@@ -541,9 +541,3 @@ glTF texture coordinates have their origin at the top-left of the image (v = 0 i541
## Decision 2026-11-07 (Tim t1009u, licence approved by Tim): bundled default starter bodies541
## Decision 2026-11-07 (Tim t1009u, licence approved by Tim): bundled default starter bodies542
542
543
Tim's Sketchfab models "Animated walking Male Base Mesh" and "Animated Female Base Mesh" (author assetfactory, Sketchfab Standard licence, approved by Tim) are bundled byte-exact in `assets/default-bodies/{male,female}/` (`.gltf` with the buffer uri fixed by Tim to `male.bin`/`female.bin`, `.bin`, `textures/`, `license.txt`). **Nieuw project** (parent folder + name) copies them into `<project>/assets/body/male/` and `female/` with their `license.txt` and sets them as the male and female body, so a new project renders immediately. The files are embedded in the executable (`include_bytes!`), so every package (AppImage, deb, Arch, AUR, Windows zip) carries them without a separate data path; packages also ship `THIRD_PARTY_NOTICES.md`. The README has an attribution section. The CC0 synthetic test bodies stay in `tests/fixtures/bodies/` and remain the seed for tests, examples and `--preview-fixture`.543
Tim's Sketchfab models "Animated walking Male Base Mesh" and "Animated Female Base Mesh" (author assetfactory, Sketchfab Standard licence, approved by Tim) are bundled byte-exact in `assets/default-bodies/{male,female}/` (`.gltf` with the buffer uri fixed by Tim to `male.bin`/`female.bin`, `.bin`, `textures/`, `license.txt`). **Nieuw project** (parent folder + name) copies them into `<project>/assets/body/male/` and `female/` with their `license.txt` and sets them as the male and female body, so a new project renders immediately. The files are embedded in the executable (`include_bytes!`), so every package (AppImage, deb, Arch, AUR, Windows zip) carries them without a separate data path; packages also ship `THIRD_PARTY_NOTICES.md`. The README has an attribution section. The CC0 synthetic test bodies stay in `tests/fixtures/bodies/` and remain the seed for tests, examples and `--preview-fixture`.544
545
## Decision 2026-11-07 (Tim t1012u): automatic default framing — model height plus one arm length546
547
The fixed render frame is automatic by default. Per sex, frame height = upright rest-pose model height + half an arm length above the top and half an arm length below the feet (one arm length in total), centred on the rest-pose vertical centre (which is also the automatic orbit pivot). There is no extra 5% margin; the frame is only made taller when the rest-pose width or depth (T-pose arm span) would not fit the target aspect ratio. Width follows from the height and the target aspect ratio. Arm length is the same measure as for the depth range (upper arm → hand × 1.2), falling back to 0.4 × the rest-pose span when no arm joints are found. All bounds are computed after the full node hierarchy (root/armature transforms and scale) and rest skinning.548
549
`CameraFraming` gains `manual_frame` (default false, only written when true). While false, the stored `height_milli`/`center_y_milli` are ignored and replaced by the automatic frame at resolve time, for production and the live preview alike. Editing the height or centre, or the one-shot "Omhullende animaties" button, sets `manual_frame`; an "Automatisch kader" button clears it. Existing projects have no `manual_frame`, so their stored frame (often an old envelope or default 2.6 m) migrates to the automatic frame. The pivot keeps its rule: `pivot_y_milli` is only set by an explicit user edit (schema 1/2 neck pivots already migrated to None), otherwise the rest-pose centre.