freezmo/lib
Martin Dvorak 33967f9454 Fix ordering giveaways, the stuck false label, add Regenerate deck
Ordering cards
- Generation prompt now forbids dates, years, times, step numbers and
  ordinals in ordering items (spec + hard rules), and the server-side
  validation drops any ordering card whose items still contain them
  instead of shipping a giveaway.

True/False
- The 'false ✕' swipe label was permanently visible on the card: its
  opacity curve was inverted, so the clamp at rest was 1. Flipped the
  range (and tightened both ranges for the elastic drag) — each label now
  only fades in while swiping in that direction.

Regenerate deck
- Results screen gains a Regenerate deck button: rebuilds the activities
  from the deck's stored source notes, replaces the deck in storage
  (attempts/best score reset) and starts the fresh run from slide 1.
- StudyFeed tracks the current deck so the header, export and messages use
  the regenerated title/activities.
- Fixed a spurious 0% attempt recorded when a regenerated deck swapped in:
  scroll anchoring held the old results position, so the feed briefly
  reported 5/5 with zero answers. The scroll now resets before the new
  slides render, overflow-anchor is disabled on the feed, and a run with
  no answers is never recorded.

Tests: new deck-fixes suite 15/15 (TF overlay at rest/drag, regenerate
with loading state + storage reset, ordering guard drop/keep); retry
14/14, deck chrome 15/15, pwa 16/16, final-ux 12/12, security 8/8,
contrast 20/20.
2026-10-07 11:25:22 +00:00
..
ai.ts Fix ordering giveaways, the stuck false label, add Regenerate deck 2026-10-07 11:25:22 +00:00
client-api.ts Fix the iOS install sheet: exact Safari flow, chips, iOS blue, layout 2026-10-07 08:49:32 +00:00
confetti.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
config.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
deck-ops.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
documents.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
folders.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
http-guard.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
image.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
install.ts Add the Install the app bottom sheet for mobile browsers 2026-10-07 08:27:43 +00:00
language.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
nav.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
ollama.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
prompts.ts Fix ordering giveaways, the stuck false label, add Regenerate deck 2026-10-07 11:25:22 +00:00
rate-limit.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
schemas.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
settings.ts Add full-screen API-key gate 2026-10-06 21:20:22 +00:00
storage.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
ui-events.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
use-health.ts Add full-screen API-key gate 2026-10-06 21:20:22 +00:00
utils.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
xp.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00