Skip to content

History / Frontend Research

Revisions

  • Record PERF-03: ListDetail Table view virtualization, sticky-scroll root cause Mirrors the DECISIONS.md entry, and root-causes the "classic bug pairing" Frontend-Research §B.2 caveat 5 already flagged for sticky + window virtualization: theme.css's html/body overflow-x:hidden computes overflow-y:auto per the CSS Overflow spec, making <body> shadow <html> as the scroll container position:sticky pins to. Also corrects the stale speculative "plain <table>" note in §E.3 to match what actually shipped. On-Behalf-Of: @cheyras Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

    @fluid-chey fluid-chey committed Sep 26, 2026
  • Document administration tiers, feature controls and AI usage Synchronize the owner guide, architecture, security boundaries, UI conventions and decision record with app commit 8f44c4b6. Live release verification remains separate. On-Behalf-Of: @cheyras Co-Authored-By: GPT-6 <noreply@anthropic.com>

    @cheyras cheyras committed Sep 15, 2026
  • Document reusable admin tables and verified preview status Record the shared DataTable contract, six administration consumers, full-result filter semantics, desktop/mobile behavior and completed isolated browser acceptance. Preserve historical decisions and release records. On-Behalf-Of: @cheyras Co-Authored-By: Codex <noreply@openai.com>

    @cheyras cheyras committed Sep 14, 2026
  • Document administration, roles and configurable AI credits Add the owner guide and synchronize architecture, schema, frontend, MCP and decision records for DeckPal PR188. Production schema and payment verification remain pending. On-Behalf-Of: @cheyras Co-Authored-By: Codex in-session worker <noreply@anthropic.com>

    @cheyras cheyras committed Sep 13, 2026
  • docs: ingest archived Capacitor iOS scanner research Explain the web-first scanner recommendation and optional native fallback, summarize all seven saved issue reports with historical limits, and preserve the original search JSON byte-for-byte. On-Behalf-Of: @cheyras Co-Authored-By: Codex in-session worker <noreply@anthropic.com>

    @cheyras cheyras committed Sep 13, 2026
  • docs: record DeckE dependency visual review Document the validated Three.js update from PR181, retained Node types, and the current custom AgX rendering path. On-Behalf-Of: @cheyras Co-Authored-By: GPT-6 Astra <noreply@anthropic.com> Co-Authored-By: GLM-5.2 <noreply@anthropic.com>

    @cheyras cheyras committed Sep 12, 2026
  • Architecture + Frontend Research + Decision Log + Contribution Record: first paint has a deadline now (#75) The grey screen that survived #87 was an unbounded `supabase.auth.getSession()`, not a bundle: it refreshes over the network inside the 90s expiry margin and auth-js puts no timeout on that fetch, so a stalled socket held `beforeLoad`, AuthGuard and every api.ts request open forever. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 27, 2026
  • Frontend Research A.6.1 + Decision Log + Contribution Record: the API base is the same sub-path trap (#89, #113) On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 27, 2026
  • Card art: direct object URLs, cloud warm path, and the 2026-08-26 measurements Architecture: the SPA no longer goes through the image function for art that is already in the bucket; records why a HIT was never free (invocation + Storage probe before the 302) and that the proxied path remains the fallback. Also corrects the "no manifest row is a FAIL" description, which was a permanent placeholder for 585 cards. Data-Layer 5.3a: the cloud tier had no bulk warmer at all -- the disk warmers cannot reach it and storage:backfill only mirrors a disk cache -- so the bucket held only what someone had looked at (18,840 of 21,066 cards missing). warm:cloud is that path now. Frontend-Research C.2a: the SW route matches two origins, the image cache is deckpal-img-v2, and the rename is load-bearing because v1 held opaque responses the browser pads against the origin quota. Decision Log + Contribution Record: the full entry with before/after figures. Both the Decision Log and Data-Layer note that pkmn.gg is ruled out as a source on the owner's decision, so warm:pkmn is not the route for the remaining 592 cards and should not be reached for on the next gap either. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqQ2pWdA2FAhXPjsooPy7K

    @cheyras cheyras committed Aug 26, 2026
  • Record issue #75: the character chunk on the document critical path `index.html` preloaded the 1.2 MB `Decke-runtime` chunk on every page for every visitor. An `advancedChunks` group absorbs the DEPENDENCIES of its matches, so `cardSource.ts` importing `lib/api.ts` pulled the app's shared plumbing into the character chunk and gave the entry a static edge to three.js. - Frontend-Research: new subsection under "Lazy chunks — must not be in the entry bundle" ("Lazy" is a property of the OUTPUT), plus the measured critical-path figures against the §B.5 budget and what should enforce it. - Decision-Log: the DECISIONS.md entry. - Contribution-Record: ledger line. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @fluid-chey fluid-chey committed Aug 24, 2026
  • Sync the wiki, and correct a page that described branch work as shipped Brings Architecture, Decision Log and the Contribution Record in line with the 2026-08-22 work on `decke-agent` (PR #74, open): the approval `signature` bug that broke every approved write once DECKE_APPROVAL_SECRET was set, the round trip extracted into a testable module, the narration transform's move, search_cards no longer grounding a guessed set id, and the chat model switch. Twelve DECISIONS entries appended verbatim -- this page is a snapshot, not a rewrite. The correction that mattered most was to our OWN previous sync. MCP Setup said the 23 tools "are defined once, in the packages/agent-tools workspace package". That package does not exist on origin/main. It is branch-only work from PR #74, and the 2026-08-21 sync wrote it up as current behaviour -- so a reader following that page would have gone looking in a directory that is not there, and Deck-E in production has its own separate tool set rather than a share of the MCP registry. The page now says what is true today and names the pending PR without claiming it. Everything new is marked as branch-only for the same reason. Nothing here describes the collection-write path as working, because it does not: the model will not call `log_cards` at all, which is recorded plainly rather than omitted. Two older pages get a banner instead of a rewrite. Data Layer and Frontend Research §D sized a single-user Raspberry Pi deployment that the project abandoned for Vercel + Supabase the same week they were finished. Their measurements are captioned with the command that produced them, so they are left as measured and the banner says which sections are still evidence and which describe a plan that was dropped. A dated measurement rewritten to a current number stops being evidence. Also: removed an orphaned mid-file footer from Decision Log and the Contribution Record, each left behind by an earlier sync that appended below it, so both pages now carry exactly one and a reader scanning for the date gets the right one. TypeScript's entry corrected to 7.0.2. Home was checked against the files on disk and the AGENTS.md inventory and left alone. Dex Data, Prior Art, Project Brief and UI Spec were checked and deliberately not touched -- Project Brief is historical by designation, and UI Spec already carries its own supersession notice. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 22, 2026
  • Document the Deck-E three.js character runtime Architecture gains §15: the subsystem, the decision to drive 47 normalised pose channels rather than AnimationMixer clips, and the traps worth knowing before touching it. Frontend Research gains section F on the stack choices — vanilla three.js over r3f, the AgX colour recipe for matching Blender, why PMREM is a correctness fix and not just an aliasing one, and why Draco cannot be used with morph targets. Also records that the separate character wiki is now stale in eight measured places: its own regeneration chain died on 2026-08-17, so the .blend is the authority. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @claude claude committed Aug 18, 2026
  • Rename the product to DeckPal Follows the repo rename: DeckScout → DeckPal, deckscout.io → deckpal.app, and the MCP server rotom-mcp → deckpal-mcp.

    @cheyras cheyras committed Aug 15, 2026
  • docs: initialize DeckScout wiki with design docs and attribution system Pages: Home, Architecture, Data-Layer, Frontend-Research, Dex-Data, UI-Spec, Prior-Art (merged with raw scan), Project-Brief, Decision-Log (snapshot), Contribution-Record (attribution ledger). All content authored from current (homelab-stripped) repo sources. Every page carries an agent+human attribution footer. On-Behalf-Of: @cheyras Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136MZx8gJRZn4ET9ieof6bt

    @cheyras cheyras committed Aug 9, 2026