Features:
- Custom user presets: Create, edit, delete, export/import lighting presets
stored in IndexedDB (useCustomPresets.js hook, DB schema v3→v4)
- Identity protection: LLM-mediated name-to-style translation prevents
generating recognizable real people while preserving style references.
Active divergence breaks likeness convergence. Defense-in-depth across
both prompt paths + generateImage() fallback
- Video negative prompts: AI auto-generates suggested negative prompts
during Veo 3.1 prompt optimization. Collapsible editable textarea
teaches creatives what to exclude. Sent as negativePrompt parameter
- Generate Video from Library: Image preview modal now has a gold
"Generate Video" button that loads the image as a first frame reference
- Expanded preview overlays: Maximize button on generated images and
videos opens a large centered overlay (90vw, not fullscreen)
- Move items between projects: ArrowRightLeft button in Library list
and preview modal
- Preset display in Library: Shows which preset was used per generation
Backend improvements:
- video_api.php: negativePrompt passthrough to Veo 3.1 parameters,
lastFrame interpolation works with fast model (8s required)
- api.php: Exponential backoff retry (3 attempts), increased memory/
POST limits for 4K images, user-friendly 500 error messages
- enhance_prompt.php: User lighting intent now respected over preset
defaults (critical fix for night/sunset scene descriptions)
- session_manager.php: Fix images subdirectory creation race condition
Infrastructure:
- SSO made conditional via VITE_SSO_ENABLED env variable — hooks only
called when SSO is active, local dev bypasses auth cleanly
- .gitignore updated for root-level generated_videos/, uploads/,
config.php, backend/php.ini, Prompt_Studio/
- Wire up dead getNegativeConstraints() code in both prompt paths
No env files or secrets included. Production deploys via deploy.sh
using .env.production templates (SSO_ENABLED configurable per env).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Edit Mode bug: send displayed image to backend instead of relying on PHP session
- Fix image order bug: input image now sent first to Gemini API before reference images
- Add "Add from Library" feature to Image Gen reference images
- Redesign Creative Freedom slider with 4 graduated levels (Literal/Conservative/Creative/Inventive)
- Fix Custom application: LLM now infers lighting from scene instead of "user-defined lighting"
- Simplify Video Gen to Frame mode only (remove Subject Ref due to API incompatibility)
- Add comprehensive Veo 3.1 feature matrix constraints (1080p, duration, aspect ratio)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add userId field to projects for SSO-ready user isolation
- Migrate existing projects without userId on load
- Add image upload to project library (multiple files supported)
- Add "Edit in Image Gen" button to load library images for editing
- Fix frame extractor saving to library from VideoPlayer
- Add tooltip to export button clarifying JSON backup purpose
- Update README with production migration path documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add storyboards IndexedDB store with projectId index
- Add storyboard CRUD operations to useProjects hook
- Add sub-tab navigation (Library | Storyboards) to ProjectsTab
- Add image selection mode for creating storyboards
- Create StoryboardEditor component with:
- Drag-and-drop frame reordering (@dnd-kit)
- Editable frame annotations
- Generate Video button per frame
- PDF export with preserved aspect ratios (jspdf)
- PNG export with clean presentation (html2canvas)
- Wire up Video Gen integration for storyboard frames
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Re-run button on video preview in Projects tab
- Pre-fills Video Gen with saved prompt, settings, and reference images
- Save reference images with video metadata in useProjects hook
- Fix database initialization timing for loadProjectImages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add model selector (Fast/Standard) to VideoGenTab
- Fast model (~50% cheaper): veo-3.1-fast-generate-preview
- Standard model (higher quality): veo-3.1-generate-preview
- Dynamic cost display based on model selection
- Auto-set duration to 8s when adding reference images (I2V requirement)
- Disable 4s/6s duration options when reference images present
- Fix VideoPlayer mute icon state to match actual muted state
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Complete rewrite reflecting new features
- Document Image Gen with physics-based prompts
- Document Video Gen with AI prompt optimizer
- Project management workflow
- Camera/lens profiles reference
- Updated installation instructions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Major Features:
- Rebrand from Cinema Studio Pro to Lux Studio
- New logo and branding (orange/gold theme)
- Video generation with Veo 3.1 (I2V and T2V)
- Project-first workflow with IndexedDB storage
- AI prompt optimizer with intelligent inference
Video Gen:
- Duration (4s/6s/8s), aspect ratio (16:9/9:16), resolution
- Reference image support for I2V
- Aspect ratio mismatch warnings
- Frame extraction from generated videos
- Video streaming with HTTP Range support
UI/UX:
- Tab navigation with underline style
- Portrait format adaptive display
- Editable optimized prompts with [AI suggestions]
- Auto-save to active project
Security:
- Remove config.php from tracking (contains API key)
- Add comprehensive .gitignore
- Remove uploaded session files from repo
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>