mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-06 02:21:45 +00:00
- assemble: a placement naming a tessellation its file structure does not have is now PrcError::Malformed instead of a silently missing part; wires, markups and compressed tessellations are still skipped. - assemble: positions, normals and texture coordinates are charged against a new MAX_ASSEMBLED_VERTICES (2^24) with RenderError::TooManyVertices, so a one-triangle mesh with many vertices placed many times cannot outgrow the triangle ceiling's memory bound. A refused mesh spends nothing. - raster: a field of view too small for a finite focal length is a Camera error, not a background-only image. - raster: a pixel centre exactly on an edge belongs to one triangle only (the side the triangle lies on, +x first, then +y), so translucent quads no longer blend their diagonal twice. - raster: under a perspective camera the shade is interpolated with the 1/z depth key, so it follows the surface rather than the screen. - vec3: normalize divides by the largest component first, so a cross product above ~1e154 (or a subnormal one) still normalizes. - render docs and README state the near plane: 1/10,000 of the eye-to-target distance. Each new test fails with its fix reverted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SqmHYx8FiWM5PcsoiErgp9