Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preprocessor simulator and preview #194

Merged
merged 7 commits into from
Jan 17, 2023
Merged

Preprocessor simulator and preview #194

merged 7 commits into from
Jan 17, 2023

Conversation

smartin015
Copy link
Owner

@smartin015 smartin015 commented Jan 16, 2023

#190

This PR introduces a preview of changes to CPQ event changes in the settings dialog.

  • Separate ASTEval code from script_runner so it can be run out of band
  • Extend API to include an endpoint for running simulations
  • Refactor event objects in settings into a new JS viewmodel
  • Visually confirm simulation output is re-run exactly once, when
    • A script's preprocessor changes
    • Scripts are reordered
    • A script is added
    • A new script / preprocessor is created
    • The body of a script changes
    • The body of a preprocessor changes
  • Create simple UI elements showing the script outputs (expandable)
  • Extend UI to also show modified symtable values
  • Extend UI to allow modifying initial state
  • UX: pluralize simulation result counts and leave off notifications if 0
  • Move ASTEval methods from storage/queries.py to their own independent file, with tests
  • Visually confirm settings can still be saved and loaded
  • Fix existing tests that are broken
  • Hide simulator output if the event has no scripts attached
  • Add unit tests ensuring above calls happen

…m api endpoint, split out settings JS into a separate _event.js file
@smartin015 smartin015 marked this pull request as draft January 16, 2023 22:46
@smartin015 smartin015 marked this pull request as ready for review January 17, 2023 14:44
@smartin015 smartin015 merged commit 1ae0147 into rc Jan 17, 2023
@smartin015 smartin015 deleted the preprocessor_preview branch January 17, 2023 16:00
smartin015 added a commit that referenced this pull request Mar 8, 2023
* Suppress core OctoPrint GCODE scripts when running CPQ scripts of our own

* Also protect the patchComms() function from exceptions e.g. due to OctoPrint refactors

* Also return original script values in passthru

* Configurable GCODE override in print files

* Properly order sets by rank

* Preprocessor simulator and preview (#194)

* Partial commit - extended CustomEvents to include sim stuff, added sim api endpoint, split out settings JS into a separate _event.js file

* Fixed simulation execution events, added styling, plus modifiable symtable and display of mutations

* Pluralize simulation summary, separate asteval code into automation.py from storage/queries.py, set up tests

* Fix tests

* Add tests for CPSettingsEvent

* Make simulator UI more friendly/helpful and well formatted

* Remove todo lines

* Tighten spoolmanager integration (#195)

* Tighten spoolmanager integration, including validation checks and print-start adjustments

* Add tests, improve set_status behavior, add spoolmanager.py files

* Fix tests, eliminate stack overflow

* Increase idle timeout seconds

* Add preprocessor basics to docs (#196)

* Add S3D processor (#197)

* Compute stats for whole queues (#198)

* Extract stats calculations from continuousprint_jobs.js, make also usable on whole queues

* Add HTML for viewing queue rollups, make selectively visible

* Fix tests, fix batch selection, auto-hide mass estimates when zero

* Auto-slice STLs in queue (#166)

* First attempt at integrating OctoPrint configured slicers into queue automation; also anticipate FILE_ADDED changes upstream

* Added auto-slicing docs and fixed small bug in octoprint version detection

* Add working auto-slicer implementation; unit tests TBD

* Fix tests

* Add driver test

* Add tests for slicer profiles in JS, remove extra debug logging

* Remove unused driver state, improve verbosity of slicing errors, and fixed slicer output path in tmp folder

* Get working enough to verify STL and gcode handled correctly, plus update docs

* Fix tests, remove octoprint version req thing and reduce DB noise in testing

* Cleanup

* 2.4.0rc1

* Creality Ender 3 S1 Pro added (#207)

* Ender 3 S1 Pro bed cleaning (#208)

* Update gcode_scripts.yaml

* Update gcode_scripts.yaml

* Add safety temp directory creation, fixed YAML data files

* Appease linter

* Fix tests and broken links

---------

Co-authored-by: UdDReX <44963788+UdDReX@users.noreply.github.com>
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.

1 participant