makepad/libs/csg/csg_math
Admin 0e64721efa render, model, platform, audio_synth, ai: shadow atlases clipped per cascade and face, portable math for identical model builds everywhere, foliage and city rendering, Score replaces the synth sequencer, and sandbox audio generation fixes
- render: CSM cascades and spot/point shadow faces draw inside a per-draw scissor, with a depth shader that has no discard for solid and rigid casters (downtown city shadow pass 3.3 ms → 0.4 ms, spot shadows 2.7 → 0.1 ms); cascade selection by caster bounds on Apple; per-frame model draw order built once; clustered light terms per pixel; foliage wind, impostors, grass and LOD model sets; city glass and interior light; the viewmodel eye-space fix for narrow panes; joint-following parts use the skin's exact joint matrix.
- model / csg / mesh_edit / remesh / gltf: makepad_csg_math::portable (sin/cos/atan/exp/ln/pow/hypot/cbrt from exactly rounded operations), used at 320 call sites, so a model hashes and builds byte-identically on macOS and Linux (MODEL_GENERATOR_VERSION 2, CHARACTER_GENERATOR_VERSION 42; tests/portable_identity.rs); lathes always face outward; sculpted-shell booleans with a tolerant surface map; decal and badge lettering; LOD model sets; grip poses for first-person arms.
- platform: DrawCall scissor rectangles (Metal and Vulkan; other backends keep the old clip); draw_shader_ready for a fallback while a pipeline compiles; Metal clock reads once per frame; Linux render-texture readback.
- audio_synth: score.rs and its Sequencer are removed; game music now runs on Stage's Score engine; drum_note moves into instruments.rs. Includes Stage SF1's SoundFontInstrument change: programs share one loaded font instead of ~300 MB each.
- ai: the sfx model generates at whole seconds and trims to the requested length (fractional lengths came back as noise); fleet roles let node 165 serve audio as a fallback.
- widgets/core: screen recordings of any app inside a Makepad checkout land in <makepad>/local/screencap.
- fab: FabDragNumber read_only, for the sandbox time dial.

Checked on node 165: cargo check --release --workspace; makepad crate suites 1442 passed; sandbox 3095 passed; portable model hashes identical on the Mac mini.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 08:11:15 +02:00
..
src render, model, platform, audio_synth, ai: shadow atlases clipped per cascade and face, portable math for identical model builds everywhere, foliage and city rendering, Score replaces the synth sequencer, and sandbox audio generation fixes 2026-09-30 08:11:15 +02:00
Cargo.toml builder, licenses: a clean-room LZX decoder, license fields on every crate, and libs/mb3d removed 2026-09-29 16:29:39 +02:00