Commit graph

6 commits

Author SHA1 Message Date
Manish Tanwar
e0cc56fc6e Merge main into feature/deployment: new features + conflict resolution
New features from main:
- Custom presets (create, edit, export/import)
- Identity protection (auto-translate real names to style descriptions)
- Video negative prompts (AI-suggested exclusions)
- Generate video from library image (one-click first frame)
- Expanded preview (maximize on images/videos)
- Move items between projects
- Preset badge in library
- 4K resolution option for Veo 3.1 (8s duration)
- LastFrame interpolation requires 8s (enforced in UI + API)

Conflict resolutions:
- main.jsx: kept feature/deployment AuthProvider+MsalProvider structure
- LoginPage.jsx: kept feature/deployment useAuth() context approach
- useProjects.js: kept feature/deployment AuthContext userId
- CinePromptStudio.jsx: kept both getApiUrl + useCustomPresets imports
- ProjectsTab.jsx: took main's expanded icon set
- VideoGenTab.jsx: took main's duration/resolution logic improvements
- video_api.php: took main's 8s constraint + better error logging

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-02-25 17:49:15 +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
beaa401c3b 1. Minimum deployment codemarkdown for minimum changes 2026-02-05 00:24:03 +05:30
Manish Tanwar
165a10694a Restructuring of files and Local Tested 2026-01-13 14:52:37 +05:30
Renamed from api.php (Browse further)