deargui-vpl/docs
2026-02-03 18:25:25 +01:00
..
llm parameters 2026-02-03 18:25:25 +01:00
CHANGELOG.txt init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
cli.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
cmake-options.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
cmake-protobuf.md parameters 2026-02-03 18:25:25 +01:00
console-variants.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
groups-container-api.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
groups-container-architecture.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
groups.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
overview.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
plugins-js.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
README.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
screen.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
TODO.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00
waypoints.md init - we sucht der findet :) 2026-02-03 17:34:26 +01:00

Documentation Index

Quick Start

Console Variants

CLI/Headless Mode

Feature Guides

Technical Documentation

Test Reports

Current State (Nov 2025)

Console Variants

  • GUI Variant: Standard Windows application with console attachment
  • Console Variant: Always-visible console for debugging
  • Visual Studio: Console variant is default startup project
  • Build Scripts: Support for both variants

CLI Mode 🚧

  • Status: Architecture documented, implementation ready
  • Options: 5 architectural approaches analyzed
  • Recommendation: Start with Option 1 (Headless Flag) for quick wins
  • Next Step: Implement headless mode following cli-implementation-example.md

Architecture Summary

Current Architecture:
  blueprints-example.exe           (GUI with console attach)
  blueprints-example-console.exe   (GUI + always-visible console)

Proposed CLI Architecture:
  --headless flag → RunCLI()       (No UI, true CLI mode)
  (default)       → App.Run()      (Full UI as before)

Quick Reference

Build Commands

# GUI variant
./scripts/build.sh Debug

# Console variant
./scripts/build.sh Debug console

# Both
cmake --build build --config Debug

Run Commands

# GUI
./build/bin/blueprints-example_d.exe --file graph.json

# Console  
./build/bin/blueprints-example-console_d.exe --file graph.json

# CLI (once implemented)
./build/bin/blueprints-example-console_d.exe --headless --file graph.json --command validate

Visual Studio

# Open solution (console variant is default startup)
start build\imgui-node-editor.sln

# Press F5 to debug console variant

CMake Options

# Default: Both variants, console as startup
cmake -S examples -B build

# GUI only
cmake -S examples -B build -DBUILD_CONSOLE_VARIANTS=OFF

# Both, GUI as startup
cmake -S examples -B build -DUSE_CONSOLE_AS_STARTUP=OFF

Getting Started with CLI Mode

  1. Read CLI Architecture to understand options
  2. Follow CLI Implementation Example for step-by-step guide
  3. Start with Option 1 (Headless Flag) - minimal changes, maximum benefit
  4. Test with: --headless --file graph.json --command validate
  5. Refactor to Option 3 or 4 later if needed

Key Decisions Made

Decision Choice Rationale
Console Variants Build both by default Better development experience
VS Startup Project Console variant Immediate console output for debugging
Entry Point Shared entry_point.cpp Reuse CLI parsing, single codebase
CLI Mode Headless flag (recommended) Quick to implement, validates use cases

Contributing

When adding new features:

  • GUI features → Add to app.cpp / app-*.cpp
  • CLI commands → Add to blueprints-cli.cpp (once created)
  • Core logic → Extract to separate files for reuse
  • Document in appropriate guide above