feat: GUI overhaul, solver refactor, Windows build, README update - #10
Merged
Merged
Conversation
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
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
GUI (src/venting/gui/app.py):
inference instead of hardcoded exclusion set — fixes ValueError
on topology="two_chain_shared_vest"
internal orifices, exit orifice, external/profile, thermodynamics,
calculation params)
pump fields show/hide with external_model, etc.
Solver refactor (src/venting/solver.py):
(dynamic_pump rewiring, y0 build, rhs+pump closure, max_step)
to _prepare_solve; no behavior change, all tests pass
Windows build:
uploads artifact, creates GitHub Release)
README.md:
presets, cases, gui/ subpackage
bar, multi-node plots, validity colors, history, drag-and-drop
https://claude.ai/code/session_01TPJHy2FrVy73zbMxCLSW97