Custom URL Registration:
- Windows - writes to registers.
- Linux - desktop integration file.
- Macos - info.plist.in creates registration and is controlled only via app config.
Registration is first made in Config Wizard. Or is triggered from Preferences. Path to downloads folder can be set.
URL link starts new instance of PS which sends data to running instance via SingleInstance structures if exists.
New progress notification is introduced with pause and stop buttons.
Downloader writes downloaded data by chunks.
Support for zip files is introduced. Zip files can be opened, downloaded or drag'n'droped in PS. Archive dialog is opened. Then if more than 1 project is selected, only geometry is loaded.
Opening of 3mf project now supports openning project in new PS instance.
1) Implemented access to coEnum values, they are returned as strings.
2) Fixed some possible memory leaks.
3) Fixed some possible union type punning issues.
to reduce zig-zag movements of the print head on overhangs.
Always use thick bridges on internal bridges.
Co-authored-by: lane.wei <lane.wei@bambulab.com>
expansion, added filling in of narrow regions between solid infills
(for example created by propagating shell from the side and from
the top at the same time).
1) Flipped the order of "discover_vertical_shells" and "process_external_surfaces",
now the external surfaces are expanded after "discover_vertical_shells"
aka "ensure vertical wall thickness" is solved.
2) Reworked LayerRegion::process_external_surfaces() to only expand into
"ensure vertical wall thickness" regions, also the expansion is done
in small steps to avoid overflowing into neighbor regions.
also:
Utility functions reserve_more(), reserve_power_of_2(), reserve_more_power_of_2()
Various SurfaceCollecion::filter_xxx() modified to accept an initializer list of surface types.
New bridges detector refactored to accept overhang boundaries.
BoundingBoxWrapper was moved from RetractCrossingPerimeters to AABBTreeIndirect.
../src/slic3r/GUI/GLCanvas3D.cpp:3474:46: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slic3r::ModelObject*>::size_type’ {aka ‘unsigned int’} [-Wsign-compare]
../src/slic3r/GUI/GLCanvas3D.cpp:3477:58: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slic3r::ModelVolume*>::size_type’ {aka ‘unsigned int’} [-Wsign-compare]
../src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp:249:62: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slic3r::ModelObject*>::size_type’ {aka ‘unsigned int’} [-Wsign-compare]
../src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp:3603:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Slic3r::ModelObject*>::size_type’ {aka ‘unsigned int’} [-Wsign-compare]