jack
e2ce8778e0
feat(files): sync Source panel browser with chosen save directory
2026-07-10 14:37:29 -07:00
jack
4ee139ad8f
fix: The QML cross-component id resolution for root.waferDetected was failing
...
silently. Exposing a proper waferDetected property on the Python
DeviceController ensures reliable gating, and resetting it on refresh
blocks the actions until the next successful detection.
2026-07-09 13:07:31 -07:00
jack
ac4448ed44
refactor(backend): clean up package re-exports, settings model properties, and unused signals
2026-07-09 12:49:33 -07:00
jack
637b51b999
fix(qml): resolve runtime reference errors, missing imports, and port change notifications
2026-07-09 12:47:56 -07:00
jack
b6903af625
feat: redesign StatusTab UI with bento-grid layout and add CSV metadata editing capabilities
2026-07-07 16:41:40 -07:00
jack
92f130b3bd
feat: implement master file configuration, UI indicators, and a Run Comparison tool for the Data tab
2026-07-07 15:05:22 -07:00
jack
1e03227788
style: increase ReadoutPanel font sizes and add CSV test fixture for data logging
2026-07-07 12:10:47 -07:00
jack
7df7fd4c6f
feat: implement C#-compatible AES-128-CBC license file parsing and integrate license management UI into AboutDialog
2026-07-07 11:15:06 -07:00
jack
e2d05d2c33
refactor: relocate live stream controls to ReadoutPanel and update chart axis rendering
2026-07-07 10:38:42 -07:00
jack
799155f249
refactor: optimize RBF heatmap performance by decoupling grid resolution from viewport size and update UI file handling.
2026-07-06 21:02:22 -07:00
jack
015642eea0
chore: apply linting fixes and expand ruff coverage to test suite
2026-07-06 15:52:53 -07:00
jack
d63332d619
feat: add load error signaling and comparison validation
2026-07-06 15:43:13 -07:00
jack
0014ccc184
fix: gate DTW comparisons on wafer type + recording category; surface load errors
2026-07-06 15:41:29 -07:00
jack
1989ba8e5a
feat: add vector icons for transport controls, implement marker hover effects, and update dialog positioning
2026-07-06 13:51:45 -07:00
jack
e2d71662ff
refactor: data_parser binary parsers use shared sensor_count_for()
2026-07-06 13:24:46 -07:00
jack
185e66ea3a
feat: introduce family_spec logic for wafer sensor-count partitioning
2026-07-06 13:19:47 -07:00
jack
3b919f576f
fix: comparison results never reached QML; restore click-box run selection
2026-07-06 13:12:58 -07:00
jack
f604308466
feat: rebuild Data tab compare view
2026-07-06 13:01:24 -07:00
jack
6996df73f8
feat: add recording toggle, stream stats UI
2026-07-06 12:44:43 -07:00
jack
3cc10ea7fe
feat: add file comparison, data splitting, and sensor modification functionality to SessionController
2026-07-06 11:58:26 -07:00
jack
ecab3d81b1
fix: resolve CSV data truncation in save_to_csv by correctly identifying column widths and remove redundant logic in ZWaferParser
2026-07-04 16:46:44 -07:00
jack
9e28a25695
refactor: implement thread-safe hardware operations, port caching, and refined state management in the device controller
2026-07-02 22:33:44 -07:00
jack
27292c3bdb
chore: cleanup
...
WaferMapTab stale comments + minor component fixes
2026-06-30 13:24:00 -07:00
jack
5105ab1ab6
feat(tabs): update all tab views, dialogs, and session controller
2026-06-29 14:58:10 -07:00
jack
f4621f1faf
feat(viz): implement RBF heatmap and custom QPainter trend chart item
...
Introduce Radial Basis Function interpolation for fine wafer thermal gradients and GraphQuickItem for high-performance trend line rendering.
2026-06-25 13:47:48 -07:00
jack
2cbc143c20
feat(backend): introduce session controller and status models
...
Implement DeviceController and SessionController to bridge QML requests with backend state, supporting playback replay tracking, cluster averaging, and slot error boundaries.
2026-06-25 13:47:21 -07:00
jack
62ce5a9c37
feat: implement DTW comparison, add data segmentation and persistence, and update QML UI for file imports and graphing.
2026-06-23 21:38:45 -07:00
jack
20a34e22ee
feat: wire ReplayStatsTracker into SessionController + complete GraphView.updateTrend
2026-06-20 18:28:55 -07:00
jack
7206334a27
feat: implement slot_error_boundary decorator and add unit tests for session and device controllers
2026-06-18 21:01:37 -07:00
jack
5514653b94
refactor: prune orphaned attic modules and standardize project configurations
...
- Move orphaned modules (data_segment.py, contour_models.py, marching_squares.py) to attic/.
- Standardize local settings logic, serial port parameters, and graph view plots.
- Update pyproject.toml pyside6-project dependencies and configure gitignore.
2026-06-18 17:09:24 -07:00
jack
93868bcde4
feat(ui): implement save directory browse button and pre-detection check
...
- Add a 'Browse...' button to the Connection Status panel in StatusTab.qml.
- Check if save directory is set before wafer detection in HomePage.qml, prompting the user if empty.
- Resolve QML Connections warning by renaming onLogMessageEmitted to onLogMessage.
- Remove temporary debug stack traces from device_controller.py.
2026-06-18 17:08:58 -07:00
jack
66942d250d
refactor: standardize codebase formatting, optimize import orders, and update GUI resolution to 1080p
2026-06-18 13:13:47 -07:00
jack
1119733929
feat: add interactive folder selection for CSV saves and stabilize cross-platform dependency locking
2026-06-18 10:30:51 -07:00
jack
e545c245d7
feat: implement cluster averaging pipeline, UI controls
2026-06-15 15:02:55 -07:00
jack
7d32fb4b65
refactor: normalize data directory naming, and consolidate serial connection handling
2026-06-15 12:39:16 -07:00
jack
b34b920759
refactor: standardize timing with monotonic clocks, remove redundant stream parsing
2026-06-15 11:37:51 -07:00
jack
2e4763510d
feat(ui): improve device session management, update data directory paths, and add session clearing functionality.
2026-06-15 11:28:28 -07:00
jack
7e584e08e8
feat(visual): implement square wafer (X) template, inward label alignment, and density scaling
2026-06-15 11:20:55 -07:00
jack
cea4fb782e
feat(wafer): introduce layout metadata modeling and shape resolution helpers
...
- Define WaferLayout subclass to wrap sensor lists with shape and size attributes.
- Add resolve_shape_and_size resolver to infer wafer shape/size from filename prefix or sensor count.
- Update Sensor dataclass to support dynamic side alignments and coordinates offsets.
- Expose waferShape and waferSize properties from SessionController for QML data-bindings.
2026-06-15 11:19:32 -07:00
jack
12bd778f13
refactor: modernize WaferMapTab layout and redesign ReadoutPanel statistics display
2026-06-11 12:57:52 -07:00
jack
72334795da
refactor: reorganize backend modules into sub-packages for models, data, visualization, wafer, and controllers
2026-06-11 12:15:00 -07:00
jack
b9f8032203
Refactor code structure for improved readability and maintainability
2026-06-11 11:57:46 -07:00
jack
b52b983bb2
Add wafer layouts and RBF heatmap functionality
...
- Introduced new YAML layout files for wafers B, C, D, F, X, Z, and their reversed versions.
- Implemented RBF heatmap interpolation using CuPy and NumPy for GPU acceleration.
- Created a backend module to load wafer layouts from YAML files, mirroring the existing schema.
- Developed a QQuickPaintedItem for rendering wafer maps, including sensor markers, heatmaps, and labels.
- Enhanced the drawing capabilities with concentric rings, crosshair axes, and orientation markers.
2026-06-11 11:56:55 -07:00
jack
ca1a514f23
feat: Wafer Map integration
...
## Backend — Session & playback
- Add SessionController (QML-facing live/review controller) with
loadedFile property for active-file highlight binding
- Add SessionModel, FramePlayer, and CsvRecorder for state machine,
frame seek/step/speed, and CSV recording
- Add SensorEditor for per-sensor value overrides (replace + offset)
2026-06-11 11:55:34 -07:00
jack
9cd3170e8a
Replay Tabs:
...
- Add stability detection and threshold classification features with corresponding tests
2026-06-04 13:25:11 -07:00
jack
9779baa468
Restructure into src/ layout under pygui package
...
Move all application source under src/pygui/ and rewire imports,
build config, and QML module path to match.
- Relocate backend/, serialcomm/, and the ISC QML module into
src/pygui/; convert main.py into pygui/__main__.py with a main()
entry point (run via `python -m pygui` or the new `isc` script)
- Rewrite absolute imports: backend.* -> pygui.backend.*,
serialcomm.* -> pygui.serialcomm.* (source + tests)
- Move app icons (isc.ico/icns) into packaging/
- Update README and ISC.qmlproject to the new paths
2026-06-03 11:41:45 -07:00