1. 06 Oct, 2026 7 commits
  2. 27 Sep, 2026 4 commits
  3. 26 Sep, 2026 5 commits
  4. 25 Sep, 2026 1 commit
  5. 23 Sep, 2026 3 commits
  6. 22 Sep, 2026 2 commits
  7. 21 Sep, 2026 7 commits
  8. 06 Sep, 2026 9 commits
  9. 24 Aug, 2026 1 commit
    • feat(oblique): /oblique Eno/Schmidt strategies deck + design lab, on the App Router · 22f1adeb
      Aurora-glass cosmos, frosted-glass cards with iridescent foil edges,
      Fraunces + Space Mono. Hybrid DRAW/BROWSE: chilled 3D tarot flip (spring
      42/22/1.3), semantic swipes (left discard, right favorite, up stash),
      haptics, kept-spread; realtime typotolerant search with incremental
      16-card rendering. Date-seeded daily card. State in localStorage + URL
      hash only.
      
      Each card face carries a unique deterministic sacred-geometry figure:
      mulberry32 seeded on card id + hexagram codepoint drives ring count,
      packing, rotation, polygon overlays, and dash patterns — 187/187 distinct,
      with a radial-mask quiet zone keeping the central text zone clear.
      
      App Router native: server pages export metadata, interactive bodies are
      'use client' leaves (ObliqueClient / DesignClient), per cosmicfest
      conventions. Data: 187 deduped strategies (ceejbot cross-edition superset)
      tagged with I Ching hexagrams.
      
      Validated on the production build: routes 200, no console errors, no
      horizontal overflow, tap targets >=44px, browse incremental 16->48 on
      scroll, geometry uniqueness 48/48 sampled distinct, daily card deals,
      Fraunces 25px legible on mobile.
      PLN (Algolia) authored
  10. 15 Aug, 2026 1 commit
    • fix(cosmicfest): link the lineup out, and stop the RSVP line going stale · efc02813
      Two gaps between the live page and the canonical invite text.
      
      1. The lineup named the three acts but linked nowhere. PLN's invite carries a
         destination for each, so the page now sends people to the work:
           ParVagues  -> soundcloud.com/parvagues
           Nesta Flex -> soundcloud.com/antoine-renaudet
           shipow     -> instagram.com/shipow
         The anchor takes `color: inherit` so the existing odd/even cyan/magenta
         :hover rules on .lineupName stay in charge; the underline is a 30% mix that
         solidifies on hover/focus-visible rather than a permanent blue link.
      
      2. The RSVP paragraph read "une réponse avant le 1er août, ce serait top."
         True when written, silently wrong since 2 August, and actively confusing
         today — 15 August, with arrivals open and jour J six days out. A page whose
         copy expires is the same failure as a countdown to a date that has passed.
      
         So it reads the clock instead of a frozen sentence. Four phases off the
         existing JOUR_J plus three new date constants: before the deadline, after it
         but pre-arrivals, during the 15-23 August window, and after — which hands
         over to the v3.42Hz teaser from the invite.
      
         Rendered null on the server and filled in an effect, because the phase
         depends on the viewer's clock and a server/client disagreement is a
         hydration mismatch. The invariant "pas de billetterie / Riders, come to the
         storm" line stays outside the component, so the paragraph still reads
         correctly if JS never arrives.
      
      Every other fact on the page was checked against the canonical invite and
      already matched: 20-23 August, arrivals from the 15th, Labenne-Océan, jour J
      the 22nd, 10 indoor places, tents, van, 16 capacity, +1 welcome, both stations,
      the 15-minute Bayonne->Labenne train, the taxis, and the packing list.
      
      Verified: clean build, all three hrefs present in the prerendered HTML, and
      zero occurrences of "1er août" in the server output.
      PLN (Algolia) authored