BlueGit

golden-age paperdoll-renderer

design: 2D-preview map modes show atlas pixels as stored, no decoding (Tim t992u)

timfa Grok Bot · pushed by timfa

Authored 2026-11-07 · 6 days ago

Hash
99178c7c1ea8dad6bfd7050abfc81124b13d7c95
Parent
ab1372ac
1 file changed +7 −0
design.md +7 −0
@@ -454,3 +454,10 @@ Decision (superseded and reverted per Tim t991u, see below): automatic per-body
454 454 - This is a convention, not a model fix. glTF 2.0 §3.4 says +Y is up, +Z is forward and −X is right, so the front of an asset faces +Z. The camera follows that for every model: yaw 0 puts the camera on +Z and looks at the front. The character's left side (+X) is at yaw 90, the back at 180 and the right side at 270. Positive pitch looks from above, and light azimuth 0 is also the +Z front.
455 455 - This supersedes the earlier −Z convention (t952u fixed framing, #13 orientation). The bundled synthetic bodies (generator scripts, test-body glbs/fbx, static glb/obj) have been regenerated to be spec-correct: front +Z, left limbs at +X, walk/attack rotations mirrored to match, extras `forward: "+Z"`. The labelled-marker orientation tests, preview/still tests and the binary preset snapshot follow the new convention.
456 456 - FBX goes through the same axis conversion as before. A model that faces another way is shown that way; reorienting it is the animator's job.
457
458 ## Decision 2026-11-07 (Tim t992u): 2D-preview map modes show maps as stored
459 - The map-only view modes (Alleen diffuse / normal map / depth map / specular map) show the atlas pixels exactly as stored, with no decoding or translation. The diffuse, normal and specular maps are RGBA8 and are shown as-is. The depth map with `rgb_bands` or `rgb_packed` encoding shows its raw R, G, B and alpha channels, not the decoded depth as gray. `gray` shows its gray and alpha.
460 - 16-bit maps are shown at ordinary display precision: each channel is rounded to 8 bits (`v·255/65535`), with no other transformation.
461 - For each pixel the depth composition still picks the winning layer, and the stored depth pixel of that layer is the one shown. Pixels with no winner stay transparent.
462 - Only **Resultaat** decodes depth into the canonical 16-bit value, for the composition and the relighting. It looks the same for every depth format, within one quantization level.
463 - Synthetic layers with no stored file pixels (tests) fall back to the canonical gray.
@@ -454,3 +454,10 @@ Decision (superseded and reverted per Tim t991u, see below): automatic per-body
454- This is a convention, not a model fix. glTF 2.0 §3.4 says +Y is up, +Z is forward and −X is right, so the front of an asset faces +Z. The camera follows that for every model: yaw 0 puts the camera on +Z and looks at the front. The character's left side (+X) is at yaw 90, the back at 180 and the right side at 270. Positive pitch looks from above, and light azimuth 0 is also the +Z front.
454- This is a convention, not a model fix. glTF 2.0 §3.4 says +Y is up, +Z is forward and −X is right, so the front of an asset faces +Z. The camera follows that for every model: yaw 0 puts the camera on +Z and looks at the front. The character's left side (+X) is at yaw 90, the back at 180 and the right side at 270. Positive pitch looks from above, and light azimuth 0 is also the +Z front.
455- This supersedes the earlier −Z convention (t952u fixed framing, #13 orientation). The bundled synthetic bodies (generator scripts, test-body glbs/fbx, static glb/obj) have been regenerated to be spec-correct: front +Z, left limbs at +X, walk/attack rotations mirrored to match, extras `forward: "+Z"`. The labelled-marker orientation tests, preview/still tests and the binary preset snapshot follow the new convention.
455- This supersedes the earlier −Z convention (t952u fixed framing, #13 orientation). The bundled synthetic bodies (generator scripts, test-body glbs/fbx, static glb/obj) have been regenerated to be spec-correct: front +Z, left limbs at +X, walk/attack rotations mirrored to match, extras `forward: "+Z"`. The labelled-marker orientation tests, preview/still tests and the binary preset snapshot follow the new convention.
456- FBX goes through the same axis conversion as before. A model that faces another way is shown that way; reorienting it is the animator's job.
456- FBX goes through the same axis conversion as before. A model that faces another way is shown that way; reorienting it is the animator's job.
457
458## Decision 2026-11-07 (Tim t992u): 2D-preview map modes show maps as stored
459- The map-only view modes (Alleen diffuse / normal map / depth map / specular map) show the atlas pixels exactly as stored, with no decoding or translation. The diffuse, normal and specular maps are RGBA8 and are shown as-is. The depth map with `rgb_bands` or `rgb_packed` encoding shows its raw R, G, B and alpha channels, not the decoded depth as gray. `gray` shows its gray and alpha.
460- 16-bit maps are shown at ordinary display precision: each channel is rounded to 8 bits (`v·255/65535`), with no other transformation.
461- For each pixel the depth composition still picks the winning layer, and the stored depth pixel of that layer is the one shown. Pixels with no winner stay transparent.
462- Only **Resultaat** decodes depth into the canonical 16-bit value, for the composition and the relighting. It looks the same for every depth format, within one quantization level.
463- Synthetic layers with no stored file pixels (tests) fall back to the canonical gray.