Skip to content

feat: GUI overhaul, solver refactor, Windows build, README update - #10

Merged
test1card merged 1 commit into
mainfrom
claude/fix-venting-gui-HRLak
Feb 28, 2026
Merged

test1card merged 1 commit into
mainfrom
claude/fix-venting-gui-HRLak

Conversation

@test1card

Copy link
Copy Markdown
Owner
  1. GUI (src/venting/gui/app.py):

    • Fix critical _read_cfg bug: use dataclasses.fields() for type
      inference instead of hardcoded exclusion set — fixes ValueError
      on topology="two_chain_shared_vest"
    • Group 40+ flat fields into 6 QGroupBox sections (topology,
      internal orifices, exit orifice, external/profile, thermodynamics,
      calculation params)
    • Add profile_file Browse button + drag-and-drop CSV support
    • Dynamic field visibility: tube params hide for orifice model,
      pump fields show/hide with external_model, etc.
    • QProgressBar in toolbar with live progress % during solve
    • Multi-node plots with NODE_COLORS (up to 8 nodes per graph)
    • Legends on all plots; P_ext shown as dashed line
    • Color-coded validity table (ok=green, warning=yellow, fail=red)
    • Run history (last 10 runs) with double-click restore
    • Tooltips with units/ranges on all numeric fields
  2. Solver refactor (src/venting/solver.py):

    • Extract ~120 lines of duplicated setup into _prepare_solve()
    • solve_case and solve_case_stream now delegate common setup
      (dynamic_pump rewiring, y0 build, rhs+pump closure, max_step)
      to _prepare_solve; no behavior change, all tests pass
  3. Windows build:

    • Add venting.spec (PyInstaller, single-file exe, no console window)
    • Add build_windows.py (auto-detects UPX, cleans dist/build)
    • Add .github/workflows/build_windows.yml (builds on tag push,
      uploads artifact, creates GitHub Release)
    • Add pyinstaller>=6.0 to dev deps; update gui dep to PySide6>=6.5
  4. README.md:

    • Fix false Fanno claim: document full Fanno-flow implementation
    • Add thermo="variable" with NASA-7 polynomial reference
    • Add all missing modules: thermo, montecarlo, validity, compare,
      presets, cases, gui/ subpackage
    • Add mc and compare CLI commands with examples
    • Fix sparsity claim: Radau uses automatic numerical Jacobian
    • Add GUI capabilities: fanno model, two_chain topology, progress
      bar, multi-node plots, validity colors, history, drag-and-drop
    • Remove TODO packaging placeholder; add Windows exe build docs
    • Add "Известные ограничения" section with honest limitations

https://claude.ai/code/session_01TPJHy2FrVy73zbMxCLSW97

1. GUI (src/venting/gui/app.py):
   - Fix critical _read_cfg bug: use dataclasses.fields() for type
     inference instead of hardcoded exclusion set — fixes ValueError
     on topology="two_chain_shared_vest"
   - Group 40+ flat fields into 6 QGroupBox sections (topology,
     internal orifices, exit orifice, external/profile, thermodynamics,
     calculation params)
   - Add profile_file Browse button + drag-and-drop CSV support
   - Dynamic field visibility: tube params hide for orifice model,
     pump fields show/hide with external_model, etc.
   - QProgressBar in toolbar with live progress % during solve
   - Multi-node plots with NODE_COLORS (up to 8 nodes per graph)
   - Legends on all plots; P_ext shown as dashed line
   - Color-coded validity table (ok=green, warning=yellow, fail=red)
   - Run history (last 10 runs) with double-click restore
   - Tooltips with units/ranges on all numeric fields

2. Solver refactor (src/venting/solver.py):
   - Extract ~120 lines of duplicated setup into _prepare_solve()
   - solve_case and solve_case_stream now delegate common setup
     (dynamic_pump rewiring, y0 build, rhs+pump closure, max_step)
     to _prepare_solve; no behavior change, all tests pass

3. Windows build:
   - Add venting.spec (PyInstaller, single-file exe, no console window)
   - Add build_windows.py (auto-detects UPX, cleans dist/build)
   - Add .github/workflows/build_windows.yml (builds on tag push,
     uploads artifact, creates GitHub Release)
   - Add pyinstaller>=6.0 to dev deps; update gui dep to PySide6>=6.5

4. README.md:
   - Fix false Fanno claim: document full Fanno-flow implementation
   - Add thermo="variable" with NASA-7 polynomial reference
   - Add all missing modules: thermo, montecarlo, validity, compare,
     presets, cases, gui/ subpackage
   - Add mc and compare CLI commands with examples
   - Fix sparsity claim: Radau uses automatic numerical Jacobian
   - Add GUI capabilities: fanno model, two_chain topology, progress
     bar, multi-node plots, validity colors, history, drag-and-drop
   - Remove TODO packaging placeholder; add Windows exe build docs
   - Add "Известные ограничения" section with honest limitations

https://claude.ai/code/session_01TPJHy2FrVy73zbMxCLSW97
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@test1card
test1card merged commit 7fb5547 into main Feb 28, 2026
6 checks passed
@test1card
test1card deleted the claude/fix-venting-gui-HRLak branch February 28, 2026 21:03
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