osint/fma: heart anatomy /fma cockpit view — 8:8 [container:identity] HHTL tiers#48
Conversation
Re-bake the FMA heart slice so each part-of node carries its Morton (Z-order) tile path in the GUID identity field: one 4×4 level per part-of step (heart → chamber quadrant → wall → tissue → cell), via osint_bake::morton::descend. Depth == class, so the path is fully recoverable from identity + class alone. FmaGraph deinterleaves that path nibble-by-nibble into a fixed nested tile centre (coarser tier → larger dot), pins every node (physics off), and lines the cross-cutting global types up along the pole above the body. /fma now renders as the literal nested tile pyramid the cascade descends, instead of a force-directed blob — position() is decode(). The walk reconstructs (x,y) level by level rather than flat-decoding the multi-level code (a flat decode spreads the per-level axis bits across nibbles and lands out of range). Edges reference the SoA array index, never the identity, so storing the Morton code there is layout-only and cannot perturb topology. decodeSoa now exposes the raw identity field (additive; OSINT ignores it). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
…artonomy Replace the synthetic Morton-in-identity scheme (which crammed a whole multi-level tile path into one u16 and nibble-walked it back — bad addressing) with the deterministic tier model: each HHTL tier is one 8:8 [container:identity] pair = [mixin-node : instance-on-it], 256×256 = 64k per tier. The high byte names the KIND mixin node (Organ/Chamber/Wall/ Tissue/Cell — the family things attach on), the low byte the instance. HEEL [Organ:Heart] HIP [Chamber:id] TWIG [Wall:id] LEAF [Tissue:id] family [Cell:id] The non-zero tiers ARE the partonomy path, so the address says where a node sits — no Morton decode, no edge lookup. This is the q2 Cascade reading of OGAR PR quarto-dev#116's [container:member] tier model (OGAR's skeleton is the Located/spatial sibling). Mirrors OGAR's [bodypart:bone] LeafTile and supersedes the 12+4 EdgeBlock with family-node grouping (the container byte = the mixin/family node). classid stays 0x0A01 = anatomical_structure in OGAR's ConceptDomain::Anatomy. decodeSoa now exposes the five tiers (heel/hip/twig/leaf/family); FmaGraph lays out straight from them (tierPos: y = depth, x = nested slot under the parent's instance) instead of the Morton treemap — so the HHTL block is finally load-bearing, not write-only ornamentation. Verified: the cockpit's read offsets match the Rust-written GUID byte for byte across organ→chamber→wall→tissue→cell; ceiling sentinel intact; cockpit tsc clean. Browser render not exercised (no browser here). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughRefactors FMA node addressing from a basin-local model to an 8:8 ChangesCascade Tier Model: Encoding → Decoding → Fixed Layout
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Poem
✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Adds the FMA heart anatomy slice as the
/fmaroute of the existing OSINT cockpit — same app as/osint, reusingdecodeSoa, the OSO1 wire format, and thecockpit/public/*.soaserving path (no cockpit-server change; Railway re-embedsdist/). The slice is a heart organ → chamber → wall → tissue → cell partonomy plus six cross-cutting global tissue TYPEs at the ceiling pole, baked byosint-bake'sfmabinary.The addressing — 8:8
[container:identity]HHTL tiersEach HHTL tier is one
u16=[container : identity]=[mixin-node : instance-on-it]= 256 × 256 = 64k deterministic per tier. The high byte names the KIND mixin node (Organ/Chamber/Wall/Tissue/Cell — the family things attach on), the low byte the instance:The non-zero tiers ARE the partonomy path, so the address says where a node sits — no edge lookup, no Morton decode. The cockpit lays out straight from the tiers (
tierPos: y = depth, x = nested slot under the parent instance), so the HHTL block is load-bearing rather than write-only ornamentation.The first commit (
7455c4e7) tried a Z-order Morton path crammed into the singleidentityfield; the second (a8603516) replaces it with the tier model above — kept as two commits to record the correction.OGAR PR quarto-dev#116 alignment
This is the
Cascade(ontology) reading of OGAR's[container:member]FMA tier model; OGAR'sogar-fma-skeletonis theLocated(spatial) sibling (the same 8:8 tiers carry coronal x:y / depth-z Morton cells). Mirrors OGAR's[bodypart:bone]LeafTile, usesclassid 0x0A01(ConceptDomain::Anatomy), and supersedes the 12+4 EdgeBlock with family-node grouping (the container byte = the mixin/family node).Verification
[ff:ff]) intact.tscclean.🤖 Generated with Claude Code
https://claude.ai/code/session_01TzqvDqbFRzyx17EkLKBoZF
Generated by Claude Code
Summary by CodeRabbit
New Features
Improvements