Skip to content

Vue desktop GUI and PyInstaller freeze path - #71

Merged
jmjava merged 2 commits into
mainfrom
cursor/benchmark-wizard-gui-75a9
Aug 15, 2026
Merged

Vue desktop GUI and PyInstaller freeze path#71
jmjava merged 2 commits into
mainfrom
cursor/benchmark-wizard-gui-75a9

Conversation

@jmjava

@jmjava jmjava commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Head toward a packable desktop GUI without freezing the full Manim/ffmpeg/OpenAI CLI.

What this adds

  • docgen gui / docgen-gui / python -m docgen.gui — Vue + Flask shell over the existing wizard. Prefers pywebview (docgen[gui]); --browser falls back to the system browser.
  • docgen gui --smoke — headless HTTP check of / and /api/benchmark (default pytest).
  • docgen freeze — PyInstaller onedir for docgen-gui only (pip install 'docgen[packaging]'). --smoke runs the binary headless. Full freeze is not in routine CI; set DOCGEN_FREEZE_SMOKE=1 for the optional test.
  • Vue Benchmark view (?view=benchmark) — same corpus as docgen benchmark.
  • Open bundle… — attach a consumer docgen.yaml at runtime (path field; Browse uses a folder dialog in pywebview).
  • Frozen shell disables TTS / Manim / compose / OpenAI / tool-upgrade routes and shows a pip-CLI note. Baseline updates stay disabled when frozen.
  • Freeze-safe paths via docgen.resources (sys._MEIPASS).

What this is not

  • Not a frozen copy of the full docgen pipeline.
  • No PyInstaller run in default pytest.

How to try it

pip install -e '.[gui]'
docgen gui --smoke
docgen gui --browser

pip install -e '.[packaging]'
docgen freeze --smoke
Open in Web Open in Cursor 

cursoragent and others added 2 commits August 15, 2026 17:13
Introduce docgen gui / docgen-gui as a Vue + Flask shell over the wizard,
with a Benchmark view that runs the standard scene-timing corpus. Asset
paths go through docgen.resources so templates, vendor Vue, and
benchmark_data resolve in an editable install and under sys._MEIPASS.
The freeze target is packaging/docgen-gui.spec (not the full Manim CLI).

Co-authored-by: jmjava <jmjava@gmail.com>
Wrap the Benchmark view in a Jinja raw block so Vue mustaches are not
compiled as templates. Make meipass_dir tolerate a missing _MEIPASS so
is_frozen patches in tests cannot crash create_app.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review August 15, 2026 18:55
@cursor

cursor Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@jmjava
jmjava merged commit e0fe581 into main Aug 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants