Current State (v0.2.x)
The central visualization uses a canvas-based human body model (CanvasViewport.js + LayoutEngine.js) with:
- Base outlines:
public/assets/body/base/body-male.png, body-female.png
- Organ PNGs in
public/assets/body/organs/: brain, eyes, gut, heart, liver, lungs, mito (mitochondria), nerves, stomach, thyroid
These are positioned relative to the body, with nodes arranged in "organ rings". An optional unused SVG sidebar exists in OrganDiagram.js.
Stomach.png exists but is not wired/used in data or rings. Spine and any musculoskeletal imagery are completely absent.
Problems / Gaps
- Limited organ coverage for a longevity platform (many supplements, habits, and exercises target organs/systems not visualized).
- No spine (critical for posture, nervous system, back health).
- No muscles or bones → limbs (arms/legs) lack detail despite being primary targets for exercise and sarcopenia-related longevity work.
- No layered views or transparency controls (users can't easily compare or focus on muscles vs. bones vs. organs).
- Data (supplements.js, habits.js, etc.) doesn't fully map to all available organs/rings.
- Visualization feels incomplete for deep exploration of interventions on specific body systems.
Proposed Additions
1. New Organ/System Images (add to public/assets/body/organs/ or logical subfolders)
spine.png (detailed vertebral column + spinal cord, posterior or lateral view)
kidneys.png (paired left/right kidneys)
pancreas.png
adrenals.png (small glands on top of kidneys)
- Optional:
skin.png (full-body or highlighted integumentary layer), simplified reproductive/hormonal visuals if relevant
2. Musculoskeletal Layer (high priority)
Create detailed, transparent-background PNG illustrations:
- Full-body or torso-focused:
skeleton_full.png or skeleton_torso.png + limb bones
muscles_anterior.png and muscles_posterior.png
- Dedicated limb details (as discussed):
arm_muscles.png + arm_bones.png (biceps, triceps, deltoids, forearm extensors/flexors, humerus/radius/ulna)
leg_muscles.png + leg_bones.png (quads, hamstrings, glutes, calves, femur/tibia/fibula/patella)
Strongly recommended approach for arms/legs:
One clean implementation is to support layered rendering with independent transparency (see Implementation section). Alternative: split-view images (one side muscles, other side bones) or dedicated zoomable insets.
3. Folder Structure Suggestion
public/assets/body/
├── base/
│ ├── body-male.png
│ └── body-female.png
├── organs/
│ ├── brain.png, heart.png, liver.png, lungs.png, stomach.png, gut.png, ...
│ ├── spine.png (new)
│ ├── kidneys.png (new)
│ └── pancreas.png, adrenals.png (new)
├── skeleton/
│ ├── skeleton_full.png
│ └── spine_detailed.png
└── muscles/
├── muscles_anterior.png
├── muscles_posterior.png
├── arm_muscles.png
├── arm_bones.png
├── leg_muscles.png
└── leg_bones.png
Implementation Recommendations
Canvas Layer System (Core Change)
- Extend
CanvasViewport.js (or create AnatomyRenderer.js) to support multiple drawable layers with per-layer globalAlpha / opacity.
- Layers could include:
- Body outline / silhouette (male/female switchable?)
- Skeleton layer (toggleable)
- Muscle layer (toggleable)
- Organ overlays (individual or grouped, with hover highlights)
- Optional: vascular, nervous, or skin overlays
UI & Interactivity
- Add view mode toggles / presets in the UI:
- "Organs View" (default)
- "Musculoskeletal View" (muscles + bones prominent, organs dimmed)
- "Combined / All Layers"
- "Skeletal Only", "Muscles Only", etc.
- Independent opacity sliders or quick-fade buttons for muscles, bones, and organs.
- Click/hover on limb regions → open detailed side panel or modal with zoomed arm/leg muscle + bone diagrams + related exercises/supplements.
- Improve keep-out zones in
LayoutEngine.js to respect new musculoskeletal regions.
- Hovering any organ/muscle/bone image should highlight its ring and show inspector data.
Data & Ring Mapping
- Ensure all visual elements have corresponding rings/categories.
- Update
src/data/supplements.js, habits.js, exercises.js, foods.js (and any mapping/config) so nodes are properly assigned to organs/systems (especially stomach, spine, kidneys, muscles, etc.).
- Add
primaryOrgan or systems: [] field if not already present.
mito.png may be better as a special cellular/energy layer rather than a main organ.
Performance & Polish
- All new images must have transparent backgrounds (PNG with alpha).
- HiDPI / crisp rendering already supported — maintain it.
- Consider lazy-loading or sprite-sheet optimization if many layers become heavy on mobile.
- Accessibility: ARIA labels or tooltips describing what each visual element represents.
Acceptance Criteria / Checklist
Why This Matters
AETHERIS is a longevity constellation platform. Users explore how supplements, habits, exercises, and foods affect specific body systems. A rich, interactive, layered anatomical visualization (with proper spine, kidneys, and musculoskeletal detail using transparency) will make the tool far more intuitive, educational, and engaging — directly supporting the goal of living 120+ years with evidence-based interventions.
This builds directly on the existing canvas + PNG approach (no SVG line art needed).
Related discussion: Arm/leg muscles vs. bones with transparency to hide/reveal layers as needed.
Labels suggestion: enhancement, visualization, anatomy, ui, canvas
Ready to implement in phases if preferred (e.g., Phase 1: spine + kidneys + basic layers; Phase 2: full musculoskeletal + limb details).
Current State (v0.2.x)
The central visualization uses a canvas-based human body model (
CanvasViewport.js+LayoutEngine.js) with:public/assets/body/base/body-male.png,body-female.pngpublic/assets/body/organs/: brain, eyes, gut, heart, liver, lungs, mito (mitochondria), nerves, stomach, thyroidThese are positioned relative to the body, with nodes arranged in "organ rings". An optional unused SVG sidebar exists in
OrganDiagram.js.Stomach.png exists but is not wired/used in data or rings. Spine and any musculoskeletal imagery are completely absent.
Problems / Gaps
Proposed Additions
1. New Organ/System Images (add to
public/assets/body/organs/or logical subfolders)spine.png(detailed vertebral column + spinal cord, posterior or lateral view)kidneys.png(paired left/right kidneys)pancreas.pngadrenals.png(small glands on top of kidneys)skin.png(full-body or highlighted integumentary layer), simplified reproductive/hormonal visuals if relevant2. Musculoskeletal Layer (high priority)
Create detailed, transparent-background PNG illustrations:
skeleton_full.pngorskeleton_torso.png+ limb bonesmuscles_anterior.pngandmuscles_posterior.pngarm_muscles.png+arm_bones.png(biceps, triceps, deltoids, forearm extensors/flexors, humerus/radius/ulna)leg_muscles.png+leg_bones.png(quads, hamstrings, glutes, calves, femur/tibia/fibula/patella)Strongly recommended approach for arms/legs:
One clean implementation is to support layered rendering with independent transparency (see Implementation section). Alternative: split-view images (one side muscles, other side bones) or dedicated zoomable insets.
3. Folder Structure Suggestion
Implementation Recommendations
Canvas Layer System (Core Change)
CanvasViewport.js(or createAnatomyRenderer.js) to support multiple drawable layers with per-layerglobalAlpha/ opacity.UI & Interactivity
LayoutEngine.jsto respect new musculoskeletal regions.Data & Ring Mapping
src/data/supplements.js,habits.js,exercises.js,foods.js(and any mapping/config) so nodes are properly assigned to organs/systems (especially stomach, spine, kidneys, muscles, etc.).primaryOrganorsystems: []field if not already present.mito.pngmay be better as a special cellular/energy layer rather than a main organ.Performance & Polish
Acceptance Criteria / Checklist
public/assets/body/Why This Matters
AETHERIS is a longevity constellation platform. Users explore how supplements, habits, exercises, and foods affect specific body systems. A rich, interactive, layered anatomical visualization (with proper spine, kidneys, and musculoskeletal detail using transparency) will make the tool far more intuitive, educational, and engaging — directly supporting the goal of living 120+ years with evidence-based interventions.
This builds directly on the existing canvas + PNG approach (no SVG line art needed).
Related discussion: Arm/leg muscles vs. bones with transparency to hide/reveal layers as needed.
Labels suggestion:
enhancement,visualization,anatomy,ui,canvasReady to implement in phases if preferred (e.g., Phase 1: spine + kidneys + basic layers; Phase 2: full musculoskeletal + limb details).