Bend limbs along a single axis with a Bézier spine

- core: Bezier (any degree, De Casteljau), LimbBend (cubic spine through
  the rigid upper/joint/lower shape, one ring per texture row spaced by
  arc length, rigid rings so pieces share vertices) and QuadSplitter
  (cuts faces at the rings, interpolating UVs).
- fabric: ModelPartMixin draws parts that have a bend with
  BentCubeRenderer, which deforms vanilla's own cubes. Overlays and armor
  use the limb's spine so they stay attached. Bends are reset every
  setupAnim because models are shared between entities.
- testmod: flap and squat animations, and a client gametest that
  screenshots each animation from the front and side
  (runClientGameTest). The tester runs with the full Fabric API because
  single modules don't bring their version-specific dependencies.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-09-26 19:43:57 +02:00
co-authored by claude
parent d5af8d65c2
commit 8bac5eef64
18 changed files with 881 additions and 23 deletions
+2 -1
View File
@@ -7,7 +7,8 @@
"license": "Apache-2.0",
"environment": "client",
"entrypoints": {
"client": ["org.saturnclient.emotes.testmod.EmotesTestmod"]
"client": ["org.saturnclient.emotes.testmod.EmotesTestmod"],
"fabric-client-gametest": ["org.saturnclient.emotes.testmod.EmotesGameTest"]
},
"depends": {
"saturn_emotes": "*",