Commit graph

35 commits

Author SHA1 Message Date
Simeon.Schecter
fdfb8ceb2e style: restore purple Optimize button in Image Gen and Video Gen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:00:28 -04:00
Simeon.Schecter
7051d260fe style: remove tab underline indicator, let type color speak
Active tab is already distinguished by gold text color. The
underline was redundant decoration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:56:55 -04:00
Simeon.Schecter
af3f8f0536 style: revert toggle buttons back to gold
Off-white toggles did not improve things -- gold selected state
was already working well. Reverts 4c4c857.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:55:28 -04:00
Simeon.Schecter
4c4c8575e5 style: change selected toggle buttons from gold to off-white
Replace bg-cinema-gold with bg-slate-200 on all 21 toggle/selector
buttons. Gold now reserved exclusively for primary CTA buttons
(Generate Image, Generate Video). Creates quieter UI that lets
generated images and video stand out.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:52:57 -04:00
Simeon.Schecter
036884bf91 style: remove decorative borders, keep only functional ones
Strip panel/card wrapper borders, section separator borders, tooltip
borders, and modal borders. Remaining borders are all functional:
input fields, focus states, status indicators (green/red/amber),
dashed upload zones, active selection states, and type badges.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:50:20 -04:00
Simeon.Schecter
c5002b8c6b style: drop all type weight from medium (500) to normal (400)
DM Sans at weight 400 is clean and readable — hierarchy now comes
entirely from size, not weight. Lighter overall feel.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:44:32 -04:00
Simeon.Schecter
0093b6dc92 style: Rams refinement on ProjectsTab
Thin font weights, tighten border radii, remove dropdown shadows,
strip uppercase from section headers, flatten video placeholder
gradient, replace indigo/purple action buttons with neutral slate,
consolidate move/select toggles to cinema-gold. Keep type badges
(IMG/VID/KLING) as functional color indicators.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:33:48 -04:00
Simeon.Schecter
c5dcc68056 style: Rams refinement on VideoGenTab
Strip uppercase+tracking from all labels, thin font weights to medium,
tighten all border radii, replace indigo-to-purple gradient with neutral
slate button, flatten container gradient, consolidate indigo workflow
selector to cinema-gold, remove all indigo color references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:31:53 -04:00
Simeon.Schecter
f1315a1662 style: Rams refinement on CinePromptStudio
Strip uppercase+tracking from all labels, thin font-bold to font-medium,
tighten all border radii, replace indigo-to-purple gradient with neutral
slate button, remove tooltip shadow, consolidate purple focus mode badge
to slate, remove decorative hover:scale on copy button.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:30:14 -04:00
Simeon.Schecter
d8c6f8db29 style: Rams refinement on VideoPlayer and StoryboardEditor
Tighten border radius (rounded-xl/lg→rounded), remove decorative
shadows, replace indigo Generate Video button with neutral slate,
thin heading font weights to medium.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:28:44 -04:00
Simeon.Schecter
6ba469c7b9 style: Rams refinement on LoginPage and AppContent
Thin font weights (bold→medium, semibold→medium), tighten border
radius (rounded-lg→rounded), reduce shadow (xl→sm) on login card.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:27:31 -04:00
Simeon.Schecter
c7ec58ff7f style: add DM Sans font and 14px base sizing
Switch from system font stack to DM Sans (Google Fonts, variable weight)
and reduce base font-size to 14px for a more compact, professional feel.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:27:02 -04:00
Simeon.Schecter
35d19e3a25 Add Kling 3.0 models (V3 and V3 Omni) to video generation
- Add kling-v3 and kling-v3-omni to model selector and backend validation
- Set V3 as the new default model (was V2.6)
- V3 Omni includes built-in audio generation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 21:30:00 -04:00
Simeon.Schecter
b9f35de5ef Add Kling AI video generation engine alongside Veo 3.1
Integrates Kling AI as a second video engine in the Video Gen tab with
three cinema-relevant workflows: Generate (T2V/I2V with camera control),
Extend (video extension up to 3 min), and Lip Sync (image + audio).

