1. 07 Jun, 2026 3 commits
    • test(redesign): Phase 1 Step 2 — add route-smoke safety net · fe205e02
      Re-establish a baseline of coverage (Phase 0 removed all tests with Dunbar)
      and guard the upcoming App Router migration: the route URLs are stable across
      that migration, so this spec must stay green before and after.
      
      - tests/e2e/smoke.spec.ts: visits all 14 public routes, asserts the document
        responds < 400, renders non-empty content, and throws no genuine uncaught
        exception. Tolerates dev-only React hydration warnings and third-party embed
        noise (would otherwise be flaky); caps the settle wait so embed-heavy pages
        don't hang.
      - Fix a pre-existing Playwright version split: @playwright/test (1.57.0 via
        ^1.55.0) and playwright (1.58.2) resolved to two copies, breaking the runner
        ("test() not expected here"). Pin both to 1.60.0.
      
      All 14 routes green (~55s, Node 20). Surfaced for later: a real /cosmicfest
      dev-mode hydration mismatch (task #7), a legacyBehavior next/link deprecation,
      and a next/head stylesheet warning — all to address in the App Router pass.
      Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
      PLN (Algolia) authored
    • refactor(redesign): Phase 1 Step 1 — hoist app from next/ to repo root · 6e51fffd
      Flatten the nested next/ app directory up to the repository root, removing
      the `cd next` friction that the old .cursor/rules existed largely to manage.
      
      - Move all app files (pages, components, lib, styles, content, public,
        tests, scripts, configs) and Yarn Zero-Install state (.pnp.cjs, .yarn/)
        from next/ to repo root via git mv (history preserved, 316 renames).
      - Merge next/.gitignore into the root .gitignore; note .pnp.cjs/.yarn are
        committed (Zero-Install) and must not be ignored.
      - Pin outputFileTracingRoot to the project in next.config.js: a stray
        ~/package-lock.json was making Next infer the wrong workspace root.
        Also makes standalone output tracing correct for self-hosting later.
      - Update CLAUDE.md: commands run from repo root; @/ alias, content/,
        public/, .next/ paths corrected; Vercel root dir must become '.'.
      
      Build green from root (yarn build, Node 20, all 14 route patterns, zero
      warnings). Content loaders (process.cwd()-based) resolve correctly since
      content/ and public/ now sit at the root.
      Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
      PLN (Algolia) authored
    • chore(redesign): Phase 0 — remove Dunbar, fix prod bugs, prune deps · 50e87a15
      Demolition step ahead of the site rationalization (App Router + shared
      design system foundation to follow).
      
      - Remove Dunbar entirely (pages, components, lib, tests); it's folding
        into a separate project. UX learnings preserved at
        docs/dunbar-design-learnings.md.
      - Prune 6 now-unused deps: d3-force, d3-zoom, minisearch,
        react-force-graph(-2d), snowball-stemmers, stopword.
      - Fix 3 production bugs in layout.js: drop the http://localhost:8097
        React DevTools script, replace the create-next-app template OG image
        with the site profile image, and compute the footer year dynamically.
      - Delete dead files: pages/parvagues.js.backup, the unused HeroVariants.
      - Add CLAUDE.md documenting the codebase and the redesign state.
      
      Build green (yarn build, 40 routes). Note: this removes all test
      coverage (it was all Dunbar's) — to be re-established in Phase 2.
      Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
      PLN (Algolia) authored
  2. 24 May, 2026 3 commits
    • fix(parvagues): clamp loupe width to viewport on narrow screens · 5fd1374e
      Shrink the loupe popup to (viewport_width - 32px) when 480px would
      overflow, keeping the 16:9 aspect ratio. Centering math uses the
      computed width so the clamp keeps the popup fully on-screen.
      PLN (Algolia) authored
    • fix(parvagues): mobile-friendly loupe — tap-to-zoom then tap-to-open · 40891851
      On touch devices the loupe overlay is now revealed by the first tap on a
      track thumbnail (the link's default action is prevented). A second tap on
      the same thumbnail navigates to the Instagram album. Tap-outside or 4s
      timeout auto-closes the loupe. Desktop hover behavior unchanged — gated
      on (hover: hover) media query.
      PLN (Algolia) authored
    • feat(parvagues): add Montreuil Algorave gig page · 11d7a44d
      15-track collapsible list driven by metadata extracted from the .tidal
      sources via the Pulsar HUD parser. Each row: name, BPM, style, expandable
      ingredients (per-orbit sample/role/CC bindings) + git.nech.pl src link.
      Six tracks have IG story loops (5s, 16:9 cropped from 9:16 originals,
      ~150 KB each) with a fixed-position hover loupe (480×270) that escapes
      the row's clipping box; click opens the highlight album. Page-level SC
      embed + Instagram album link in MediaSection. Full-length story MP4s
      gitignored — only the loop previews + jpg thumbs ship.
      PLN (Algolia) authored
  3. 01 May, 2026 1 commit
  4. 16 Mar, 2026 5 commits
  5. 15 Mar, 2026 6 commits
  6. 14 Mar, 2026 3 commits
    • fix(tailwind): align PostCSS config with Tailwind v4 docs · 706b2d03
      Root cause: Vercel wasn't processing Tailwind through @tailwindcss/postcss,
      serving raw CSS with zero utility classes (23KB theme-only vs 53KB with
      utilities). The source() directive was output literally as @media source().
      
      Fixes per official Tailwind v4 + Next.js setup:
      - Switch postcss.config.js (CJS) → postcss.config.mjs (ESM)
      - Remove autoprefixer (built into Tailwind v4)
      - Use plain @import "tailwindcss" (auto source detection)
      - Move tailwindcss + @tailwindcss/postcss to dependencies
      PLN (Algolia) authored
    • refactor: remove Bootstrap, fix Tailwind v4 in production · e903cb57
      Bootstrap's CSS was overriding all Tailwind utility classes in production,
      making parvagues render as raw unstyled HTML. Root cause: _app.js imported
      bootstrap.css globally before globals.css (Tailwind v4).
      
      - Remove bootstrap dependency and import from _app.js
      - Remove stale tailwind.config.js (v3 format, ignored by v4)
      - Remove @tailwindcss/aspect-ratio (v3 plugin, built-in in v4)
      - Replace 3 Bootstrap `container` usages with Tailwind equivalents
      - Scope main.css legacy element styles with :not(:has(.parvagues-root))
        to prevent link colors, section margins, footer styles from bleeding
        into parvagues pages
      - Add .parvagues-root class to parvagues Layout for scoping
      PLN (Algolia) authored
  7. 13 Mar, 2026 3 commits
  8. 12 Mar, 2026 1 commit
    • feat(fleurs): generative garden invitation — La Fête des Fleurs · 15299120
      p5.js canvas with impressionist top-down flower garden: organic bloom
      lifecycle (bud → bloom → wilt → respawn), rare mutations (queen,
      hypersaturated, variegated, concentric, firecracker), wind-driven
      grass, falling petals, ambient day/night light cycle, dawn reveal.
      
      DOM overlay with staggered text entrance, RSVP modal with decorative
      floral ornaments and entrance animation. Dark theme, mobile-first.
      PLN (Algolia) authored
  9. 10 Mar, 2026 1 commit
    • fix(parvagues): poster overflow, dark mode, reveal visibility · 61919d6a
      - Use inline opacity (0.15) on poster image — Tailwind opacity-20 not
        applying in production build
      - Add color-scheme: dark meta tag for browser/reader mode compatibility
      - Set html/body background to #0a0a0a to prevent white bleed
      - Fix reveal animation: sections visible by default, animate only after
        JS hydration via .reveal-ready class on documentElement
      - Bump screenshots script to domcontentloaded + 3s render wait
      PLN (Algolia) authored
  10. 09 Mar, 2026 6 commits
    • feat(parvagues): UX polish pass — atmosphere, thumbnails, animations · 46b2c51c
      - Fix mobile hero title clipping (clamp min 5rem → 3rem)
      - Reduce dead space between streaming and video sections
      - Bump hero poster opacity to 20% for more atmosphere
      - Add archive.org thumbnails to video cards with gradient overlay
      - Add scroll-triggered reveal animations (IntersectionObserver)
      - Add subtle grain/noise overlay (SVG texture at 3% opacity)
      - Alternate section backgrounds (#0a0a0a / #0e0e0e) for depth
      - Upgrade album platform links to pill buttons with neon hover
      - Brand-colored hover on booking submit button
      - Add fadeIn animation for streaming embed transitions
      PLN (Algolia) authored
    • fix(parvagues): visual polish and Tailwind v4 migration · 40d209c6
      - Fix globals.css: @import "tailwindcss" + @source (v4 syntax)
      - Fix hero: reduce poster opacity to 10%, use inline clamp for title
      - Remove oversized arrows from tour timeline, use inline styles
      - Add custom DeezerIcon SVG (react-icons has no Deezer icon)
      - Replace em dashes with appropriate punctuation throughout
      - Add playwright dev dependency + screenshots script
      PLN (Algolia) authored
    • feat(parvagues): rebuild SPA landing page · 7fb570e4
      New architecture:
      - Hero: full-viewport with Syne typeface, subtle neon glow, tagline
      - On Tour: vertical timeline grouped by year (2022-2026), 30 events
      - Music: albums with revenue-ordered platform links (Bandcamp first),
        click-to-load streaming embeds (no auto-connect)
      - Video: archive.org click-to-load cards (4 TOPLAP recordings)
      - Booking: mailto-based contact form
      - Footer: social icons + email
      
      Design: editorial dark aesthetic, Syne font, restrained neon accents.
      Zero third-party connections until user interaction.
      PLN (Algolia) authored
    • feat(parvagues): consolidate all concert data (2022-2026) · dd1c8e50
      Merge event data from 3 sources:
      - Existing content/lives/ files
      - Salvaged events from old parvagues-redesign branch
      - Archive.org metadata (TOPLAP streams, Solstice sets)
      
      30 events across 5 years. Enriched with archive.org video URLs.
      Removed duplicate fairyteuf file.
      PLN (Algolia) authored
  11. 26 Nov, 2025 1 commit
  12. 27 Sep, 2025 1 commit
  13. 13 Sep, 2025 6 commits