Release log
Changelog
Product, platform, and production-workflow updates for the private beta.
Made AI Gateway credit failures actionable
- Restored bounded transient-request retries for structured AI proposals while keeping the configured fallback model and three-attempt output repair.
- Clearly explain when AI credits are required, preserve local drafts, and record redacted Gateway diagnostics for operator troubleshooting.
- Added recent AI-run health signals to the authenticated health endpoint without sending billable generation probes.
Made storyboard AI failures recoverable
- Kept storyboard and other AI generation available when optional usage telemetry cannot be recorded, and replaced generic save errors with clear AI Gateway configuration and availability feedback.
Made timeline validation actionable and repairable
- Added local full-coverage scene starters, section-aware AI refinement, uncovered-interval insertion, and safe partial scene saves that remain drafts until every section is covered.
- Added explicit cut-point previews for scene boundaries and atomic scene-wide shot timing repair that preserves selected panels while returning changed shots to draft.
- Unified approval, continuity-review, and export gates around structured live validation with deliverable-scoped issues and direct links to every repair location.
Added creator-first legal and privacy controls
- Published a Privacy Policy and combined Terms of Service and User Agreement, added the signup disclosure, and made legal and cookie controls available throughout the public site and workspace.
- Added device-only necessary or all preferences so Vercel Web Analytics and Speed Insights load only with consent, with authentication-route exclusion and URL identifier redaction before events are sent.
- Applied the AI Gateway no-training request to every structured, Copilot, and panel generation while documenting that the request does not enable zero data retention.
Added approved Creative Copilot draft editing
- Made Creative Copilot one project-wide thread with live activity feedback, streaming-aware bottom following, Discovery hash context, and shared desktop and mobile presentation.
- Added one-change action cards, signed user approval, human-draft flushing, scope and expiration guards, conflict-safe idempotent proposal persistence, and suggestions-only fallback.
- Registered every editable workspace surface, strengthened revision-aware save results, preserved downstream stale behavior, and kept final stage and shot approvals exclusively manual.
Raised full-project React health to 100
- Added pinned React Doctor checks for local commits, pull requests, and main-branch pushes, plus stricter pnpm release-age and trust policies for clean installs.
- Strengthened authenticated export and server-action flows, fixed Song Map coverage validation, waveform cleanup, list editing, and panel feedback, and added focused regression coverage.
- Decomposed large workspaces, stabilized editable drafts, lazy-loaded PDF rendering, and removed repeated data passes, unused code, and other full-diagnostic performance issues.
Organized saved projects with nested folders
- Added owner-private folders with five-level nesting, direct-project views, subfolder navigation, Unfiled, and optional folder placement when creating a canvas.
- Added safe project and folder move controls, rename and create flows, content-preserving folder deletion, demo coverage, and product-guide instructions.
Restored age-gated pnpm installs
- Pinned the repository to pnpm 11.16.0 and removed the unused form resolver while retaining react-hook-form.
- Removed the resolver release-age exception so clean installs use pnpm’s standard 24-hour dependency policy.
Restored local development installs under pnpm 11
- Migrated dependency build permissions to pnpm 11’s explicit policy, allowing the required esbuild setup while continuing to deny sharp and unrs-resolver scripts.
- Reconciled the lockfile under the active supply-chain policy and recorded a narrow release-age exception for the existing form resolver dependency.
Published the Director's Canvas product guide
- Added a public end-to-end guide from creative seed through the approved production package, with workflow, approvals, reference-library, limits, and troubleshooting guidance.
- Linked the guide from public and workspace navigation and made cut management discoverable as a dedicated, correctly highlighted project screen.
- Normalized root configuration formatting to the repository’s Prettier standard so the complete formatting check stays clean.
Added branded app and sharing artwork
- Replaced the placeholder browser artwork with the Director’s Canvas viewfinder favicon, scalable icon, and opaque iOS and Android home-screen icons, including mask-safe Android variants.
- Added an installable web-app manifest that opens the project workspace and keeps the edit-bay palette across supported mobile surfaces.
- Added branded Open Graph and Twitter cards with approved alt text and automated checks for image format, dimensions, opacity, and platform limits.
Made authentication loading resilient
- Added visible loading and failure states to the Clerk sign-in and sign-up screens so a delayed authentication service no longer leaves an empty card.
- Added regression coverage for both authentication loading and failure feedback.
Deepened light-theme status colors for AA contrast
- Nudged the light-theme primary, warning, approved, draft, and destructive colors darker so status text passes WCAG AA both as plain text and inside tinted badges.
Removed unused UI primitives
- Deleted the accordion, alert, skeleton, and table components, which had no remaining importers after the front-end overhaul.
Refreshed the landing and auth screens for both themes
- The landing product mock now always renders as a dark edit-bay monitor, with its option thumbnails and text derived from frame tokens instead of baked-in colors.
- Landing, auth, and new-project shadows are frame-token derived, and the sign-in and sign-up Clerk components inherit the app theme through CSS-variable appearance settings.
Improved screen reader and keyboard accessibility
- Added a skip-to-content link ahead of every page and main-content landmarks across the workspace, landing, auth, and changelog screens.
- Introduced a shared Spinner component that announces busy state to screen readers and migrated all 28 silent loading spinners onto it.
- Inline status messages now use polite live regions so async results are announced.
Added viewfinder corner brackets and focus polish
- Selected direction cards, the active stage-rail item, storyboard panel thumbnails, and hovered project cards now show viewfinder-style corner brackets.
- Custom clickable cards — direction pins, shot option proposals, and timeline ribbon sections — gained visible keyboard focus rings matching the button convention.
Introduced the Big Shoulders display face
- Headings now use Big Shoulders, a condensed grotesque with film title-card character, applied to the brand wordmark, stage titles, the landing hero, and card, dialog, and sheet titles.
- Tuned condensed-face weights and letter spacing so titles stay legible at small sizes; body text and mono timecode faces are unchanged.
Made the waveform and timeline ribbon token-driven
- The audio waveform now reads its wave, progress, and cursor colors from the frame design tokens at init instead of hardcoded hex values.
- Timeline ribbon sections derive their per-section hue rotation from the tungsten accent token via CSS relative color instead of JavaScript-computed HSL.
Moved film-black surfaces onto shared frame tokens
- Panel thumbnails, the waveform, the timeline ribbon, export prompt sheets, and library and deliverable covers now use the theme-constant frame tokens, so they stay dark like video monitors in the light theme.
- Replaced hardcoded zinc greys and baked-in amber gradient colors with token-derived color-mix values across the storyboard, timeline, exports, library, deliverables, and projects screens.
Added a light theme with a system-aware toggle
- The workspace now follows your system appearance by default, with a sun/moon toggle in the workspace topbar, landing header, and sign-in screens to switch between the paper-light and edit-bay-dark themes.
- Theme selection persists across visits and applies before first paint, so pages no longer flash the wrong theme.
Restructured the design tokens for light and dark themes
- Split the single dark token block into a warm-paper light theme and the existing edit-bay dark theme, adding theme-constant "film black" frame tokens for monitor-style surfaces.
- Gave stale status its own signal-orange color (previously identical to the amber primary) and moved draft status from hardcoded blues onto a new draft token.
- Derived the studio grid and panel glow utilities from theme tokens and added a global reduced-motion guard.
Fixed post-authentication navigation
- Sent completed Clerk sign-in and sign-up flows to the private project workspace instead of returning to the public landing page.
- Updated landing-page actions to reflect the active Clerk session and added regression coverage for signed-in and signed-out navigation.
Launched the Director's Canvas private-beta MVP
- Added the complete guided workflow from creative intake through approved treatments, visual bibles, timed storyboards, continuity review, and responsive production planning.
- Secured owner-isolated projects and private media with Clerk allowlisting, Turso and Drizzle persistence, Vercel Blob delivery, revision-safe approvals, and AI Gateway proposals and panels.
- Added versioned stack-specific PDF, Markdown, CSV, JSON, image, and ZIP exports alongside original cinematography guides, deployment documentation, repository standards, migrations, and automated browser and unit coverage.