* [FEATURE] Experimental small area flow compensation
This is a native implementation of the [Small Area Flow Compensation](https://github.com/Alexander-T-Moss/Small-Area-Flow-Comp)
post-processor by Alexander Þór for OrcaSlicer.
Quite often small areas of solid infill appear to be over-extruded, despite
the rest of a print looking like it has a well-dialled-in EM/Flow. Currently,
there isn't a good understanding of why this happens, so this is an attempt
at a brute-force approach to treat the symptom.
This feature modifies the flow of extrusion lines inversely proportional to
the length of the extrusion line (the shorter the extrusion, the less flow
it should have).
Alexander Þór: Author of the original script implementation
Weaslus: Proof Reader, Hypeman & pestered folks into making this
* [TASK] Whitespace cleanup
* [TASK] Add credits, format code, improve input labels
* [TASK] Use multi-line textbox as input for flow model
* [TASK] Toggle flow compensation per object
* [TASK] Enable flow compensation for first layer
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* ENH: Enabled gap fill algorithm for all solid fill types
* Made gap fill an option & refactored code into its own method
* Code comment updates
* Converted gap fill to enum and control filter out gap fill in the UI
* Update label for consistency
* Spelling mistake
Fix a handful of precedence errors and 1 logic/precedence error. None of the code will compile as intended without these changes.
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Fix garbled text when display scalling > 300%
On Windows, if your display scaling is greater than 300%,
the text rendered by imgui will be garbled. Allowing imgui
to do the scaling instead of making the font to large
corrects the issue.
* Only use modified scaling on Windows
And only if the system's scaling factor is greater than 300%.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Support custom IP camera
Allow adding custom IP camera source while keeping possible
built-in bambulab camera also functional and add button to
switch between them.
This uses WebView widget to show the stream. Upon loading the
page, javascript is used to remove native controls and scroll-
bars for aesthetic reasons.
* Add partial support for PiP video
HTMLVideoElement supports picture-in-picture video
but the dedicated control is hidden in this implementation
to have more integrated look in OrcaSlicer. Add right-click
listener to the camera switch icon that opens the video element
in a PiP window.
Only works when the video is in <video> HTML element, so for
example MJPEG streams in <img> element won't work.
* ENH: Improve internal bridge detection for sloped surfaces
* Moved lightning detection out of the parallel threads
* Naming conventions
* Revised approach - use reduced expansion multipliers
* Further reduce filtering, flagged option as experimental
* Corrected code comment
* Updated tool tip
* Introduced filtering drop down option
Helps with previous commit
DataView currently doesn't resize vertically
Also, at the moment, the resize grabber is not respecting dark mode and this solves that too.
Now leaves text stored in ParamsNode un-formatted and uses flags to determine the formatting. The GetFormattedText function now returns the markup text.
Percent config values are managed as float types, but decimal precision
is not displayed in the GUI. This change uses the `double_to_string()`
converstion rather than casting to an int when retrieving the config
option value.
* Attempt to fix retraction issues with PA pattern calibration
* PA pattern test fix - retract and wipe on layer change
* Naming convention
* fix crash
* Bring back the shortcut to zoom in & out
* Update keyboard shortcut info
* Update keyboard shortcut info
* Different handling of shortcut 'T' for emboss text
Cherry-picked from prusa3d/PrusaSlicer@58e3143ad8
Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@prusa3d.cz>
---------
Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@prusa3d.cz>
(cherry picked from commit 002208fc8c)
* add feature to add configurable value to clean/remove short un-closed walls/perimeters, to improve print times and reduce stringing (and generally lead to a cleaner print).
* fixes to short wall removal, which no longer affects bottom or top surfaces. allowed adjusting Top-surface threshold (renamed from One wall threshold for clarity) when short wall removal value is configured above default of 0.5.
* small fix for toggle_line for min_width_top_surface, to only be visible if min_length_factor > 0.5 and arachne is enabled.
* Use copy of input_params
* revert `One wall threshold"` string change
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>