Commit graph

3 commits

Author SHA1 Message Date
Kelsi
ec9c7898d2 feat(editor): add --gen-texture-tile square stone tile pattern
Per-cell pattern: each pixel falls into a tile cell with grout
on every grid edge. Tiles get a stable per-tile shade jitter
(via integer-cell hash) so adjacent tiles look distinct rather
than identical. Grout is the constant separator color.

First new texture added directly to cli_gen_texture.cpp instead
of main.cpp — proves the modular pattern works for new
additions, not just extractions.

Defaults: tilePx=32, groutPx=2. Useful for floors, plaza
paving, dungeon walls. Brings the procedural texture pattern
set to 23.
2026-05-08 22:01:31 -07:00
Kelsi
36cc2ee11d refactor(editor): extract remaining 12 texture generators into cli_gen_texture.cpp
Completes the texture-family extraction started in 6ea2dfcf.
Moves the 11 older simpler texture handlers (gradient, noise,
noise-color, radial, stripes, dots, rings, checker, brick, wood,
grass, fabric) into the existing cli_gen_texture.cpp module.
Each previously had its own ~30-line copy of parseHex; all now
use the shared helper at file scope.

Also fixed a pre-existing match-order issue: the dispatcher
checks --gen-texture-noise-color before --gen-texture-noise so
the prefix-match doesn't shadow the longer name.

main.cpp drops 25,494 → 24,270 lines (-1,224). All 19 texture
generators (12 just-extracted + 7 from the previous batch) now
live in their own translation unit. Behavior verified by
re-running gradient/noise/noise-color/checker/fabric.
2026-05-08 21:41:24 -07:00
Kelsi
6ea2dfcf8c refactor(editor): extract 7 newer texture generators into cli_gen_texture.cpp
Moves the Worley/cellular-noise-based texture handlers
(--gen-texture-cobble, -marble, -metal, -leather, -sand,
-snow, -lava) into their own translation unit. Each handler
previously had its own ~33-line copy of the parseHex lambda;
all 7 copies are replaced with a single shared parseHex
helper at file scope.

Older simpler generators (gradient/noise/radial/stripes/dots/
rings/checker/brick/wood/grass/fabric) still live in main.cpp
and will be migrated in subsequent batches.

main.cpp drops 26,286 → 25,494 lines (-792). Behavior
unchanged across all 7 handlers (re-verified).
2026-05-08 20:59:02 -07:00