SimDeck
AboutWhat's newHelpDemoSupportStudent login
View demo
ChinaEgyptClassroom

Release ledger

What's new in SimDeck

A version-by-version record of the improvements, mirrored from the SimDeck release ledger in Linear.

Source of truth

Linear release ledger

Public notes summarize the Linear source in teacher-facing language. The latest focus is clearer card scanning, live class safety, and easier handoff verification.

Open Linear source

Version 0.20

July 4, 2026

Visual cleanup and stronger screenshot QA

The pilot UI has tighter shared spacing, safer card text wrapping, a squared SimDeck icon, and desktop/tablet screenshot checks that wait for finished pages.

Why it matters

  • - Teacher and student screens hold their square-paper layout better on tablet-sized review surfaces.
  • - Long game names, card names, and metadata are less likely to push controls out of their panels.
  • - The SimDeck icon now matches the square visual system used across the app.
  • - Visual review screenshots capture rendered pages instead of loading skeletons.

Verification

  • - Typecheck, lint, UI screenshots, skeleton screenshots, and Playwright smoke passed from the clean non-iCloud checkout.
  • - Desktop and tablet screenshot evidence was reviewed for the demo route.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, CS-852

  • Tightened shared teacher shell spacing and section padding for small and tablet viewports.
  • Added safer text wrapping inside card faces and metadata rows.
  • Fixed the `subtle-scroll` styling hook used by scrollable teacher panels.
  • Updated UI screenshot smoke coverage to capture both desktop and tablet viewports after route-ready text appears.
  • Aligned stale smoke assertions with the current pilot copy.

Version 0.19

July 4, 2026

Clearer pilot copy

Core teacher, student, and demo screens now use more specific classroom wording before the pilot.

Why it matters

  • - David sees explicit action labels instead of generic controls while managing cards, students, roles, approvals, and restores.
  • - Students get clearer search and empty-state language when their inventory filters return no active cards.
  • - The demo reads as a sample classroom run instead of a technical sandbox.
  • - Not-found and deletion messages explain what happened in classroom terms.

Verification

  • - Source scan confirmed the targeted vague labels are gone from active app UI.
  • - Typecheck, lint, demo-backendless verification, and Playwright smoke were run from the clean non-iCloud checkout.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, CS-851

  • Reworded vague buttons across Cards, Students, Roles, Dashboard, Live Dashboard, selected game desk, and student inventory.
  • Clarified empty states for card templates, starter cards, filtered student cards, and manual-card setup.
  • Renamed remaining reserve labels to David reserve so Bank and teacher-held cards stay conceptually separate.
  • Updated backendless demo copy to describe sample classroom data and live-data safety.

Version 0.18

July 4, 2026

Safer student sends and Bank routing

Student card sends are safer during class, policy-limited card actions stay hidden, eligible cards can route to David or Bank, and teacher desks do less unnecessary loading work.

Why it matters

  • - Students must choose David, Bank, or a classmate before sending a card.
  • - Stale or duplicate send forms are blocked so classroom card state stays trustworthy.
  • - David sees Bank cards separately from his reserve instead of mixing both piles together.
  • - David can search the selected game roster and a student's current inventory before moving, using, restoring, archiving, or banking cards.
  • - Card metadata can hide student Use/send actions without changing the Appwrite schema.
  • - Students who join with a preseeded email attach to the prepared roster row instead of creating a duplicate.
  • - Teacher and student desk data paths avoid extra Appwrite reads and repeated scans where safe.

Verification

  • - Typecheck and lint passed from the clean non-iCloud checkout.
  • - Source scans confirmed the old student undo-send strings are gone.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, CS-89, CS-150, CS-151, CS-152

  • Added server-side card policy checks for student use, student sends, teacher mark-used, teacher transfer, and transfer approval.
  • Removed student-side send undo from the visible flow; students now ask David to correct sends from the teacher desk.
  • Added stale-send snapshot checks and duplicate pending request detection for student sends.
  • Added policy-driven David, Bank, and classmate send targets in the student inventory.
  • Split David reserve and Bank piles on the selected game desk, including a Move to Bank control for eligible reserve cards.
  • Added roster and selected-student card search to the game desk, and broadened Cards library search to include description, symbol, metadata, source, role, policy, and page data.
  • Updated class-code joining so preseeded email rows can receive the student's Appwrite account and pending approval status.
  • Pulled in the performance pass for game shelf summaries, field projections, one-pass counts, and narrower student template loading.

Version 0.12

June 11, 2026

Linear-sourced release notes

The release ledger now treats Linear as the source of truth and gives each public entry more useful context.

Why it matters

  • - Future updates have one canonical operational record instead of relying on memory or ad hoc notes.
  • - David and reviewers can read what changed, why it matters, and how it was verified.
  • - Future agents have explicit instructions to update Linear before updating the public page.

Verification

  • - Typecheck, lint, and production build passed.
  • - UI screenshot verification passed after the page update.

