Add Pro Mode web interface, SaveViewportSU, and FaceRenderLoraSU commands#2
Merged
bluemoonfoundry merged 5 commits intomainfrom Feb 21, 2026
Merged
Conversation
…mation Implement a complete professional web-based interface as an alternative to CLI mode, designed for users who prefer visual, form-based interactions over command-line tools. Features: - Modern, colorful dark theme with indigo/purple accents - Visual command browser with search functionality - Dynamic form generation from config.yaml - Type-aware input fields (text, number, checkbox, array) - Real-time command execution with output display - Theme toggle (dark/light mode) - Toast notifications for success/error feedback - Responsive layout for desktop and tablet Backend: - vangard/pro.py: FastAPI server extending existing server infrastructure - Serves static HTML/CSS/JS files - Exposes all commands via REST API - Auto-generates OpenAPI schema Frontend: - vangard/static/index.html: Modern SPA interface (5.6 KB) - vangard/static/css/styles.css: Professional styling (15.1 KB) - vangard/static/js/app.js: Vanilla JavaScript app logic (15.5 KB) - Zero framework dependencies for simplicity UI Features: - Glassmorphism effects and smooth animations - Command icons (emoji-based) with descriptions - Help tooltips on all parameters - Syntax-highlighted output panel - Loading overlays during execution Parameter Display Fix: - Fixed JavaScript to resolve OpenAPI $ref references - Commands now correctly display all parameters - Handle anyOf pattern for optional nullable fields UIClass Feature (Optional Enhancement): - Support for special UI widgets via uiclass field in config.yaml - pick-file: File browser widget with browse button - pick-folder: Folder browser widget with browse button - Extensible system for future widget types Package Updates: - setup.py: Add vangard-pro console script and static files - pyproject.toml: Add vangard-pro entry point - MANIFEST.in: Include static files in distribution - vangard/main.py: Add 'pro' mode option Documentation: - PRO_MODE.md: User guide with quick start and features - PRO_IMPLEMENTATION_SUMMARY.md: Technical overview and testing - PRO_VISUAL_REFERENCE.md: Visual mockups and design system - UICLASS_GUIDE.md: Guide for using special UI widgets - PARAMETER_FIX_SUMMARY.md: Details on parameter extraction fix Access Points: - Pro Interface: http://127.0.0.1:8000/ui - API Docs: http://127.0.0.1:8000/docs - Health Check: http://127.0.0.1:8000/ Launch: vangard-pro (or: vangard pro) Design Philosophy: - Professional and colorful (not just functional) - Zero breaking changes to existing modes - Coexists with CLI, Interactive, GUI, and Server modes - Leverages existing command infrastructure - Configuration-driven (uses config.yaml) Testing: - All endpoints verified (20 commands available) - Static assets loading correctly - Parameter extraction working - UI responsive and styled correctly Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add SaveViewportSU Python command class and DSA script - Register save-viewport command in config.yaml with args: save-file, view-camera, image-format, frame-start, frame-end - Regenerate config_reference.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace App.scriptArgs JSON parsing in DazCopilotUtils.dsa with getArguments()[0] for cleaner argument retrieval - Fix trailing space in getScriptFileName() call in CreateGroupNodeSU.dsa Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add FaceRenderLoraSU Python command class and DSA script - Register face-render-lora command in config.yaml with args: output-dir, file-prefix, wid, height, camera-distance, face-y-offset, node-label, test-mode - Regenerate config_reference.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
save-viewportcommand (SaveViewportSU) to capture active viewport frames to image files, with optional camera, format, and frame range controlface-render-loracommand (FaceRenderLoraSU) to render orbital camera angles around a figure's face for LoRA training dataset generationDazCopilotUtils.dsaargument parsing to usegetArguments()[0]instead ofApp.scriptArgsconfig.yamland regenerateconfig_reference.mdTest plan
pytest tests/commands/test_save_viewport_su.py— 7 tests passpytest tests/commands/test_face_render_lora_su.py— 8 tests passpytest tests/integration/— 8 config consistency tests passvangard-cli save-viewport -f C:/output/frameagainst a live DAZ Studio scenevangard-cli face-render-loraagainst a scene with a figure to verify orbital renders🤖 Generated with Claude Code