Backend: New kling_api.php with pure PHP JWT auth, all workflows, async
status polling, and CDN video download. Env files updated with Kling
credential placeholders.

Frontend: Engine selector toggle, workflow-specific settings panels,
Kling polling, engine badges in ProjectsTab, rerun support.

Also includes image model toggle changes (Gemini Pro/Flash).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 18:22:39 -04:00
Manish Tanwar
25ab570aab env bug fix 2026-02-27 20:51:33 +05:30
Manish Tanwar
ac275a9259 inter-project-deployment-updates 2026-02-27 20:33:26 +05:30
Manish Tanwar
988429a759 Merge origin/main: add custom presets, identity protection, video negative prompts, UX improvements
Resolved conflict in AppContent.jsx: combined MSAL fix (unconditional hooks) with
new features (Local Developer display name, conditional logout button).

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-02-25 17:43:38 +05:30
Manish Tanwar
3596826cc4 Fix MSAL auth (redirect mode, initialize), increase PHP timeouts, update CLAUDE.md
- main.jsx: always initialize MSAL with initialize() before rendering (MSAL v3 requirement)
- main.jsx: always wrap with MsalProvider regardless of SSO toggle
- AppContent.jsx: only show login gate when isSSOEnabled() is true
- LoginPage.jsx: switch loginPopup → loginRedirect for incognito compatibility
- authConfig.js: add navigateToLoginRequestUrl: false
- api.php: set_time_limit(120) to prevent Imagen 3 timeout
- video_api.php: set_time_limit(300) to prevent Veo polling timeout
- CLAUDE.md: fix IndexedDB schema, add AppContent/MSAL pattern, Vite proxy routes, missing packages

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-02-25 17:42:20 +05:30
Simeon.Schecter
836e6f9c06 Add custom presets, identity protection, video negative prompts, and UX improvements
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>
2026-02-16 20:58:23 -05:00
Manish Tanwar
3602cfd73b Update-video format api for reference images 2026-01-28 01:37:17 +05:30
Manish Tanwar
0017cc323d Update-thumbnail 2026-01-28 00:10:09 +05:30
Manish Tanwar
e1067b551e update 2026-01-27 18:36:53 +05:30
Manish Tanwar
361e476d2c update 2026-01-20 16:33:00 +05:30
Manish Tanwar
660c8d7fa1 Image Fix 2026-01-19 18:04:16 +05:30
Manish Tanwar
278ace76b4 Local and Server Deployment 2026-01-19 11:53:17 +05:30
Manish Tanwar
a5434f5679 Deployment files update 2026-01-16 17:40:58 +05:30
Manish Tanwar
165a10694a Restructuring of files and Local Tested 2026-01-13 14:52:37 +05:30
Simeon.Schecter
5b9a0568ea Fix Edit Mode bugs, add Creative Freedom levels, simplify Video Gen
- 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>
2026-01-11 13:04:12 -05:00
Simeon.Schecter
48fdad89aa Add user isolation, image upload, and edit-in-Image-Gen features
- 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>
2026-01-09 10:33:30 -05:00
Simeon.Schecter
8a032669db Add Storyboard feature with drag-to-reorder, annotations, and export
- 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>
2026-01-09 00:09:27 -05:00
Simeon.Schecter
24dbb5c517 Add video Re-run feature
- 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>
2026-01-08 23:31:40 -05:00
Simeon.Schecter
dcb74d3c5f Add Veo 3.1 Fast model option and I2V duration constraint
- 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>
2026-01-08 22:33:44 -05:00
Simeon.Schecter
e54fdd7620 Update README for Lux Studio rebrand
- 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>
2026-01-08 21:05:49 -05:00
Simeon.Schecter
c8326e6ddd Rebrand to Lux Studio + Video Gen + Project Management
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>
2026-01-08 21:02:28 -05:00
Simeon.Schecter
fee6182e6e Initial commit: Cinema Studio Pro base from NANO-PRO 2026-01-08 11:18:49 -05:00