- Create dedicated /work/[slug] pages with sticky nav
- Use hash URLs (#type|slug) for modals instead of work page URLs
- Make works without items non-clickable on index
- Add server route to return 404 for non-existent score files
- Correct work titles to match works.json:
- economy study → economy study (in one dimension)
- Lamentations I: Remembering Clive Wearing → Remembering Clive Wearing
- remembering clive wearing → Remembering Clive Wearing
- Rise I from 4 Ascents for James Tenney → 4 Ascents for James Tenney
- seeds and ledgers (abstract) → seeds and ledgers 1 - 3
- steady state → steady state: a study in taxation
- flux → Flux
- Fix corrupted event ID
- Clean all JSON data files: convert MongoDB format to clean JSON
- works.json, images.json, publications.json, pubs.json, talks.json
- releases.json, album_art.json, scores.json, my_image_gallery.json
- events.json (with legacy program → program transformation)
- resume.json (simplified structure)
- Simplify all API routes (remove cleanData functions)
- Fix PDF links to open in new tab (scores, writings, albums)
- Upgrade to Nuxt 4.3.1 and fix carousel (nuxt-swiper)
- Replace nuxt-icon with @nuxt/icon
- Fix IconButton component for new tab links
- Update cv.vue for resume data structure changes
- Add icon collections (@iconify-json packages)