Source: Linear release ledger document, CS-83

  • Created the Linear release-ledger source document for SimDeck.
  • Added a CS-83 note pointing future SimDeck work to the Linear release ledger.
  • Updated AGENTS.md, CLAUDE.md, and README.md to make Linear the canonical release-note source.
  • Expanded this page with customer value, verification notes, and a visible source-of-truth panel.

Version 0.11

June 11, 2026

More distinct cards

Cards are easier to tell apart at a glance in student inventories, demo mode, and the teacher card library.

Why it matters

  • - Students can distinguish card types faster without reading every full card first.
  • - David can scan card libraries more quickly during setup and live class use.
  • - Loading skeletons now better match the final card shape.

Verification

  • - Typecheck, lint, and production build passed.
  • - Skeleton, backendless demo, theme contrast, and UI screenshot verification passed.
  • - Production deployment was marked Ready and aliased to www.simdeck.games.

Source: Linear release ledger document, CS-83

  • Added category/color-based card tones so resources, temple cards, labor cards, defense cards, taxes, and scholar cards do not all look identical.
  • Added stronger left rails, top bands, category chips, and symbol tiles while keeping the square SimDeck visual system.
  • Matched the student/demo card skeleton shape to the loaded card design.
  • Carried the same visual cues into the Cards library rows so teacher card management is easier to scan.

Version 0.10

June 11, 2026

Live class workflow polish

The latest pass focuses on reducing teacher friction during real classroom use.

Why it matters

  • - David has calmer live-class controls for the moments when students are actively using and sending cards.
  • - Card import and restore flows are safer to use without developer support.
  • - Teacher verification and handoff workflows are easier to trust before a classroom demo.

Verification

  • - Public and student-facing screenshot capture was added.
  • - Local readiness checks were kept in the repo for repeated demo verification.

Source: Linear release ledger document, CS-83

  • Added category, color, source, and in-use filters to the Cards library for large imported decks.
  • Made import review rows editable before import so messy pasted card sheets can be corrected safely.
  • Added saved card library views and a cleanup step for rough pasted card sheets.
  • Added a recommended next-step panel to the teacher checklist.
  • Added a restore-backup dry-run preview in Settings before creating a restored game.
  • Added Live Class Mode as a calmer command center for search, approvals, recent moves, and undo.
  • Pulled pending student joins into a clearer approval queue on Students.
  • Added activity presets for Needs undo, Today, pending sends, and a first-student shortcut.
  • Turned End class into a short lock/export/final-summary sequence.
  • Expanded Help with import, live class, and restore-backup walkthroughs.
  • Added UI screenshot capture for public and student-facing routes.

Version 0.09

June 9, 2026

On-brand public polish

Small public-facing surfaces now feel more like SimDeck and less like framework defaults.

Why it matters

  • - SimDeck better matches the classroom simulation desk direction David preferred.
  • - Public pages are easier to navigate and explain during handoff.
  • - The release ledger is reachable from the public navigation and footer.

Verification

  • - Release ledger smoke coverage was added.
  • - Theme and public-page polish were verified through local and live review passes.

Source: Linear release ledger document, CS-83

  • Aligned the China homepage mock and controls around one seal-red family instead of mixing brighter red and dark maroon.
  • Retuned Egypt to a gold-dominant palette using the same gold family as China, with lapis blue reserved for structure and card accents.
  • Added the public theme selector across Home, What's New, About, Help, and Support.
  • Added an Appwrite health endpoint, Vercel Cron keepalive, Settings backend status, and before-demo handoff checklist.
  • Added local screenshot evidence for route-shaped skeleton loading frames.
  • Expanded Help with a future-game setup walkthrough so David has clearer self-service guidance.
  • Added full JSON restore backups and a Settings restore flow that creates a new game instead of overwriting a live class.
  • Refined Cards into a selected-card detail drawer so editing, duplicating, deleting, and dealing happen in one focused panel.
  • Added a downloadable card import CSV template so future games can start from David's spreadsheet workflow.
  • Changed Roles into a focused starter-deck builder with a role list, selected role detail, and side panel for adding starter cards.
  • Made card save, duplicate, restore, and undo notices more specific so David can tell exactly what changed.
  • Made card dealing feedback name the card and destination after a deal or role package assignment.
  • Added compact card previews inside the import review queue so David can check detected card wording before importing.
  • Added a custom SimDeck 404 page with classroom-desk styling and useful recovery links.
  • Linked the release ledger from the public navigation and footer.
  • Updated project instructions so future user-visible changes keep this page current.
  • Added smoke coverage for the release ledger page.

Version 0.08

June 9, 2026

Safer classroom operations

The latest work makes live classroom use calmer and more reversible.

Why it matters

  • - David can pause risky student actions while setting up or ending a simulation.
  • - Mistaken sends and used cards are easier to reverse.

