admin
0a337b41c2
Fix hover effect on chart causing transition/animation to break
2026-02-17 15:14:10 +00:00
admin
47b52b5a93
feat: add global focus mode with cross-component dimming on hover
...
When hovering a constellation node, skill pill, or timeline item,
non-related UI elements across all components dim to 0.25 opacity,
creating a focused visual relationship view. The constellation axis
and year labels also dim via CSS class. Respects reduced-motion.
2026-02-17 14:17:21 +00:00
admin
82db5fda54
Substantial refinement/polish on content of webpage (not just structural/coding elements)
2026-02-17 14:05:32 +00:00
admin
8178d03cb2
Rehaul of graph component
2026-02-16 23:16:46 +00:00
admin
e9a7581aa5
chore: auto-commit before merge (loop primary)
2026-02-16 15:06:20 +00:00
admin
9276955fa8
refactor: extract PlayPauseButton + screen-reader-description from orchestrator
...
Reduces CareerConstellation orchestrator from 334 to 285 lines to meet
the <300 line success criterion.
2026-02-16 14:35:15 +00:00
admin
8b674ffe14
feat: phase 3+4 timeline animation + education entities
...
- Add education entities (A-Levels, MPharm) to constellation data
- Add 'education' node type with dashed border styling
- Create useTimelineAnimation hook with rAF scheduler + state machine
(IDLE → PLAYING → PAUSED → HOLDING → RESETTING → loop)
- Chronological reveal: entities oldest-first with skill stagger,
link draw-on, reinforcement pulse for already-visible skills
- Year indicator overlay (monospace, top-left)
- Multiplicative opacity: animation visibility × highlight emphasis
- Highlight system respects visibleNodeIdsRef (unrevealed stay hidden)
- Interaction pause/resume wired to animation hook
- Play/pause button (bottom-right, larger touch target on mobile)
- prefers-reduced-motion: shows final state immediately, no animation
- Remove Phase 2 entry animation (replaced by timeline animation)
2026-02-16 14:31:11 +00:00
admin
7d7628c8a7
feat: phase 2 visual improvements for CareerConstellation
...
- Links: domain-colored with strength-weighted width/opacity, improved bezier curves
- Skill nodes: domain-colored stroke, size encoding by connected role count, glow filter on highlight
- Role nodes: gradient fill (orgColor 0.08→0.18), enhanced highlight with fill-opacity and stroke-width
- Entry animation: staggered reveal (guides→roles→skills→links with stroke-dashoffset), skipped under prefers-reduced-motion
- Legend: domain node counts displayed
2026-02-16 14:16:36 +00:00
admin
65b265733e
refactor: decompose CareerConstellation monolith into focused modules
...
Break 1102-line CareerConstellation.tsx into:
- constellation/constants.ts: sizing, opacity, domain color tokens
- constellation/types.ts: SimNode, SimLink, LayoutParams interfaces
- hooks/useForceSimulation.ts: D3 simulation lifecycle
- hooks/useConstellationHighlight.ts: highlight/dim logic
- hooks/useConstellationInteraction.ts: mouse/touch/pin handlers
- constellation/MobileAccordion.tsx: tap-to-expand role details
- constellation/ConstellationLegend.tsx: domain legend
- constellation/AccessibleNodeOverlay.tsx: keyboard navigation buttons
- constellation/CareerConstellation.tsx: 288-line orchestrator
All existing behaviour preserved. Quality gates pass.
2026-02-16 14:06:41 +00:00