Status: draft for Nick's review, 2026-09-13. Proposed unless marked Decided.
One product, three zones, is Proposed (decision 15) and awaiting Nick's confirmation: Write (world, cast, script as data-driven objects), Produce (node-flow generation scoped to a shot), and Edit (a read-only timeline of approved clips first, a light editor later), under a Home that shows progress and next actions. Two things are still Open: whether this is one product or two and where the flow components live (decision 16, recommendation A: one product, Film Writer is the app), and the product name itself (decision 17: this repo says FilmMaker, the live app says Film Writer). This repo holds Alena's node-flow design system, the docs, and a frozen proof of concept. The live app is Repo B, weeeha/Film-Planner-. See docs/roadmap.md for the plan and docs/decisions.md for what is decided versus proposed.
Write a film as a world of linked objects (locations, cast, scenes, shots) with [[wiki links]] and backlinks. Open a generation flow from a shot, pre-seeded from that object graph (an avatar node per linked character, reference images from linked objects, the film's style note in every prompt), so nothing is typed twice. Approve what a flow produces, then assemble approved clips into a cut. Cost is shown before and after every generation run.
Both images come from a local run of the frozen film-planner/ POC in this repo, with invented demo data and no API keys. They show code that exists today. The Write, Produce, Edit and Home zones described above are Proposed and are not built in this repo: film-planner/src/app holds only a project list (/), a project page (/projects/[id]), two API routes and a node playground (/playground/nodes).
/playground/nodes is a static UI prototype of node cards (video and image) from the design work, with no generation behind it. The storyboard image at the top is /projects/[id] with a demo project loaded into browser localStorage. Extracting scenes and generating frames call the AI routes and need a gateway key, so those results are not shown.
To reproduce:
cd film-planner
npm install
npm run dev # http://localhost:3000| Doc | What's inside |
|---|---|
| Vision | Problem, product statement, experience principles, non-goals |
| System design | Domain model, zones, screens |
| Design system | Component inventory, known defects, open UI-stack conflict |
| Roadmap | Phases, owners, exit criteria |
| Decisions | Decision log: date, status, who, what it replaced |
| Reference products | Flagship products studied per component group |
docs/archive/ |
Superseded specs (the three prior product definitions and the POC plan), kept unchanged for history |
design-system/(this repo) is Alena's active project: 60 shadcn/ui primitives, AI Elements, acomponents/ainode shell (AINode, NodePort, RunButton, NodeMenu), ninesuper-aichat and settings primitives, and 13 node types undersrc/stories/nodes/(avatar, composition, dubbing, image-generation, lip-sync, llm, music, sound-effects, speech, text, video-generation, voice-changer, voice-isolator), each with stories and a spec page. Commit72c817e(2026-09-13, adds RunMenu, CostTooltip, node menus, a run-button spec, and a/playground/nodespage infilm-planner/; it also replaced the per-node doc pages with the spec pages) is merged intomain(PR #6).film-planner/here is the frozen v0.1 POC from April 2026 (paste a screenplay, extract scenes and shots, generate one reference image per shot, localStorage persistence).docs/roadmap.mdPhase 0 recommends deleting it: the live app is Repo B, not this folder.- Film Writer, in
weeeha/Film-Planner-(local folderFilm Writer and Planner) is the live app, not a foundation in progress. 22 PRs merged tomainbetween 2026-07-21 and 2026-09-04 (last: PR #25, "3D model viewer"). It runs local-first on embedded PGlite with opt-in hosted seams for Neon, Vercel Blob and Clerk; 13 tables per its own README; 58 test files and 38 Storybook stories; its own design tokens on Radix primitives and Phosphor duotone icons, separate from this repo's design-system. Built and wired: films list and creation, the app shell, collections in five list views (table, gallery, masonry, sequence, map), View Record with mentions and backlinks, images with lightbox, a 3D model viewer, search, capture inbox, and Generate image. Built and tested but not wired to a route: the scene board, shot view, and the 3D stage. Absent: Generate text, an approval state on images, flows or node canvas, and export.
| Repo | Local folder | Holds |
|---|---|---|
weeeha/FilmMaker (this repo) |
Film Maker APp |
docs/, the active design-system/ (Alena's node-flow components), and the frozen film-planner/ v0.1 POC. CI deploys Storybook to GitHub Pages only. |
weeeha/Film-Planner- |
Film Writer and Planner |
Film Writer, the live app: its film-planner/, Drizzle schema and migrations, PGlite test harness, and specs under docs/superpowers/. main at 58987e2, last commit 2026-09-04. |
| Package | Framework | Language | UI | Notes |
|---|---|---|---|---|
film-planner/ (this repo, frozen POC) |
Next.js 16.2.4 | TypeScript ^5 | Tailwind ^4 | ai ^6.0.168, zod ^4.3.6, React 19.2.4 |
design-system/ (this repo) |
Vite ^8.1.1, Storybook ^10.5.0 | TypeScript ~6.0.2 | Tailwind CSS ^4.3.2, @base-ui/react ^1.6.0, radix-ui ^1.6.2, lucide-react ^1.24.0 |
ai ^7.0.22, @xyflow/react ^12.11.2, React ^19.2.7 |
film-planner/ (Repo B, live app) |
Next.js 16.2.4 | TypeScript ^5 | Tailwind ^4, radix-ui ^1.6.4, @phosphor-icons/react 2.1.10 (@base-ui/react ^1.6.0 present, unused) |
ai ^6.0.168, drizzle-orm 0.45.2, @electric-sql/pglite ^0.5.4, @neondatabase/serverless ^1.1.0, @vercel/blob ^2.8.0, @clerk/nextjs ^7.8.0, @react-three/fiber ^9.6.1 |
This repo's design-system/ is on Base UI plus Lucide; the live app is on Radix plus Phosphor (Base UI is an unused dependency there). That conflict is open, recorded in docs/decisions.md rather than resolved here.
design-system (this repo)
cd design-system
npm install
npm run dev # Vite demo app
npm run storybook # http://localhost:6006Film Writer (weeeha/Film-Planner-, local folder Film Writer and Planner)
cd film-planner
pnpm install
pnpm devNothing external is required: no database server, no auth provider, no keys. PGlite runs embedded in the process; migrations apply on first page load.
film-planner/in this repo has no.env.example(.gitignorematches.env*with no negation) and no tests.- No CI for the app packages in this repo; the existing CI only builds and deploys Storybook.
- Stale branches to merge or close in this repo:
origin/design-system(tip72c817e, already merged intomain, so it can be deleted),origin/remove-film-planner,origin/claude/add-claude-documentation-sPdvu. - On 2026-09-13 an automated review moved the checkout of
weeeha/Film-Planner-fromclaude/project-rulebooktomain. No tracked files were changed. Nick may want to switch it back.
Nick (product, app) and Alena (design system, components).

