MOTION (§41.1). The clip library goes 8 -> 46: ten idles, eight browse, eight sit/lean, eight social, six locomotion, six venue, in SIX grouped GLBs (one fetch each), 3.35 MB — LESS than the 4.29 MB the old eight cost, via lossless dedup + int16 rotations (worst error 0.0034 deg). All six verified skeleton-only (tris 0, meshes 0, nodes 66): ZERO DRAW, which is what makes this round affordable. No retarget was run and none was wanted — the bank and the peds are the same mixamorig skeleton, so retargeting would add error AND bake the ped mesh into the clip, ending zero-draw. MIRPAMO 'make smoke' green to prove the tool, then deliberately unused. Three seeds in the brief were duds and got substituted: the whole *_Degree_Turn set is RIFLE-AIMING, and two 'examine' clips are 262 KB static poses, not motion. R16 flat-body trap re-checked on all 46 (spine tilt 24 samples/clip, 0 frames >75 deg); turn_in_place auto-demoted from loopable on a 36.7 deg seam. RULING 1 — the Bandai hazard, closed non-destructively and better than specified. 3,077 CC BY-NC clips sat unzoned in a neutrally-named path. Renamed PER FILE (3,077/3,077) not just the directory, because mirpamo names output <rig>@<clip>.glb — the _NC-research marker now PROPAGATES into any retargeted GLB automatically. Nothing deleted; ultra's red/bandai re-verified as canonical. Ledger corrected: the manifest claimed CC-BY-NC-ND, the bundled licence text says CC BY-NC, no ND. PROPS (§41.2). 110 assets from three libraries, published, sha1-verified, 0 validator errors both modes. THE FINDING: every handover number was a TRIANGLE count, and triangles were never the binding constraint — DRAW CALLS were. As handed over this cargo cost 14,140 draws against a 162-draw margin; it ships at 117. '3dstore passes as-is' was true on tris/metres/ Draco/textures and FALSE on draws — 30 of 46 files carried up to 16 materials on one mesh (one per record sleeve), so a 1,020-tri tub cost 16 draws; baked to COLOR_0, 288 -> 40, zero tri drift, A/B identical. dj-gear's own manifest claimed median 6,288 tris / 18 under budget; measured 51,528 and 12, with draws to 2,145. Pub props were NOT metre-correct (every source unit-normalised to max dim 1.00 m) and 40x decimation was impossible as specified (loungeChair is 94% non-manifold). Ruling 5 vs the draw budget was a real conflict (one mixer = 4.6x a whole room); resolved by joining SCENERY selectively while every control node keeps its object/name/pivot — verified by parsing the SHIPPED GLB, not the tool that wrote it: PASS 4 / STATIC 10 / N/A 17 / FAIL 0. deck_1200_rigged = 5 draws with Platter_SPIN, Arm_YAW, Fader_PITCH, Btn_STARTSTOP intact. The R40 four-surface transmission gate FIRED ON LIVE CARGO: 5 genuinely transmissive materials (cartridge dust-covers, a mixer meter window) that would each have doubled every opaque draw in the room. 9 assets rejected on eyeball after decimation rather than shipping mush. Two existing-tooling bugs fixed: normalize.py's yaw/up were silent no-ops (the jukebox exported 0.40 m instead of 0.97 m), and footprints now measure the shipped GLB. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
90 lines
8.2 KiB
JSON
90 lines
8.2 KiB
JSON
{
|
|
"_comment": "PROCITY R41 §41.1 motion-library selection. SOURCE: ultra ~/Documents/MOTIONLIB/green/mixamo_full/ ONLY (Mixamo/Adobe, GREEN zone: free to use inside games, no attribution required, never redistribute as clip packs). Ruling 2: one licence regime this round. Every entry names an exact file in that bank's index.json — no wildcards (ruling 3).",
|
|
"_source_dir": "johnking@100.91.239.7:~/Documents/MOTIONLIB/green/mixamo_full/",
|
|
"_group_files": "web/models/clips/<group>.glb — 6 groups, one fetch each (ruling 6)",
|
|
"groups": {
|
|
"idles": {
|
|
"category": "idle",
|
|
"desc": "the clone-army killer: 10 distinct standing idles",
|
|
"clips": [
|
|
{"id": "idle_breathing", "file": "Breathing_Idle__c9c6d0d5.fbx", "mixamo": "Breathing Idle", "loop": true},
|
|
{"id": "idle_standing", "file": "Standing_Idle__c9c831cf.fbx", "mixamo": "Standing Idle", "loop": true},
|
|
{"id": "idle_look_around", "file": "Idle_Stand_Looking_Around__c9c6cdf7.fbx", "mixamo": "Looking Around", "loop": true},
|
|
{"id": "idle_weight_shift", "file": "Shifting_Weight_From_Side_To_Side__c9c908f7.fbx","mixamo": "Weight Shift", "loop": true},
|
|
{"id": "idle_cocky_lean", "file": "Cocky_Lean_Back__c9c90e3c.fbx", "mixamo": "Being Cocky", "loop": false},
|
|
{"id": "idle_yawn", "file": "Big_Yawn_While_Standing__c9c98361.fbx", "mixamo": "Yawn", "loop": false},
|
|
{"id": "idle_happy_1", "file": "Happy_Idle_Variation_1__c9ccf37e.fbx", "mixamo": "Happy Idle", "loop": true},
|
|
{"id": "idle_happy_2", "file": "Happy_Idle_Variation_2__c9ccf445.fbx", "mixamo": "Happy Idle", "loop": true},
|
|
{"id": "idle_old_man", "file": "Old_Man_Standing_Idle__c9c6c004.fbx", "mixamo": "Old Man Idle", "loop": true},
|
|
{"id": "idle_smoking", "file": "Idle_Smoking__c9c603fd.fbx", "mixamo": "Smoking", "loop": true}
|
|
]
|
|
},
|
|
"browse": {
|
|
"category": "browse",
|
|
"desc": "shop-floor: hold / examine / open / carry / pick up",
|
|
"clips": [
|
|
{"id": "browse_hold_idle", "file": "Holding_An_Object_Idle__c9cda11a.fbx", "mixamo": "Holding Idle", "loop": true},
|
|
{"id": "browse_hold_walk", "file": "Holding_An_Object_While_Walking__c9cda1e7.fbx", "mixamo": "Holding Walk", "loop": true},
|
|
{"id": "browse_hold_turn_l", "file": "Holding_An_Object_While_Turning_Left__c9cda2af.fbx", "mixamo": "Holding Turn Left", "loop": false, "pair": "browse_hold_turn_r"},
|
|
{"id": "browse_hold_turn_r", "file": "Holding_An_Object_While_Turning_Right__c9cda378.fbx", "mixamo": "Holding Turn Right", "loop": false, "pair": "browse_hold_turn_l"},
|
|
{"id": "browse_open_cabinet", "file": "Opening_Cabinet_Door__c9c6d49e.fbx", "mixamo": "Opening", "loop": false, "pair": "browse_close_cabinet"},
|
|
{"id": "browse_close_cabinet","file": "Closing_Cabinet_Door__c9c6d55d.fbx", "mixamo": "Closing", "loop": false, "pair": "browse_open_cabinet"},
|
|
{"id": "browse_carry_box", "file": "Carrying_A_Box__c9cd8d90.fbx", "mixamo": "Box Idle", "loop": true},
|
|
{"id": "browse_pick_up", "file": "Picking_Up_An_Object_With_One_Hand__c9c6c5eb.fbx","mixamo": "Picking Up Object","loop": false}
|
|
]
|
|
},
|
|
"sitlean": {
|
|
"category": "sitlean",
|
|
"desc": "benches and shopfronts: 4 seated + 4 leaning",
|
|
"clips": [
|
|
{"id": "sit_bench_swing", "file": "Little_Girl_Sitting_On_A_Bench_Swinging_Her_Legs__c9c89165.fbx", "mixamo": "Sitting", "loop": true},
|
|
{"id": "sit_hands_thighs", "file": "Sitting_In_Chair_Hands_Resting_On_Thighs__c9cb9783.fbx", "mixamo": "Sitting Idle", "loop": true},
|
|
{"id": "sit_impatient", "file": "Sitting_And_Impatiently_Waiting__c9ccad56.fbx", "mixamo": "Sitting", "loop": true},
|
|
{"id": "sit_fidget_feet", "file": "Sit_With_Fidgeting_Feet__c9c699a5.fbx", "mixamo": "Sitting", "loop": true},
|
|
{"id": "lean_wall_postures", "file": "Leaning_Against_A_Wall_With_Various_Postures__c9c695f0.fbx", "mixamo": "One Shoulder Lean", "loop": true},
|
|
{"id": "lean_wall_leg_up", "file": "Leaning_Square_Against_A_Wall_With_One_Leg_Up__c9c696b0.fbx", "mixamo": "Leaning", "loop": true},
|
|
{"id": "lean_wall_shoulders", "file": "Leaning_Square_With_Shoulders_Against_A_Wall__c9c69770.fbx", "mixamo": "Leaning", "loop": true},
|
|
{"id": "lean_wall_walkman", "file": "Little_Girl_Leaning_On_A_Wall_Listening_To_Music__c9c8bace.fbx", "mixamo": "Leaning On A Wall", "loop": true}
|
|
]
|
|
},
|
|
"social": {
|
|
"category": "social",
|
|
"desc": "two-person street/shop talk; the handshake pair stays paired",
|
|
"clips": [
|
|
{"id": "social_conversation", "file": "General_Conversation__c9c88301.fbx", "mixamo": "Talking", "loop": true},
|
|
{"id": "social_chat_water", "file": "Having_A_Chat_At_The_Watercooler__c9c9f1c9.fbx", "mixamo": "Talking At Watercooler","loop": true},
|
|
{"id": "social_greeting", "file": "Greeting_While_Standing__c9c7996a.fbx", "mixamo": "Standing Greeting", "loop": false},
|
|
{"id": "social_shake_1", "file": "2_People_Shaking_Hands_Part_1_-_Female__c9c9f343.fbx", "mixamo": "Shaking Hands 1", "loop": false, "pair": "social_shake_2"},
|
|
{"id": "social_shake_2", "file": "2_People_Shaking_Hands_Part_2_-_Male__c9c9f403.fbx", "mixamo": "Shaking Hands 2", "loop": false, "pair": "social_shake_1"},
|
|
{"id": "social_nod_yes", "file": "Nodding_Head_Yes__c9c90d7b.fbx", "mixamo": "Head Nod Yes", "loop": false},
|
|
{"id": "social_shake_no", "file": "Shaking_Head_No_Dismissively__c9c90b3c.fbx", "mixamo": "Shaking Head No", "loop": false},
|
|
{"id": "social_wave", "file": "Waving__c9c5ed32.fbx", "mixamo": "Waving", "loop": false}
|
|
]
|
|
},
|
|
"locomotion": {
|
|
"category": "locomotion",
|
|
"desc": "civilian walk + turn set (the named Degree_Turn set is rifle-aiming — substituted, see AUDIT)",
|
|
"clips": [
|
|
{"id": "walk_shopping_bag", "file": "Male_Walking_With_Shopping_Bag__c9c64027.fbx", "mixamo": "Walking With Shopping Bag", "loop": true},
|
|
{"id": "turn_left_90", "file": "Turning_90_Degrees_Left__c9ceef5f.fbx", "mixamo": "Unarmed Turn Left 90", "loop": false, "pair": "turn_right_90"},
|
|
{"id": "turn_right_90", "file": "Turning_90_Degrees_Right__c9cef01d.fbx", "mixamo": "Unarmed Turn Right 90", "loop": false, "pair": "turn_left_90"},
|
|
{"id": "turn_walk_180", "file": "Turning_180_Degrees_While_Walking__c9c9c73f.fbx", "mixamo": "Walking Turn 180", "loop": false},
|
|
{"id": "turn_in_place", "file": "Turning_In_Place__c9c70ef0.fbx", "mixamo": "Turning", "loop": true},
|
|
{"id": "walk_to_stand", "file": "Walking_To_Standing_Idle__c9c8d966.fbx", "mixamo": "Stop Walking", "loop": false}
|
|
]
|
|
},
|
|
"venue": {
|
|
"category": "venue",
|
|
"desc": "pub / gig / record shop",
|
|
"clips": [
|
|
{"id": "venue_clap_stand", "file": "Clap_While_Standing__c9c60ef2.fbx", "mixamo": "Clapping", "loop": true},
|
|
{"id": "venue_clap_seated", "file": "Clap_While_Seated__c9c60fce.fbx", "mixamo": "Clapping", "loop": true},
|
|
{"id": "venue_cheer", "file": "Male_Cheering_With_Two_Fists_Pump__c9c66dfd.fbx", "mixamo": "Cheering", "loop": true},
|
|
{"id": "venue_northern_soul", "file": "Basic_Northern_Soul_Step__c9cbe56d.fbx", "mixamo": "Northern Soul Dance","loop": true},
|
|
{"id": "venue_bartending", "file": "Pouring_And_Serving_Drinks__c9c78799.fbx", "mixamo": "Bartending", "loop": true},
|
|
{"id": "venue_headphones", "file": "Male_With_Headphones_Listening_To_Music__c9c63329.fbx", "mixamo": "Listening To Music", "loop": true}
|
|
]
|
|
}
|
|
}
|
|
}
|