Verification

  • - Smoke tests were updated for teacher and student route coverage.
  • Added a command center safety panel for turning student sending/use on or off, requiring transfer approval, and locking a simulation.
  • Added immediate student undo after sending a card, so a mistaken send can be taken back quickly.
  • Expanded the role assignment wizard so David can choose a role, select multiple students, preview the package, and deal once.
  • Improved the print backup with student, active, used, and archived card totals at the top.
  • Updated smoke tests so they can run against an existing local server and catch teacher/student route regressions.

Version 0.07

June 9, 2026

Sharper visual system

SimDeck moved away from generic rounded admin UI toward a more deliberate classroom desk style.

Why it matters

  • - The app feels more like a classroom tool and less like a generic admin panel.
  • - The visual system is more consistent across public, teacher, and student screens.

Verification

  • - Theme contrast checks passed after the palette work.
  • Squared off buttons, panels, forms, cards, and controls across the app.
  • Removed gradient styling and kept surfaces flatter and more classroom-tool-like.
  • Refined Egypt, China, and Classroom themes with stronger contrast and less visual overload.
  • Made China more seal red and Egypt more muted gold while keeping accessibility checks passing.
  • Set the SimDeck favicon and site metadata.

Version 0.06

June 5, 2026

David's card libraries

David's Egypt and China card materials became structured SimDeck card data and import/audit artifacts.

Why it matters

  • - The app reflects David's actual Tut 2026 and Zhongguo 2025 materials instead of placeholder cards.
  • - Repeated cards are easier to maintain as templates.

Verification

  • - PDF import/audit tooling was added for card coverage review.
  • Added extracted card data and import/audit tooling for David Millians' Tut 2026 and Zhongguo 2025 materials.
  • Added card audit docs for Egypt and China coverage.
  • Kept repeated cards as reusable templates so future games can be easier to maintain.
  • Added card search and selected-card editing so the library is manageable without scrolling through every control at once.

Version 0.05

June 9, 2026

Backendless demo resilience

The public demo became safe to share even when the live backend is unavailable or paused.

Why it matters

  • - Shared demo links do not expose real student data.
  • - The demo can still be reviewed even if the backend is paused.

Verification

  • - Backendless demo verification was added.
  • Made `/demo` a backendless sandbox with local mock data only.
  • Kept real teacher and student routes backed by Appwrite as the system of record.
  • Added demo/data separation guardrails and visible demo labels.
  • Cleaned user-facing copy so teachers see SimDeck language instead of backend vendor terminology.

Version 0.04

June 6, 2026

Student accounts and classroom security

Student access moved closer to a classroom-code sign-in model, with stronger data boundaries.

Why it matters

  • - Students can join with a class code and their own password.
  • - David controls approval, roster cleanup, and password support.

Verification

  • - Student and teacher account flows were included in live QA passes.
  • Added class-code join flow with student name, email, password setup, and pending approval.
  • Added teacher approval, student removal, name/email edits, and password reset support.
  • Kept legacy access-code routes available for seeded demo students.
  • Added cookie-backed sign-in so users can stay signed in on the same device.

Version 0.03

June 5, 2026

Appwrite-backed demo app

The core paper-state replacement became a working Appwrite-backed classroom app.

Why it matters

  • - Teachers can manage games, students, cards, roles, and activity from one app.
  • - Students only see their own inventory.

Verification

  • - Core teacher and student flows were manually verified during demo readiness work.
  • Added teacher views for games, students, cards, roles, activity, and settings.
  • Added student inventory pages where students only see their own cards.
  • Added use, restore, send, transfer, manual add/archive, role deal, and activity log flows.
  • Added undo for used cards, transfers, manual adds, and role deals.

Version 0.02

June 2, 2026

Appwrite migration foundation

The runtime backend moved from Supabase-era residue to an Appwrite-backed data layer while preserving SimDeck's relational shape.

Why it matters

  • - Another team can run SimDeck against its own Appwrite project.
  • - The classroom data model remains explicit and handoff-friendly.

Verification

  • - Legacy import parity and Maya's seeded demo inventory were checked.
  • Centralized Appwrite environment and server client wiring.
  • Preserved games, students, card templates, card instances, roles, role cards, student roles, and activity logs.
  • Added migration handoff docs, environment scaffolding, and import/validation scripts.
  • Verified legacy import parity and Maya's `EGY-7281` demo inventory in Appwrite.

Version 0.01

May 27, 2026

First working SimDeck

The project started as a working Next.js app for classroom card inventories.

Why it matters

  • - Established the first usable path for replacing paper card-state tracking.
  • - Seeded the classroom simulations David needed for early review.

Verification

  • - Initial demo path was created for Maya at EGY-7281.
  • Created the Next.js, TypeScript, Tailwind, and Appwrite foundation.
  • Modeled games, students, card templates, card instances, roles, role cards, student roles, and activity logs.
  • Seeded Egypt, China, and Classroom demo games.
  • Added Maya's demo student inventory at `/play/EGY-7281`.

SimDeck is demo classroom software for role-based card inventories.

PrivacyTermsSupportHelpWhat's new