Merge design: light wrap, no rim
@@ -359,3 +359,8 @@ Bepaal ook welk 3D-model format goed is; liefst ondersteunen we natuurlijk meerd
359
359
- **`.ppda` (PaPerDollAtlas):** a strict UTF-8 JSON file next to the atlases, named `<sex>-<settype>-atlas.ppda`. Fields: `format_version` (1), `sex`, `settype`, project id/name, `fps`, `cell_width`/`cell_height`, `pitches` and `yaws` (degrees, in column order), a `maps` object mapping each map type to its atlas PNG filename plus SHA-256, and `clips`: per clip its source index, name, `frame_count` and `duration`, with each frame listing `{pitch, yaw, x, y, w, h}` for every view in atlas pixels. Unknown fields or versions are rejected when read.
360
360
- **Default framerate:** new projects default to **4 fps** instead of 12. Existing `.ppd` files keep their stored `fps`.
361
361
- **`.ppda` as the consumer format (Tim t957u):** the `.ppda` plus its atlases is the primary format for consumers. The editor's 2D previewer loads an export through the `.ppda` and its atlases rather than the loose PNGs, and the eventual game renderer uses the same format. The loose PNGs stay available as export output. The `.ppda` reader validates the version, filenames (no paths outside the export folder), atlas dimensions, cell bounds and SHA-256 before use.
362
363
## Decision 2026-11-07 (Tim t958u): full-circle light azimuth, rim lighting removed
364
365
- **Light azimuth:** in the 2D previewer, holding the light buttons rotates the azimuth through the full 360 degrees and keeps going (wrapping modulo 360, no clamp). Elevation keeps its −80…+80 clamp.
366
- **Rim/edge lighting removed:** the consumer-side rim/edge lighting (§8/R08, the **Randlicht** slider, `RimParams`/`apply_rim`/`compose_relight_and_rim`) is removed completely because it does not look good. Relighting is ambient + Lambert + Blinn-Phong from the normal, depth and specular maps only. Saved diffuse stays unlit albedo. This supersedes the earlier rim decision.
@@ -359,3 +359,8 @@ Bepaal ook welk 3D-model format goed is; liefst ondersteunen we natuurlijk meerd359
- **`.ppda` (PaPerDollAtlas):** a strict UTF-8 JSON file next to the atlases, named `<sex>-<settype>-atlas.ppda`. Fields: `format_version` (1), `sex`, `settype`, project id/name, `fps`, `cell_width`/`cell_height`, `pitches` and `yaws` (degrees, in column order), a `maps` object mapping each map type to its atlas PNG filename plus SHA-256, and `clips`: per clip its source index, name, `frame_count` and `duration`, with each frame listing `{pitch, yaw, x, y, w, h}` for every view in atlas pixels. Unknown fields or versions are rejected when read.359
- **`.ppda` (PaPerDollAtlas):** a strict UTF-8 JSON file next to the atlases, named `<sex>-<settype>-atlas.ppda`. Fields: `format_version` (1), `sex`, `settype`, project id/name, `fps`, `cell_width`/`cell_height`, `pitches` and `yaws` (degrees, in column order), a `maps` object mapping each map type to its atlas PNG filename plus SHA-256, and `clips`: per clip its source index, name, `frame_count` and `duration`, with each frame listing `{pitch, yaw, x, y, w, h}` for every view in atlas pixels. Unknown fields or versions are rejected when read.360
- **Default framerate:** new projects default to **4 fps** instead of 12. Existing `.ppd` files keep their stored `fps`.360
- **Default framerate:** new projects default to **4 fps** instead of 12. Existing `.ppd` files keep their stored `fps`.361
- **`.ppda` as the consumer format (Tim t957u):** the `.ppda` plus its atlases is the primary format for consumers. The editor's 2D previewer loads an export through the `.ppda` and its atlases rather than the loose PNGs, and the eventual game renderer uses the same format. The loose PNGs stay available as export output. The `.ppda` reader validates the version, filenames (no paths outside the export folder), atlas dimensions, cell bounds and SHA-256 before use.361
- **`.ppda` as the consumer format (Tim t957u):** the `.ppda` plus its atlases is the primary format for consumers. The editor's 2D previewer loads an export through the `.ppda` and its atlases rather than the loose PNGs, and the eventual game renderer uses the same format. The loose PNGs stay available as export output. The `.ppda` reader validates the version, filenames (no paths outside the export folder), atlas dimensions, cell bounds and SHA-256 before use.362
363
## Decision 2026-11-07 (Tim t958u): full-circle light azimuth, rim lighting removed364
365
- **Light azimuth:** in the 2D previewer, holding the light buttons rotates the azimuth through the full 360 degrees and keeps going (wrapping modulo 360, no clamp). Elevation keeps its −80…+80 clamp.366
- **Rim/edge lighting removed:** the consumer-side rim/edge lighting (§8/R08, the **Randlicht** slider, `RimParams`/`apply_rim`/`compose_relight_and_rim`) is removed completely because it does not look good. Relighting is ambient + Lambert + Blinn-Phong from the normal, depth and specular maps only. Saved diffuse stays unlit albedo. This supersedes the earlier rim decision.