Commit Graph

64 Commits

Author SHA1 Message Date
Can Narin 0fae2b514c tailor(voyager): strapless bandeau lane -- elastic-free zero-g recipe + 23-variant work log
Female voyager bandeau top from the fc-voyager-kilt-gpt refs. Winning
construction (md_final_v16/v23): seamless-loop doctrine -- NO edge elastic
(gathering is what notched the armpit junctions), body-snug cut, zero-g wrap
(SetSimulationGravity(0) BEFORE ResetClothArrangement -- one full-gravity
materialization tick drops the bistable tube into the low basin), stiff 40f
positioning then soft 110f conform, self-measuring retry loop.

Hard-won facts logged in the scripts: strapless garments never survive full
gravity (frictionless skin + stretchy elastic); arrangement x IS azimuth
(Body_Back_Center_1 native x=0, forcing 50/50 sews both panels into a front
pouch); SetArrangementOrientation flips panel facing but mirrors it L/R;
frozen cloth renders cyan; back panel textured face points at the skin --
fix is manual Flip Normal (no API).

Texture: positioned plait/rope/fringe tile spanning the 170mm panel once
(hem anchors at v=0.5 and wraps). manual_fit_backup.zprj preserves Can's
hand-fitted drape. Exports still pending final drape approval.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 22:46:31 +03:00
Can Narin fea96bf582 tailor(mako): kilt v2 on Mako via Lena donor-swap -- MD rejects all Mako meshes
First male garment through the MD lane. MD's body analyzer rejects every
Tripo-Mako-derived mesh (0 arrangement points, 'avatar must be in T-pose or
A-pose' despite a verified 0.4-deg-perfect skeleton; same wall as ariki-game
e244e8a). Chimera test pins it on the MESH -- Lena's mesh on Mako's armature
gets 109 points. Ruled out: finger weights, decimation, head/hand chops, leg
spread, rename, OBJ import, export settings.

Workaround that ships: arrange+sew+elastic-lock the garment on a 1.07x-scaled
LENA donor, ImportFBX Mako with bAdd, DeleteAvatar(Lena), re-settle. A
seamless single-wrap slides off Mako's legs during the swap -- only SEWN
garments survive it, so the flat pattern's wrap reads are faked: overlap flap
seamed to a split front-waist segment, comb-teeth fringe (piupiu technique)
carved into the hem, rope belt as rigid Blender geometry (build_rope_belt.py).

Other findings baked into work/mako_kilt_v1/ scripts + config:
- fabric texture anchor: pattern y=0 maps to texture v=0.5 and WRAPS
  (striped-probe verified; make_kilt_cloth.py mm_from_row)
- waist elastic never reaches TotalLength at default strength; strength 60
  moved placement from 1.019 to 1.043
- SetAvatarActivation returns False (unusable); GetArrangementList dies on
  any scene avatar mutation

QC PASS (turntable render, alpha mask, height 1.818): top 1.063 vs 1.054
target (tol .03), fringe tips 0.666 vs 0.665 (tol .04).

Avatars: _fingers = full finger weights restored via UV-space transfer from
rig-work/mako_fullhead_rigged.fbx (build_mako_avatar_fingers.py); shipped-body
avatar landed for future diagnosis. v1 (pre-flap/teeth) kept as provenance.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 16:21:16 +03:00
jeremy 9ac741302e feat(hand-poses): canonical hand-pose library, pre-ship staging for ariki-game
Four Kevin-harvested poses (flat/relaxed/fist/grip) as glTF node-local quats
on the canonical Quaternius skeleton. pose_flat shipped to the runtime
HandPoseLayer 2026-08-17 and verified in the dance bed; fist/grip staged,
blocked on the Lena finger-weight repair.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 14:53:20 -07:00
jeremy 84eef7a5a2 chore(rig-work): mako_rig_v5 finger-rig blends (WIP + clean)
Two-finger mako rig authoring source: v5 working file plus a cleaned
variant, ahead of the TwoFinger body export.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 11:47:43 -07:00
jeremy eae8327811 feat(characters): ship lena_leafbikini_base_v01 as female Ariki default
Lena with the leaf bikini sculpted into the mesh — a separate character
descending from her own Tripo original, not a lena_base_v02. Full-res
(1,029,360 v) at 1.777 m, now Ariki_Female_QuatSkin.glb + LOD1.

