Game guide · source of truth
Ledger

CHR-WUKONG-20261005-03

Wukong hands and feet matched to owner reference videos

← Ledger

donestatus · art
10✓ tests passed / failed
55.45Mtokens · 68 min
5evidence files · 21.5 MB

Evidence

From logs/evidence/CHR-WUKONG-20261005-03/. Click a thumbnail for the full image.

Clips (2)

wukong_hands_feet_closeup.mp4 · 14.5 MB
wukong_hands_feet_vs_reference.mp4 · 6.9 MB

Logs and data (3)

foot_slide.json · 181 B · open
{
 "walk": {
  "planted_samples": 57,
  "max_slip_mps": 0.208,
  "mean_slip_mps": 0.016
 },
 "run": {
  "planted_samples": 10,
  "max_slip_mps": 0.042,
  "mean_slip_mps": 0.026
 }
}
glb_report.json · 1 kB · open
{
  "file": "art/3d/wukong/demo/wukong.glb",
  "sizeMB": 4.16,
  "verts": 49006,
  "tris": 53353,
  "joints": 173,
  "deformBonesWeighted": 135,
  "springChains": 16,
  "springBones": 83,
  "maxInfluences": 4,
  "texture": {
    "w": 2048,
    "h": 2048,
    "format": "jpeg"
  },
  "heightM": 1.949,
  "animations": [
    {
      "name": "idle",
      "duration": 3,
      "channels": 132
    },
    {
      "name": "run",
      "duration": 0.7,
      "channels": 132
    },
    {
      "name": "spin_jump",
      "duration": 1.2,
      "channels": 132
    },
    {
      "name": "walk",
      "duration": 1.1,
      "channels": 132
    }
  ],
  "pass": true,
  "fails": [],
…
rig_validation.json · 4 kB · open
{
 "pass_": true,
 "checks": [
  {
   "name": "Zoen skeleton: prefix-free Mixamo names, root and sockets present",
   "ok": true,
   "detail": ""
  },
  {
   "name": "Hips hangs under root",
   "ok": true,
   "detail": ""
  },
  {
   "name": "16 spring chains, all bones exist, every chain ends in a non-deforming tip",
   "ok": true,
   "detail": ""
  },
  {
   "name": "83 deforming spring bones (4 antenna x 8, scarf 3 x 8, 9 sashes)",
   "ok": true,
   "detail": "83"
  },
  {
   "name": "every vertex weighted, weights sum to 1",
   "ok": true,
   "detail": "unweighted 0, not normalised 0"
  },
  {
   "name": "<= 4 influences per vertex (Zoen budget)",
   "ok": true,
   "detail": "0"
  },
  {
   "name": "no weights on non-deforming bones (tips, sockets, root)",
   "ok": true,
   "detail": "0"
  },
  {
   "name": "UVs inside 0..1",
…

Tests

pass rig validation (hands/feet pass) · 14.7 s · raw log$ /Users/king/Applications/Blender.app/Contents/MacOS/Blender -b art/3d/wukong/build/04_animated.blend -P tools/blender/wukong/wukong_validate_rig.py -- logs/evidence/CHR-WUKONG-20261005-03/rig_validation.json
pass glTF contract · 1.0 s · raw log$ node tools/blender/wukong/validate_glb.mjs art/3d/wukong/demo/wukong.glb logs/evidence/CHR-WUKONG-20261005-03/glb_report.json
pass browser demo headless Chrome · 29.2 s · raw log$ node tools/blender/wukong/demo_test.mjs
pass planted feet do not slide (ball of foot vs ground speed) · 12.0 s · raw log$ /Users/king/Applications/Blender.app/Contents/MacOS/Blender -b art/3d/wukong/build/04_animated.blend -P /private/tmp/claude-501/-Users-king-Desktop-Workspace-SRO/e57a6501-cb52-4b77-8d13-3498e17ed9ff/scratchpad/slide.py -- logs/evidence/CHR-WUKONG-20261005-03/foot_slide.json
pass foot slide: planted heel/ball move at ground speed · 2.7 s · raw log$ /Users/king/Applications/Blender.app/Contents/MacOS/Blender -b art/3d/wukong/build/04_animated.blend -P tools/blender/wukong/wukong_foot_slide.py -- logs/evidence/CHR-WUKONG-20261005-03/foot_slide.json
pass foot slide (final) · 1.0 s · raw log$ /Users/king/Applications/Blender.app/Contents/MacOS/Blender -b art/3d/wukong/build/04_animated.blend -P tools/blender/wukong/wukong_foot_slide.py -- logs/evidence/CHR-WUKONG-20261005-03/foot_slide.json
pass rig validation (final) · 1.3 s · raw log$ /Users/king/Applications/Blender.app/Contents/MacOS/Blender -b art/3d/wukong/build/04_animated.blend -P tools/blender/wukong/wukong_validate_rig.py -- logs/evidence/CHR-WUKONG-20261005-03/rig_validation.json
pass glTF contract (final) · 0.1 s · raw log$ node tools/blender/wukong/validate_glb.mjs art/3d/wukong/demo/wukong.glb logs/evidence/CHR-WUKONG-20261005-03/glb_report.json
pass browser demo headless Chrome (final) · 21.7 s · raw log$ node tools/blender/wukong/demo_test.mjs
pass browser demo headless Chrome (after fixed-step mode) · 52.2 s · raw log$ node tools/blender/wukong/demo_test.mjs

Notes

2026-10-05 04:47 UTC · Hands: finger-curl layer (add_hands) from rest-skeleton palm normals; walk/idle RELAXED, run FIST, spin blends to fist; arms 9 deg closer to body, walk swing 15, run elbow 92 forearms forward. Feet: walk 1.05 m/s x 1.1 s (stride 1.15 m), feet 4.5 cm narrower, lift 3 cm, heel strike -21, push-off 42; run heel kick lift 0.27 peak 0.28, narrower 3.5 cm; swing tangents at true ground speed + Hermite pitch remove contact skids. New test tools/blender/wukong/wukong_foot_slide.py (walk mean 0.016 m/s, run 0.026 m/s). NOTE: test #04 'planted feet do not slide' was a non-asserting draft (it printed, never failed) and its pass means nothing; tests #05/#06 are the real asserting test. Capture: demo ?fixed + __wukong.step, demo_capture ref reads canvas frames (wall-clock recording lost time at load avg ~267, screenshots timed out). Evidence: wukong_hands_feet_vs_reference.mp4, wukong_hands_feet_closeup.mp4.