• v2.24.1 1e07eb3095

    Ghost released this 2026-04-22 09:58:44 +02:00 | 107 commits to staging since this release

    #116 — polygonTypes.highlightZoom was een harde per-type cap (province:6, water:10, country:5) die de kaart op Q2+ terug uitzoomde naar een te ver uitgezoomde view (op set 5.4: NL klein in beeld met halve NW-Europa er omheen). Cap is verruimd naar 12 zodat Leaflet zelf de optimale zoom berekent uit de item-bounds + padding — kleine provincies zoomen strak in, grote landen fitten natuurlijk.

    Closes #116.

    Downloads
  • v2.24.0 b53a6b0c75

    Ghost released this 2026-04-22 09:33:08 +02:00 | 109 commits to staging since this release

    #103 Brok 6 — feedback-modal omgezet naar Routekaart-design (paper-card op ink-overlay, Luckiest Guy kop, chunky buttons) en settings-stub toegevoegd via tandwiel in de home-header en hamburger. Settings biedt groep-wissel + voortgang resetten.

    Closes #103.

    Downloads
  • v2.23.0 a3cdb01105

    Ghost released this 2026-04-22 08:59:33 +02:00 | 113 commits to staging since this release

    De laatste twee legacy-details opgeruimd: hamburger-menu binnen de app en het icoon buiten de app (home-screen).

    • Hamburger-button (#115): chunky paper-button met ink-border, hard offset-shadow en hover-lift. Matcht de mode- en optie-buttons.
    • Hamburger-dropdown (#113): paper-card met border-hero, items in font-body 700 ink, sky-kleur op hover. Vervangt de oude donkerblauwe dropdown.
    • PWA-icoon (#112): paper-bg met ink-frame en kaart-emoji. Aparte maskable-variant voor Android, 180×180 apple-touch-icon voor iOS (die SVG niet accepteert). Manifest theme/bg naar paper/zand.
    • Icon-renderer: `data/render-icons.js` gebruikt Playwright (al aanwezig) om SVG → PNG te bakken, dus geen nieuwe npm-dep.

    Closes #112, #113, #115.

    Downloads
  • v2.22.0 1282d5f354

    Ghost released this 2026-04-21 23:36:44 +02:00 | 115 commits to staging since this release

    Routekaart-refresh afgerond voor de laatst overgebleven gebruikers-facing schermen.

    • Mode-select (#114): paper-card, Luckiest Guy kop, chunky mode-buttons met hover-lift, ink-soft back-btn.
    • End-screen (#102): paper-card met chunky border + shadow-lg, Luckiest Guy "Gefeliciteerd!", rating-buttons in paper-stijl, grass restart-knop met text-shadow.
    • Phase-transition (#102): full-screen intermission op zand-bg i.p.v. donkere overlay — paper-card, Luckiest Guy "X af!" met grass-accent, body-regel "Volgende fase: Y", pop-in animatie.
    • Shared title-bar: rule verhuisd van quiz.css naar app.css, zodat mode-select/end/quiz dezelfde plain Luckiest Guy titel delen.
    • Fit-to-viewport: quiz-scherm past nu binnen de viewport-hoogte op desktop (13" laptop, ~900px) zonder scrollen — de kaart vult de resterende ruimte.
    • Provincie-zoom +1: initiele fit op NL_BOUNDS mag tot zoom 9 bij quizType === 'province' (was 8), zodat Nederland strakker in beeld staat.

    Closes #114, #102.

    Downloads
  • v2.21.0 2834180e8d

    Ghost released this 2026-04-21 23:10:05 +02:00 | 121 commits to staging since this release

    Visuele refresh van het Quiz-scherm (#101, Brok 4 van de design-overhaul) + follow-up op #99 voor de install-knop.

    #101 — Quiz-scherm in Routekaart-stijl

    • Title-bar tijdens quiz: plain Luckiest Guy titel op de zand-bg (geen eigen kader meer, minder visuele ruis).
    • Score-bar als sky-gradient top-bar in chunky ink-frame; progress-bar grass-in-paper.
    • `#map-wrap` krijgt 4px ink-frame + hard offset shadow.
    • `#question-box` als RkDialog (paper + border-hero + chunky shadow + Luckiest Guy vraag).
    • Antwoord-buttons: paper 2×2 grid, A/B/C/D badges, fs-18 tekst, correct = grass pop, wrong = red shake.
    • Feedback als banner (yellow / sky / red) met sparkle-animatie op goed.
    • Tekst-input, hint-knop, next-btn, hard-panel: alles migrerd naar tokens.
    • Copy naar B1-NL zonder Pokédex-emojis in de yellow-banner.

    #111 — Install-btn redesign

    • `#install-btn` + `#install-tooltip` in chunky Routekaart-stijl, verplaatst naar buiten de paper-card zodat PWA-meta visueel los staat van het spelkader.

    Overig

    • Legacy ≤480px-overrides voor `.opt` / `#feedback` / `#question-text` uit app.css verwijderd; quiz.css is nu single source of truth voor quiz-tekstgroottes.
    • `--fs-18` token toegevoegd.
    • `#title-bar` toegevoegd aan de desktop 900px max-width-lijst zodat alle quiz-cards even breed zijn.

    Closes #101 and #111.

    Downloads
  • v2.20.0 2cce725361

    Ghost released this 2026-04-21 22:37:14 +02:00 | 126 commits to staging since this release

    Visuele refresh van het Home-scherm / level-select (#99, Brok 3 van de design-overhaul):

    • Nieuwe sky-gradient header met dummy XP-bar (echte XP-logica volgt in #104).
    • Chunky groep-knoppen (paper + ink-border + hard shadow, red-active state).
    • Sets-lijst als paper route-node cards met border-hero + shadow.
    • body.on-home toggle scoped de nieuwe paper/zand styling tot Home; Mode-select en quiz-scherm behouden hun legacy dark-blue tot hun eigen refresh-tickets (#101+).
    • Emoji in de titel verborgen op mobiel (≤480px).

    Closes #99.

    Downloads
  • v2.19.4 0ea2dbd835

    Ghost released this 2026-04-21 22:00:20 +02:00 | 130 commits to staging since this release

    Bugfix: items zoals Pyreneeën, Apennijnen, Corsica, Alaska en Mount Everest kregen verkeerde prompts ("Welk gewest is dit?" / "Welke provincie is dit?"). Nu mapt elk regio-item correct: gebergte, eiland, deelstaat, streek, regio, gebied, gewest, bergtop.

    Closes #110.

    Downloads
  • v2.19.3 98bb2e0771

    Ghost released this 2026-04-21 21:46:44 +02:00 | 132 commits to staging since this release

    Refactor-only release: SETS factories (simpleSet / phasedSet / dailyBonusSet) met kind-discriminator; developer-facing API cleanup. Plus: Barentszzee omgezet van placeholder polygon naar fuzzy ellips.

    Geen user-facing gedragsverandering (SETS_BEHAVIOR_SNAPSHOT oracle in test.js bevestigt byte-identiek gedrag; 1985 unit + 131 Playwright groen).

    Closes #93.

    Downloads
  • v2.19.2 370b97358b

    Ghost released this 2026-04-21 20:38:31 +02:00 | 139 commits to staging since this release

    Tests only

    Regression-net vóór #93 (SETS → discriminated union) start:

    • SETS_BEHAVIOR_SNAPSHOT in test.js — frozen literal per set (11 simple + 19 phased + 2 dailyBonus) met quizTypes, group, fitOnStart, clickCorrectKm/CloseKm, mastery, isMixed, phaseCount. Drift tijdens pure-refactor commits faalt direct; intentional change in commit 3 werkt de literal expliciet bij.
    • clickResult-golden per set — 5 boundary-checks × 32 sets (160 extra asserts). Vult coverage-gaten voor 55, 56, 57, 62–67, 71, 72, 78, 79, 81–88, 98, 99.
    • tests/last-phase-smoke.spec.js — parametrized Playwright voor 14 phased sets zonder eigen late-fase spec (58, 71, 72, 76, 78, 79, 81–88). Deep-linkt naar laatste fase, verifieert polygon-layer + correct-antwoord-flow + geen JS-errors. 12s runtime.

    De Zwarte Zee-fix in v2.19.1 liet zien hoe een late-fase render-miss maandenlang onzichtbaar blijft als tests alleen fase 1 dekken.

    Downloads
  • v2.19.1 2bb1170e42

    Ghost released this 2026-04-21 19:49:26 +02:00 | 141 commits to staging since this release

    Refactor

    #94 — centrale router + scherm-switcher. Alle scherm-transities lopen nu door één router.navigate(screen, params, opts) dispatcher. Scherm-zichtbaarheid zit in één SCREEN_VISIBILITY-tabel + applyVisibility() helper, en vervangt vier duplicate div-hide lijsten. window.__devMenuSync global is weg — dev-menu gebruikt nu router.onEnter('quiz') + een generieke event-bus voor phase-changes. Nieuwe tests/router.spec.js dekt deep-links, back-chain, body.in-quiz cleanup en dev-menu replace-semantiek.

    Bugfix

    Zwarte Zee rendert niet in set 7.7 MC mode. ensureShapeFeatures() verving de geojson polygon-feature (sets [77,79]) by-name met de fuzzy-ellips variant uit ALL_WATERS (sets [84]), waarna het set-filter in buildPolygonLayer de feature eruit gooide. Fix: fuzzy/peak features alleen injecteren wanneer activeCities een bijpassend item met dezelfde shape bevat.

    Closes #94.

    Downloads