First nearest-surface graft in the rig lane: AccuRig had to be fed a 20:1
decimated bait, so the index-exact graft the two earlier ships used was
impossible. The bait recovers AccuRig's 9.346 mm offset in closed form, which
makes it a required input forever — copied into the ship folder, and rig-work's
"disposable" rule amended to say so. Mesh moved 0 mm, 0 unweighted verts.

lena_base_v01 goes superseded, not rolled-back: she lost the default slot but
Ariki_Female_QuatSkin_Nude.glb is untouched, so per rule 9 her folder stays put.

Also lands the leaf-cut lane (work/lena_leafbikini): hue-keyed seam detection
that removes the leaf shell and leaves both holes open by request, registered
as a lane milestone with its sha256. Corrects the rig-work trap note — baits do
carry embedded textures; it is AccuRig that strips them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 16:09:45 -07:00
jeremy d6f1587eb0 feat(rig-work): lena_leafbikini AccuRig rig bait (decimated FBX)
Decimated the leaf-bikini Lena ancestor to a 77,999-tri AccuRig-loadable FBX
(body 24k / head 14k / hands 40k via tools/rigbait_decimate.py) — same recipe
and tri budget as lena_tripo_rigbait. Disposable skeleton carrier, never
shipped. QA renders confirm A-pose region cuts landed and fingers are distinct.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-13 12:39:17 -07:00
jeremy 6d519937ad Merge branch 'main' of https://tinqs.com/tinqs/animation
# Conflicts:
#	characters/REGISTRY.md
2026-08-13 12:27:25 -07:00
jeremy 17d7c246b0 feat(characters): register lena_leafbikini ancestors (GLB + FBX) from Özlem
New Tripo delivery — lena wearing a sculpted-in leaf bikini — mirrored
byte-identical from ariki-game race-sources into originals/female/ as two
read-only ancestors for future derivatives:

- female_lena_leafbikini_tripo.glb (sha256 977104ba…)
- female_lena_leafbikini_tripo_fbx/ (FBX + .fbm textures, UUID name kept, rule 7)

