characters are flat sprite cards; drop the voxelized sprite path

Every figure is now its current 2D frame on one flat quad, the shader's
alpha discard cutting the silhouette. It still faces south and leans by
the camera's pitch, so it reads face-on at every tilt as before.

Removes the contoured slab and the carved visual-hull models --
lib/VoxelModels.lua, tools/build_voxels.py and ~70 generated files under
assets/voxels/ (2 MB). A sprite is a drawing, not an object seen from one
side: Gen 1's overworld figures are 16x16 icons with a fixed front-on
reading, and solidifying one invents a body the artist never drew. Those
files were also the one place this mod carried a description of the ROM
art, since a carve records a sprite's silhouette pixel for pixel.

The card needs no pixel access, and the solid draw, the sun pass and the
player's occlusion silhouette now share one mesh -- which the inverted
depth test the silhouette uses requires, since self-overlap would repaint
the figure on open ground. overrides/voxels/<name>.lua still wins where a
mod ships one.
This commit is contained in:
DramaticShape
2026-07-27 10:31:04 -04:00
parent 2ff518a6d1
commit 326c595336
76 changed files with 115 additions and 17154 deletions
+3
View File
@@ -2,3 +2,6 @@
# assets/docs/buidling_to_voxel/ -- generated on whatever machine ran them.
__pycache__/
*.py[cod]
# agent worktrees and local scratch
.claude/