Commit Graph

406 Commits

Author SHA1 Message Date
admin 296b18f025 refactor: extract hexToRgba and prefersReducedMotion to shared utils
Move hexToRgba() (3 identical copies) and prefersReducedMotion (5 module-level
copies) to src/lib/utils.ts. Re-export prefersReducedMotion from
constellation/constants.ts to preserve existing importers. Add clarifying
comments to constellation.ts and tags.ts re-export layers (Phase 1.4).
2026-02-17 01:48:43 +00:00
admin 45b87466be refactor: extract LLM system prompt from profile-content to dedicated module
Move the ~110-line LLM system prompt to src/data/llm-prompt.ts, removing
the LLMCopy type, getLLMCopy() accessor, and llm field from ProfileContent.
llm.ts now imports the prompt directly. profile-content.ts drops from 246
to 133 lines, retaining only UI copy and search metadata.
2026-02-17 01:42:55 +00:00
admin bbe7900968 refactor: inline timeline narrative into timeline.ts, remove indirection
Timeline entities now contain their narrative data (description, details,
outcomes, codedEntries) directly instead of fetching via
getTimelineNarrativeEntry(). Removes ~155 lines from profile-content.ts,
the accessor function, and three dead types.
2026-02-17 01:37:32 +00:00
admin 0ee7b5d44c refactor: skip boot/ECG/login sequence for dev iteration speed
Temporarily set initial phase to 'pmr' to bypass the ~10s boot animation
during the refactoring process. Will be reverted in Phase 4.3.
2026-02-17 01:28:48 +00:00
admin 83b327d58e Refactor to pull all text enteries into single location 2026-02-17 01:10:31 +00:00
admin 6605966fab feat: add canonical profile content schema and access helpers 2026-02-16 23:32:25 +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 aca57714e4 chore: auto-commit before merge (loop primary) 2026-02-16 14:36:25 +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
admin b34ecb89e2 clean up 2026-02-16 13:27:51 +00:00
admin 4dfb1607c1 Updated chart 2026-02-16 13:23:04 +00:00
admin 2e242a650a chore: auto-commit before merge (loop primary) 2026-02-16 12:44:34 +00:00
admin 683275416e Removed top bar, and updating sidebar 2026-02-16 12:25:19 +00:00
admin 18d2704677 Updated hats 2026-02-16 11:39:13 +00:00
admin c3a72d0bee Cleanup 2026-02-16 11:33:47 +00:00
admin 5a657c4aac chore: add ralph sidebar workflow setup files 2026-02-16 11:33:13 +00:00
admin 78e994ec5e chore: auto-commit before merge (loop primary) 2026-02-16 11:04:21 +00:00
admin 68f92fb9a0 feat: polish interventions carousel responsiveness 2026-02-16 11:04:08 +00:00
admin be7a65ef8a feat: tune carousel autoplay for reduced motion 2026-02-16 11:02:32 +00:00
admin 5fa01b8d66 feat: implement Embla carousel in ProjectsTile 2026-02-16 11:00:46 +00:00
admin 98d767fa7f feat: rename Active Projects references to Significant Interventions 2026-02-16 10:58:29 +00:00
admin a6df900605 merge codex/kpi (prefer codex/kpi on conflicts) 2026-02-16 10:52:24 +00:00
admin 5637d56e02 Cleanup 2026-02-16 10:50:14 +00:00
admin 24ffe03c0f chore: auto-commit before merge (loop primary) 2026-02-16 10:43:44 +00:00
admin e5c7d9bb41 chore: document KPI objective verification 2026-02-16 10:43:28 +00:00
admin 960c9b7729 Init 2026-02-16 10:41:41 +00:00
admin dad638e68e Added task files 2026-02-16 10:37:11 +00:00
admin b67c3b041f chore: auto-commit before merge (loop primary) 2026-02-16 10:36:47 +00:00
admin ab80d65958 feat: compact latest results kpi section 2026-02-16 10:36:30 +00:00
admin 2306d2ec2e codex setup 2026-02-16 10:27:55 +00:00
admin b418338cd7 feat: US-008 - Re-tune force simulation for 8 timeline entries in narrower column 2026-02-16 10:23:03 +00:00
admin c9dd93ac70 feat: US-007 - Colour-match work experience cards to constellation node colours 2026-02-16 10:09:34 +00:00
admin a258706bf3 feat: US-006 - Mobile accordion expansion for role details 2026-02-16 10:04:35 +00:00
admin 67fe5567a9 feat: US-005 - Hover-to-highlight interaction on desktop 2026-02-16 09:58:27 +00:00
admin f3e9b58e8d feat: US-004 - Viewport-proportional scaling for large screens 2026-02-16 09:50:07 +00:00
admin 76692682da feat: US-003 - Increase default skill visibility and reduce constellation column width 2026-02-16 09:44:10 +00:00
admin f3e6f6670b feat: US-002 - Add UEA MPharm and Highworth A-Levels education entries 2026-02-16 09:38:00 +00:00
admin 354096fd70 feat: US-001 - Add Duty Pharmacy Manager and Pre-Reg Pharmacist roles + fix Pharmacy Manager colour 2026-02-16 09:34:35 +00:00
admin f48d98b7fc feat: US-012 - Responsive behaviour for mobile and tablet constellation
- Add mobile-specific layout constants (MOBILE_ROLE_WIDTH=80, smaller skill radii)
- Use window.innerWidth for mobile breakpoint detection (container overflows on mobile)
- Reduce timelineX, padding, spacing, and force simulation parameters on mobile
- Truncate role pill labels and skill labels on narrow viewports
- Reduce charge/collision/link-distance forces for tighter mobile layout
- Fix CSS grid overflow: add min-width:0 and overflow:hidden to .pathway-graph-sticky
- MOBILE_FALLBACK_HEIGHT adjusted to 380px (within 360-400px spec)
- Legend wraps gracefully via existing flex-wrap
2026-02-16 03:22:21 +00:00
admin 408cd9573c feat: US-011 - Accessibility hardening for career constellation
Fix focusable buttons (pointerEvents 'auto'), sort tab order
(roles reverse-chronological, skills by domain), add skill focus
rings, update aria-label to mention clinical pathway, and trigger
graph highlights on keyboard focus.
2026-02-16 03:12:33 +00:00
admin 622baeb449 feat: US-010 - Content audit verifying role data against CV source 2026-02-16 03:08:06 +00:00
admin 21233c98bb feat: US-009 - Force simulation tuning for clinical layout 2026-02-16 03:04:44 +00:00
admin 89d778b2df feat: US-008 - Compact domain legend as HTML below SVG 2026-02-16 02:58:06 +00:00
admin 13b341abcd feat: US-007 - Curved link lines between roles and skills 2026-02-16 02:55:04 +00:00
admin 752f1c2947 chore: mark US-006 complete, update progress log 2026-02-16 02:50:18 +00:00
admin 743fb625d5 feat: US-006 - Bidirectional hover highlighting between graph and timeline 2026-02-16 02:49:43 +00:00