FreshCards
Canonical location: avidtech6/freshvibestudio/studio/modules/freshcards/ (per D-061) Status: active Substrate contract: studio/modules/freshcards/module.json (tier: platform-supreme)
What FreshCards is
The 4th sovereign workspace in FVS (per D-056) AND a card substrate used across Studio. Dual identity:
- Sovereign workspace — has its own chip row, layout, settings
- Substrate — provides Card primitives (Card, SubNav, SubChips, SupportActs, InnerCard, Workspace) to other parts of the system
Substrate submodules
src/Card.tsx— card primitivesrc/SubNav.tsx— sub-nav (creates Inner Cards, multi-active)src/SubChips.tsx— sub-chips (view selectors, single-active)src/SupportActs.tsx— support actions (per-card)src/InnerCard.tsx— inner card (created by sub-nav)src/Workspace.tsx— workspace mountsrc/index.ts— module entry
Depends on
@mantine/core,@mantine/hooks,@tabler/icons-react../chrome/chip-system/src(FVS chip system)../../src/state/StudioContext(FVS state)
Used by
../../src/workspaces/FreshCardsWorkspace.tsx(mount shell)
Lineage
- Created: 2026-06-19
- Created by: feat-freshcards-module branch (Mavis 409986685276336)
- Based on:
pact/platform/cards/cards.md+pact/freshvibe-way-v7/23-two-view-substrate.md - Decision record:
pact/decisions/2026-06-18-vanilla-chrome-swap.md(D-056)
Locked design decisions
| Decision | Status | Source |
|---|---|---|
| Library chip → "Library" → opens Surface 1 curtain (stacked layout) | ✅ locked 2026-06-19 | memory freshcards topic |
| Quick Note → support chip in peek panel chip row | ✅ locked 2026-06-19 | memory freshcards topic |
Workspace isolation → centreActiveChips: Record<WorkspaceId, string[]> | ✅ locked 2026-06-19 | memory freshcards topic |
Canonical export → studio/modules/freshcards/ only | ✅ locked 2026-06-19 + reaffirmed D-061 2026-06-23 | memory + D-061 |
| D-061: standalone GitHub repo no longer exists | ✅ 2026-06-23 | D-061 |
Card primitives (per pact/platform/cards/cards.md)
- Geometry — every card has geometry metadata
- Regions — front, back, widget, preview
- Lifecycle states — created, mounted, active, archived
- Semantic roles — per the platform cards spec
Test/build state (last verify 2026-06-22)
- Tests: 401/401 PASS
- Build: vite build green at HEAD
43cb74f
Cross-references
- Lane: cards (owns FreshCards substrate)
- Topic:
freshcards - Decisions: D-056, D-061
- Plan:
phase-3-freshcards-export - Report:
2026-06-23-freshcards-state-check