Registered in REGISTRY.md (Originals + new lena_leafbikini Characters row) and
listed in originals/README.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-13 12:23:46 -07:00
jeremy c4607e27b9 chore(gitignore): per-stage lane output dirs (characters/work/*/v0N/)
characters/work/lena/v02/ is 1,019 MB — 15 .blend snapshots of the same ~883k-vertex
mesh plus their .glb exports. working-files.md puts per-attempt .blend in the SCRATCH
tier, 'never committed': the NN_*.py recipes are the history and regenerate any of
them from masters/55_fullres_v02.blend, which is pinned and tracked. The lane already
reached 3.0 GB once, 2.2 GB of it .blend files, which is why the rule exists.

git add -f any artifact that gets registered in characters/REGISTRY.md. None is yet —
the v03 body is HELD with known defects.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 18:54:42 -07:00
jeremy e244e8aee2 feat(tailor+mako): MD hunter-skirt sources, Mako MD avatar, mako lane intermediates
Marvelous Designer authoring sources for lena_hunter_skirt_v8 — the .zprj/.zpac are
hand-draped and no script regenerates them, so they are KEEP tier, not scratch — plus
the exported garment (fbx/obj/mtl), the colorway and cloth textures, and the QC
screenshots (front/back/presim) the drape was judged on.

tools/tailor/avatar/Mako_Fullhead_QuatSkin_Avatar.fbx is the MD avatar built from the
shipped male body. Worth landing even though it does not work yet: Mako's FBX imports
into MD but yields 0 arrangement points against Lena's 109, which blocks every male
garment. Having the exact file in-repo is the starting point for diagnosing that.

Mako lane intermediates (decimated fullhead, AccuRig glb, rigged blend) join their
recipes under work/mako.

All heavy files ride LFS (.glb/.blend/.fbx/.obj/.zprj/.zpac already in .gitattributes).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 18:54:16 -07:00
jeremy c12c4f156c feat(lena): v02 lane recipes + the archival full-res master
The v02 chain, which exists because bisecting the shard-eye defect proved it lives in
the hires MASTER rather than in any v02 step: the early heal chain ran whole-mesh welds
and reset custom split normals, and the eye/lash shells only read as an eye through
Tripo's authored normals. Every descendant inherits it, including the shipped body.

  48_decimate_headsafe  body/hands only, head bit-identical (feathered ramp)
  49_seams_v02          24_seams with a density-aware hip landmark — the v01 rule fired
                        at u=0.610, mid-belly, on the head-protected vert count
  50_seams_headuv       body-only unwrap; the head KEEPS its original Tripo charts.
                        SLIM collapsed the undecimated lash/brow slivers to points and
                        ANGLE_BASED packed at half v01's texel density; the face was
                        the best-mapped region of the source atlas, so it is reused
  51_reatlas_v02        31_reatlas + centroid splats for sub-texel triangles — the
                        skipped set IS the lashes, which rendered as grey glass
  52_head_transplant    the PRISTINE ORIGINAL head onto the decimated nude body
  53_rig_transfer       54_crotch_refill

55_fullres_v02.blend is pinned in .lanekeep as THE archival master: full-res nude body
+ pristine original head, crotch refill and texture despeckle applied, 883,404 v /
1,761,640 f. It supersedes 34_v04 as the lane root (34_v04's head has the shard eyes).

Also: tools/graft_hands.py, the Marvelous Designer hunter-skirt configs v1-v8, the
hunter cloth texture generator, and Mako's measurement card.

Per .agents/rules/working-files.md the per-attempt .blend files under work/lena/v02
are SCRATCH ("never committed") — the .py recipes here are the history and regenerate
any of them from the pinned master. See the ignore rule landing next.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 18:53:17 -07:00
jeremy 23fc4b378e docs(characters): brows went back to painted on 2026-08-12
Merging origin/main in ariki-game surfaced a product decision newer than this doc:
Ozan removed the mesh brows, lash cards and browless-face swap from the product path.
Brows are painted on the body texture again and keep their baked colour, so "brows
follow the hair swatch" and the generated-surface lane are both parked.

The tooling and the brow wiki page still describe the 3D lane, so the note now says to
read the code before the docs there.

Two consequences outlive the revert and are kept: painted brows are still atlas-bound,
so the v02 re-atlas has to carry the pigment (an albedo-fidelity job now, not three
artifacts to regenerate); and character_brow.gdshader is still the only mechanism that
could recolour a brow on a scanned face, since raised scan geometry cannot be erased
with a texture.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 17:47:00 -07:00
jeremy 760cf12788 feat(characters): hair-fit measurement + head-features contract
Ozan's hair system rebinds Quaternius styles (100% rigid to one Head bone) onto
whichever body loads, corrected by three hand-tuned constants in
CharacterBuildData.HeadFit. Those constants are only valid against the skull they
were tuned on, and nothing re-checks them when a body is rebaked. Both ship bodies
are currently wrong, in opposite directions.

tools/measure_head_shell.py:
  --fit     solve HeadScale/HairOffset from two cranium landmarks. A scale-about-
            pivot plus a translate has exactly two degrees of freedom per axis, so
            the crown + widest-cranium slice determine both outright -- no bed pass.
  --sweep   score every style against the clearance it was AUTHORED with on its own
            stock rig (a mohawk stands proud, a beard hangs at the chin -- absolute
            crown height is not the test).
  default   full Head-weighted shell AND the cranium band. The full shell is what
            MakoHeadFit quotes; it is inflated several cm by jaw/ear/neck weight
            bleed and is not the surface a cap sits on.

Measured against the shipped GLBs:
  Lena  cranium needs Y 0.960, carries 1.431 (+49%) -- every style floats 4.4-7.3cm
  Mako  cranium needs Y 1.186, carries 1.346 (+13%) -- every style sinks, buzz cut
        2.2cm into his skull, moustache 8.0cm low
Solved constants take Mako to 0.00cm worst error over 10 styles, Lena to 0.29cm mean.

docs/characters/head-features-contract.md records the system, the measurements, and
what a 3-constant fit still cannot reach: Lena needs 1.613 in X but 1.311 in Z, a
23% anisotropy that stretches an authored cap sideways and drags ear cutouts along a
diagonal. That is Ozan's logged residual and wants a per-body geometry bake. Mako's
anisotropy is only 3%, so constants alone should suffice for him.

Also noted: the whole hair set shares just two base textures, so "authored per-colour
hair textures" -- the fix the wiki writes off in favour of the /0.55 swatch hack --
is 16 PNGs.

Crown placement is rest-pose arithmetic; X/Z and the in-bed look are unverified.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 16:07:34 -07:00
jeremy 6dc60b0d32 ship(mako): mako_base_v01 — fullhead body (24k body / full-res 158k head) as male Ariki default
Decimate body-only (01), AccuRig manual rig, index-exact graft (02, mesh moved
0mm), QuatSkin via ariki-game converter (HEAD_SAFE=1, body-only normals fix).
Ships as Ariki_Male_Mako.glb, lineage MALE-MAKO-FULLHEAD-V1. First mako ship.
Height 1.818m provisional. Ceremony per REGISTRY.md; irreplaceable AccuRig FBX
preserved in rig/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 10:33:15 -07:00
jeremy a4e16315ae Merge branch 'main' of https://tinqs.com/tinqs/animation 2026-08-12 07:18:24 -07:00
jeremy 3d8825f5a9 reorg(characters): ship-time folders — lena_base_v01 ships, lane moves to work/lena
REGISTRY rewritten around the central rule: a character folder is born only
when a body ships to ariki-game (<character>_base_v<NN> = ship ordinal).
lena_nude dissolves accordingly:
- characters/female/lena_base_v01/ — SHIPPED 2026-08-10: AccuRig GLB carrier,
  T-pose/rig FBX + JSON, previews, frozen README
- characters/work/lena/ — the live lane: recipes 01-47 (incl. new 36-47:
  refill/sheets/clay/despeckle/musculature/spin/AccuRig export/graft/pose QC),
  masters (athletic_v04 blend + textures, accurig blend), lane-history README
- hires_claude/hires_work intermediates (blends, logs, probes) pruned

Supporting docs: AGENTS.md, working-files rule, rig-graft plan addendum,
originals README, prune_lane.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 07:17:15 -07:00
jeremy a2fe8f334d Merge branch 'main' of https://tinqs.com/tinqs/animation 2026-08-11 16:16:49 -07:00
jeremy e08ad2f3e9 docs(animations): naming conventions, wiring audit, unwired catalogue + claude-desktop context brief
NAMING.md/AUDIT.md/UNWIRED.md are the conventions-doc pivot after the
mass-rename was killed; committing so the bridge repo tree is clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 16:07:41 -07:00
jeremy 4bbd1a1732 docs(humans): ship the MD explainer as a PDF with the images baked in
The HTML references screenshots relatively, so it only renders inside a
checkout -- mailing the file on its own gives broken images. The PDF is one
self-contained file, which is what actually gets sent to Ozlem.

- tools/humans_to_pdf.py: renders .humans/*.html via headless Chrome (or
  Edge), so the output is what the browser shows. HTML stays the source.
- @media print block on the page: the wide tables and the pipeline diagram
  scroll on screen but would be cut off at the paper edge; this reflows
  them and keeps figures, callouts and table rows off page breaks.
  Verified at A4 content width -- 6 pages, both screenshots embedded.
- *.pdf -> LFS. Each regeneration is a whole new ~2 MB blob, and unlike
  png/jpg there are no PDFs tracked raw yet, so there is no history to
  rewrite by adding it now.

Also corrects working-files.md: it claimed .gitattributes does not LFS-track
.blend, which was true when written and is no longer -- .blend/.zprj/.obj/
.npy/.npz have since been added. The note now covers what is actually still
excluded (png/jpg, deliberately) and why that makes QA renders scratch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 09:31:37 -07:00
jeremy 3ba86b2ea8 feat: clothing lane, character sources, and DCC bridges
Bulk import of the working lanes that were living untracked on the PC.

Content:
- characters/  Lena/male body lanes, bakes, texture work, run logs
- clothing/    garment pipeline, configs, gates, contract docs
- garments/    MD-authored garment sources (.zprj/.zpac)
- UAL-Lib/     Universal Animation Library 2 source (.blend/.fbx/.glb)
- tools/       blender_bridge, iclone_bridge, md_bridge, tailor, glm_agent
- docs/, plans/, dev/, .agents/plans/

Repo hygiene:
- .gitattributes: LFS now covers .blend, .zprj, .zpac, .obj, .npy and the
  Reallusion .iAvatar/.ccAvatar/.ccRestore containers. Without this the
  ~3.8 GB in this commit would land as raw blobs. .png/.jpg are left out
  on purpose — ~250 are already tracked raw and converting them would
  rewrite every one without shrinking history.
- .gitignore: exclude /accurig/ (~1 GB AccuRig program files, redistributable
  from Reallusion, nothing authored here) and /dev/null/ (git-lfs hook copies
  dropped by a `>/dev/null` redirect on Windows).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:55:43 -07:00
Can Narin 3363209cac inbox(lena): female Lena nude base turnaround refs for Jeremy — front/side/back T-pose
Smooth mannequin base body renders for clothing work.
Source: docs/conceptart/generated-images/female-lena-base/

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 23:13:09 +03:00
jeremy d1030def4e docs+tools: working-file policy, lane pruner, and a human MD explainer
Two pieces of work.

1. Keep milestones, not steps. Staged NN_*.py lanes were saving a full
   ~80 MB .blend per attempt, so Lena's lane reached 3.0 GB of which 2.2 GB
   was 30 .blend files -- five snapshots to land one crotch fix, five more
   for the bra. The .py recipes are the real history; the blends are cache.

   - .agents/rules/working-files.md: four-tier policy (KEEP / MASTER /
     SCRATCH / UNKNOWN) + how to work a lane.
   - tools/prune_lane.py: classifies a lane and prunes the scratch tier.
     Dry-run by default. Reads a per-lane .lanekeep manifest, flags
     binaries byte-identical to a registered original (canonical name
     always survives a duplicate pair), and never auto-deletes a .blend
     with no step script beside it -- those cannot be rebuilt.
   - .gitignore: scratch patterns can never be committed.

   Dry run on characters/female/lena_nude reports 2.3 GB reclaimable.
   Not applied -- that lane had a live Blender session at the time.

2. .humans/marvelous-designer.html: how we author garments in Marvelous
   Designer, written for people rather than agents -- the six-step process,
   what has been made, the traps that cost hours, and what is still
   unsolved. Matches the .humans/ HTML convention in ariki-game.

Also committing the docs the AGENTS.md knowledge map and the new page
reference, so they are not dangling: the clothing-lane architecture page,
the marvelous-designer skill, and the two screenshots the page embeds.

characters/ is deliberately untracked and stays that way -- it holds GBs of
blends and GLBs, and .gitattributes does not LFS-track .blend.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 12:05:46 -07:00
jeremy 854dbb5ce4 chore(agents): migrate to agents.md protocol — .agents/ wiki/plans/rules/skills
Root AGENTS.md is now a thin entry point + knowledge map; the batch-workflow
detail it duplicated already lived in .claude/skills/animation/SKILL.md.
Folded docs/ (dances registry + iclone-bridge stub), root plans/, and
devops-reports/ into .agents/wiki/ and .agents/plans/ per the per-repo .agents/
convention. Added .agents/SOUL.md, .agents/AGENTS.md, wiki/ARCHITECTURE.md,
wiki/architecture/, and wiki/master-plan.md (derived from the closed plans +
the dance registry's live ceremony-slot table). Fixed doc-path references in
exchange/GUIDE.md, the animation skill, and the iclone-bridge stub. All moves
via mv (git detected as renames) — no content deleted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 15:02:47 -07:00
jeremy 28fdf940f7 revert(inbox): restore Ozan's shipped QuatSkin — v8 rig experiment backed out
The v8 body pushed here (078b0b7) broke Lena's hands + eyebrow fit and its
rest-mismatch premise was unconfirmed (ariki-game 174a0429e). Back to baseline.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 14:33:01 -07:00
jeremy 06d950649b docs: add AGENTS.md — agent orientation guide for the animation bridge
Fast-orientation guide synthesized from README.md and the animation skill:
batch workflow, canonical retarget command, nd_## naming, loop QC, gotchas,
and repo etiquette. Points to the skills and docs/dances/REGISTRY.md as
authoritative sources.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 13:20:27 -07:00
jeremy 078b0b7a07 feat(inbox): Ariki_Female_QuatSkin v8 — rig fixed onto the UAL clip rest
Supersedes the previous QuatSkin drop: skeleton now matches UAL1.glb exactly
(0.0001° all 65 joints; ariki-game e67df53e6). Plays the stock clip libraries
without crumpling. Gate: ariki-game tools/rig_pose_gate.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 13:08:42 -07:00
jeremy 1219954fdc chore(pm): move devops-reports/ to repo root (Jeremy)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 11:36:02 -07:00
jeremy 82266c97bb docs(pm): devops report — animation-standard convergence 2026-07-23/24
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 10:58:43 -07:00
jeremy b4d962167f fix(audit): converge on the 2026-07-23 animation standard — tool sync, QuatSkin INBOX, registry corrections
From the conformance audit (ariki-game .agents/audits/animation-standard-assessment-2026-07-23.md):
- tools/: cc_retarget + mixamo_retarget re-synced from ariki-game (were stale forks
  missing --despike/--fingers/--map ual); kevin_retarget path now repo-relative;
  mirror rule documented in exchange/GUIDE.md
- INBOX/lena: add canonical Ariki_Female_QuatSkin.glb; README marks MixamoSkin superseded
- REGISTRY: tide_dance_01 flagged (no DanceType enum entry); rain_dance note corrected
  (RainDance IS in the enum); boat table notes live canoedismount1/run_to_dive; QC split
  (loop_qc pre-commit vs anim_qc post-ingest) documented
- docs/iclone-bridge.md: stub created (GUIDE referenced it but it never existed)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 15:37:55 -07:00
jeremy 998e306804 feat(inbox): Lena character drop — game GLB, Mixamo-rigged FBX, textures
For PC import: standard-rig Lena (Ariki_Female_MixamoSkin.glb) as used
in-game, plus the rigged/unrigged T-pose FBX sources and toned textures.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:03:22 -07:00
jeremy 228f26e7dc Merge branch 'main' of https://tinqs.com/tinqs/animation 2026-07-23 13:02:10 -07:00
jeremy cd2e598354 docs(exchange): add folder guide with tracks, archive triggers, and changeable path map
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 15:23:41 -07:00
jeremy 7f4300eae6 assets(exchange): add lena_tpose_legs5_input.fbx to INBOX from ariki-game
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 13:29:30 -07:00
jeremy 9f3f5ac891 @
feat(exchange): native Kevin Iglesias pickaxe mining FBX for iClone editing

Two-hand Mining set (Begin/Loop Ground/Loop Wall/Stop) on the native B-* rig,
pulled from ariki-assets animations/kevin-iglesias. Native rig (not the
Quaternius-retargeted game GLB) so iClone can characterize the skeleton to HIK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@
2026-07-21 13:29:18 -07:00
jeremy 528bf1a905 feat(exchange): add INBOX drop folder for incoming files
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 13:25:59 -07:00
jeremy b68fa7b920 exchange: Lena (Mixamo-rigged) + two-handed axe for iClone scene work
- lena/lena_tpose_legs5_mixamo_rigged.fbx — 65-bone mixamorig skeleton,
  mesh intact, T-pose; iClone characterizes Mixamo rigs natively.
  Textures alongside (Body_Toned, Head_Toned, Head_Detail) for relinking.
- axe_two_handed.fbx — the game's Polynesian axe (assets/models/glbs/axe.glb
  via build_axe.py, 1.30 m), converted GLB→FBX with textures embedded;
  import as a prop.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 12:21:06 -07:00
jeremy c79d23549a feat(dances): convert baraka1 → nd_01 (+ nd_01_pp loop)
Retarget baraka1.fbx (iClone, 1800f@60) to nd_01.glb (clip ND01) and bake
the ping-pong loop variant nd_01_pp.glb (clip ND01PP). _pp passes loop_qc.py
(0.00 seam pose/velocity gap). Provisional id per registry; awaiting ceremony
assignment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 10:28:07 -07:00
jeremy 19181157cc Merge branch 'main' of https://tinqs.com/jeremy/animation 2026-07-21 10:19:34 -07:00
jeremy 3b132ebe9e assets(exchange): re-export baraka1 with full motion
Replace the short baraka1 FBX with a larger motion-inclusive export and updated sidecar JSON.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 10:19:07 -07:00
jeremy f468d148bc feat(profiling): add dance motion profiler + beat-energy profiles for adopted dances
tools/dance_profile.py samples world-space bone positions per frame in
Blender headless and emits a per-beat motion-energy timeline (accents,
phrases, totals) at a given BPM. Profiles generated for war_dance_01,
fertility_dance_01, taming_dance_01.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 09:52:06 -07:00
jeremy 7b44019c9a assets(exchange): add baraka1 incoming iClone FBX
Incoming baraka1 export (FBX, sidecar JSON, textures) for the next retarget batch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 09:31:04 -07:00
jeremy 485c27a04c assets(exchange): canoe dismount incoming + water/prop FBX batch
Add canoedismount1 iClone export for retarget, swim/dive/talk staging clips, and boat_prop hull texture.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 18:13:47 -07:00
jeremy a4ad489229 assets(exchange): add dance2/haka2 incoming FBX and reference videos
Incoming iClone exports (dance2, haka2) plus mocap reference clips and Dance2.iProject for the next retarget batch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 18:37:21 -07:00
jeremy 4d6a4f6006 feat(props): export game boat as iClone staging prop (boat_prop.fbx)
tools/export_boat_prop.py (GLM-implemented, 2 rounds): hull at game scale
(8.5 m, keel 0, no recenter) + placeholder mast/sail/steering oar + 5 seat
markers + waterline + 1.9 m ref figure; self-verify incl. right-side-up
gates added after round 1 shipped an upside-down hull with all checks
green. Registry: boat actions table (6 slots, direct names). README
carries CC BY 4.0 attribution + iClone import/filming notes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 10:40:37 -07:00
jeremy 17ff1f748e assets(reference): Māori haka reference video (Polynesian Cultural Center, Oahu)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 15:58:03 -07:00
jeremy df2629af16 feat(naming): adopt war_dance_01, fertility_dance_01, taming_dance_01
hakadance1->war_dance_01, aloha1->fertility_dance_01, dance1->taming_dance_01,
each with a _pp loop variant (all SMOOTH per loop_qc). Loop rule: every
adopted dance ships base + _pp pair. GLM trim+blend loop variants archived
(ping-pong is the loop standard).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 14:48:52 -07:00
jeremy 9b190e742e docs(naming): ceremony codes follow game item-id convention (snake_case DanceType)
13 ceremony slots tabled in the registry (12 DanceType + rain_dance),
provisional ids now nd_##; codes like war_dance_01 / WarDance01.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 14:36:03 -07:00
jeremy 6a1290b1d1 docs(naming): dance codes are ceremony-based (<ceremony><NN>)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 14:28:35 -07:00
jeremy b918d8670f feat(naming): dance registry + two-stage naming system; archive non-keepers
Keep aloha1(+pp), dance1(+pp), hakadance1. Archive hakadance2, alohaOG,
firedance1, hakaOG (all variants) to archive/. New dances get provisional
nd## ids at conversion; rename to a dance code (haka01 etc.) only on
adoption via tools/rename_clip.py. Registry: docs/dances/REGISTRY.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 14:06:56 -07:00
jeremy da0567b79d docs(dances): dance1 motion description from Blender kinematic analysis
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 13:48:10 -07:00