Commit Graph
100 Commits
Author SHA1 Message Date
Noisyfox 9b60b9cd5d Fix wrong variant index is used on motion ability setting tab (#14253)
Fix wrong variant index is used on motion ability setting tab (OrcaSlicer/OrcaSlicer#13308)
2026-06-17 23:54:27 +08:00
NoisyfoxandSoftFever dcee299909 Allow use offline when logged in to Orca Cloud (#14235)
* Store user session information along with refresh token, to allow offline use once user is logged in

* Don't bother with avatar because we won't see it when offline anyway

* Fix offline Sync Presets freezing the UI on repeat clicks

Ignore restart_sync_user_preset() while a manual sync's progress dialog is on screen, so a second app-modal dialog can't stack on the first. Offline the dialog blocks on a long, uncancellable HTTP timeout; on macOS the global menu stays live while the window is disabled, so a second click otherwise wedges the app (force-quit only).

* Skip redundant user-secret re-write on startup

set_user_session() always re-encrypts and writes the secret to disk; on the startup restore path that just rewrites the bytes it was loaded from. Add a persist flag so the restore path skips it. Also drop an unused catch binding and a stray blank line.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-06-17 17:15:09 +08:00
Noisyfox 06eefe7c1e Make sure mouse position is updated before hit test (#14139) 2026-06-11 02:47:33 +08:00
Noisyfoxandyw4z 58a8722a69 Don't show unsupported presets in drop down list (#13959)
* Don't show unsupported presets in drop down list, since it's not useful

* Add option to show unsupported presets

* Explicitly set the default value to `false`

* update filament list without restart on preference change

---------

Co-authored-by: yw4z <ywsyildiz@gmail.com>
2026-06-04 09:02:09 +08:00
Noisyfox 3cce9b09ed Cut: Make sure x offset is considered when checking multi dovetail (#13945)
Make sure x offset is considered when checking multi dovetail (OrcaSlicer/OrcaSlicer#13940)
2026-05-31 22:34:32 +08:00
Noisyfox ba4d2eeae4 Fix crash when you have custom profile set to multi-extruder but the base printer is semm (#13896) 2026-05-28 18:11:36 +08:00
Noisyfox e0c4d11bae Fix display of non-ascii orca cloud user name (#13856) 2026-05-26 09:30:39 -03:00
Noisyfox f899d5a35d Fix issue that filament group popup is dismissed too quickly on macOS (#13837) 2026-05-26 00:09:21 +08:00
NoisyfoxandAbdel Gomez-Perez f3cb1992d6 fix(threads): bump worker thread stack to 16MB to survive CGAL emboss (#13772)
The Emboss text-cut workflow can crash with SIGBUS at a stack-guard page
on macOS (and equivalent on Linux) when CGAL's
Polygon_mesh_processing::corefine falls back from filtered interval
arithmetic (Epick) to exact rational arithmetic (Epeck / mpq_class).

On near-degenerate inputs -- coplanar triangles in the projection
footprint, very thin font stems, sharp edges or seams under the text --
CGAL's Filtered_predicate_with_state cascade ends up inside
Triangulation_2<Projection_traits_3<Epeck>>::march_locate_2D, whose
recursive walk plus mpq_class arithmetic frames overflows the worker's
4MB default stack. The fault address sits exactly inside the next
thread's guard page, which is the textbook macOS signature.

Crash trace (BambuStudio v02.07.00.55, macOS 26.4.1 arm64, embossing
text into a model):

  __gmpn_mul_1
  __gmpz_mul / __gmpq_mul
  CGAL::determinant<mpq_class>
  Projected_orientation_with_normal_3
  Filtered_predicate_with_state::operator()
  Triangulation_2<...>::orientation
  Triangulation_2<...>::march_locate_2D
  Surface_intersection_visitor::triangulate_intersected_faces
  Polygon_mesh_processing::corefine
  Slic3r::cut_surface
  Emboss::cut_surface_to_its
  Emboss::GenerateTextJob::get_text_mesh
  PlaterWorker::PlaterJob::process

The thread's stack region in the report was exactly 4128K -- the
default 4MB plus a small TLS overhead -- and the faulting address hit
the adjacent guard page. We have one observed reproducer; the 16 MB
value is chosen as 4x defensive headroom over that, not as a measured
upper bound. Future heavier emboss inputs may need more.

Cumulative cost on a 64-bit target. Slic3r::create_thread has 22
callsites across the codebase. Realistic peak concurrent live count is
on the order of 10-15 workers (Plater UI worker, slicing process, FDM-
support gizmo, STEP loader, network sync helpers, per-task sender
threads in TaskManager up to MaxSendingAtSameTime, per-machine info
threads in device-list dialogs, long-lived sync helpers in GUI_App).
At 16 MB reserve x ~15 = ~240 MB of address-space commitment in the
worst case, which is bounded on any 64-bit target.

Resident memory remains proportional to actual stack depth on all three
platforms: macOS / Linux mmap the thread stack and defer-commit pages on
touch, and Boost.Thread on Win32 passes STACK_SIZE_PARAM_IS_A_RESERVATION
to _beginthreadex (verified at libs/thread/src/win32/thread.cpp), so on
Windows the bumped value is the reserve, not the initial commit.

The 32-bit branch of the previous (sizeof(void*) == 4) ternary is
removed: BambuStudio doesn't ship a 32-bit build today, and the literal
makes the value easier to read at the callsite.

(cherry picked from commit e150b502b3d2afc98b83dcc9e5720e998f9eb79a)

Co-authored-by: Abdel Gomez-Perez <nabdel07@icloud.com>
2026-05-21 16:24:54 +08:00
Noisyfox c965b2a5b3 Fix macOS object-list filament editor crash/glitch (#13700)
# Description

Fixes a macOS object-list filament editor crash/glitch where the
filament column could enter Cocoa native text editing and expose
`wxCustomRendererObject: 0x...` or crash while committing an invalid
`DataViewBitmapText` value.

The visible `wxCustomRendererObject` glitch was observed on macOS
through Cocoa `wxDataViewCtrl` editing. The underlying unsafe
assignment/variant/editor assumptions are not inherently macOS-only, so
the defensive data-path fixes are cross-platform.

Changes:
- Adds an explicit `DataViewBitmapText` assignment operator that avoids
copying the `wxObject` base, matching the existing copy constructor.
- Rejects unexpected variant types before reading object-list
name/filament values as `DataViewBitmapText`.
- Hardens filament editor value extraction against unexpected editor
controls.
- On macOS, routes filament-column editing through the custom
bitmap-choice renderer instead of `wxDataViewCtrl::EditItem()`, avoiding
native text editing of `wxCustomRendererObject`.



Fixes https://github.com/OrcaSlicer/OrcaSlicer/issues/13682

Previous PR with conversation:
[#13684](https://github.com/OrcaSlicer/OrcaSlicer/pull/13684)

This should fix the crash observed by @Noisyfox as we're addressing the
underlying problem of presenting the `wxCustomRendererObject`.

## Tests

Validated on macOS arm64. Repeated double-click/edit attempts on an
unselected object's filament cell no longer show
`wxCustomRendererObject` and no crash reproduced.

<!--
> A guide for users on how to download the artifacts from this PR.
-->

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
2026-05-17 19:48:12 +08:00
Noisyfox 1c0d0b89cc Keep painting after cut (#13472)
[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)


This can be enabled in Preference->Developer->Keep painted feature after
mesh change.

<img width="731" height="633" alt="init"
src="https://github.com/user-attachments/assets/8b195486-538e-4eda-9e77-bfdf1a794306"
/>


TODO:
- [ ] Bug fixes
- [ ] Make it faster
- Keep painting after other mesh operations such as reload from
disk/simplify/boolean operation etc:
  - [x] Planar cut
  - [x] Dovetail cut
  - [x] Cut with part assigned to other side
  - [x] Split to parts
  - [x] Split to objects
  - [x] Mesh boolean gizmo
  - [x] Mesh boolean in right click
- [x] Reload from disk/replace stl (won't work well if mesh changed too
much)
  - [x] Fix model
- [x] Simplify/smooth (this two won't work well due to too much mesh
changes)
- [x] Add options in settings since I think this will be experimental
for a long time until being tested by a lot of ppl
2026-05-17 14:38:37 +08:00
Noisyfox 1c21402981 Fix issue that printer name disappear if profile is modified (#13653)
Fix issue that printer name disappear if profile (other than the first one among its variants) is modified
for printers that have multiple variants with different nozzle size
2026-05-14 00:17:24 +08:00
Noisyfox 1e11e80bd1 Fix a regression that second extruder settings not properly handled for H2D/X2D (#13648)
Fix a regression that second extruder settings not properly handled for H2D/X2D (OrcaSlicer/OrcaSlicer#13559)

The problem here is how it deals with comparasion between signed & unsigned unmbers. It will convert both into unsigned then do the comparasion,
which means when `extruder_id` is `-1` (which is a valid value, means all extruders), it will be treated as `0xFFFFFFFF` which is obviously greater than `nozzle_volumes->size()`
then be reset to `0`. So when the parameter dialog is built (which will call this function with `extruder_id=-1`), only the first extruder will be set to the correct variant index.
2026-05-13 20:48:50 +08:00
Noisyfox ecab578052 Merge branch 'main' into dev/cut-keep-paint 2026-05-12 16:18:34 +08:00
Noisyfox b16a461320 Merge branch 'main' into dev/cut-keep-paint 2026-05-11 17:22:21 +08:00
Noisyfox 5b1766b1d5 Remap paint after smooth 2026-05-11 17:16:36 +08:00
Noisyfox b4b2982106 Remap paint after simplify 2026-05-11 17:00:54 +08:00
Noisyfox 3cbdb092d6 Always clear existing facets first if not kept 2026-05-11 17:00:31 +08:00
Noisyfox ea5119ec3f Remap paint after contour cut (cut with part assigned to other side using right mouse click) 2026-05-11 15:33:09 +08:00
Noisyfox b9c9f42f01 Remap paint after dovetail cut 2026-05-11 14:53:53 +08:00
Noisyfox 66f8d954af Simplify cut repaint code to make it more generic 2026-05-11 14:42:45 +08:00
Noisyfox 4aeb6a31db Revert "Refactor planar cut code so it can be reused by other cut type"
This reverts commit a0d1ccaf28.
2026-05-11 14:19:08 +08:00
Noisyfox 89ab4d27cb Revert "Remap paint after dovetail cut"
This reverts commit f3fe37eab3.
2026-05-11 14:19:03 +08:00
Noisyfox f3fe37eab3 Remap paint after dovetail cut 2026-05-10 23:35:09 +08:00
Noisyfox a0d1ccaf28 Refactor planar cut code so it can be reused by other cut type 2026-05-10 22:07:02 +08:00
Noisyfox 1299fcef4a Remap paint after repair model 2026-05-10 18:27:02 +08:00
Noisyfox d5f964ee4f Merge remote-tracking branch 'upstream/main' into dev/cut-keep-paint 2026-05-10 16:41:59 +08:00
Noisyfox 5c754e360e Spatial paint remapping after replace stl 2026-05-10 16:33:08 +08:00
Noisyfox 51d2c91c9b Remap paint after reload from disk 2026-05-10 16:26:19 +08:00
Noisyfox 73096a1161 Fix artifact during normal paint 2026-05-10 12:35:31 +08:00
Noisyfox 219ef664bd Fix issue that in certain cases the paint is not applied when faces are parallel to an axis, by adding a small tolerance to the bbox 2026-05-10 11:50:47 +08:00
Noisyfox f8a18e7656 Remap paint after mesh boolean (from context menu) 2026-05-10 00:41:18 +08:00
Noisyfox 3aadd6e080 Remap paint after mesh boolean 2026-05-09 21:48:52 +08:00
Noisyfox e6b3f6ccef Add option to keep existing painting while mapping new paintings to it 2026-05-09 21:47:40 +08:00
Noisyfox b3a513eab9 Remove redundent mmu facets assign because that's already done in new_object->add_volume(*volume) 2026-05-09 17:36:17 +08:00
Noisyfox fb0cf966cf Remap paint after split to parts 2026-05-09 17:06:19 +08:00
Noisyfox c2d33bea08 Remap paint after split to objects 2026-05-09 17:02:46 +08:00
Noisyfox bfde91685e Rearrange code a little bit to make it more reusable 2026-05-09 16:16:31 +08:00
Noisyfoxandlane.wei 8c7cc6972f FIX: context: fix the .gcode.3mf not shown issue (#13360)
filament_self_index difference caused

JIRA: no-jira

Change-Id: Ia70fe8a8095b8067fe13bbfc9e5c39d9f3ee05d3
(cherry picked from commit 3a55a3a1eef94f577376cd697c3b72cb46967672)

Co-authored-by: lane.wei <lane.wei@bambulab.com>
2026-05-09 13:15:17 +08:00
Noisyfox fb1f4a7d24 Automatically select external spool if it's the only installed filament (#13356)
* Clean up code

* Filament mapping select ext slot automatically when no AMS filament inserted (OrcaSlicer/OrcaSlicer#13103)

* Show warning if external filament type does not match the one in sliced file
2026-05-09 13:14:27 +08:00
Noisyfox 4490dccade Fix issue that support/seam/fuzzy skin painting not kept after split 2026-05-09 10:12:36 +08:00
Noisyfox 2f160ad8bc Rearrange code a little bit to make it more reusable 2026-05-08 22:54:20 +08:00
Noisyfox fad680fcc1 Simplify mesh transform 2026-05-08 21:23:38 +08:00
Noisyfox 83e9f17aa8 Fix issue that Geometry::deg2rad() do calculation in the same type as the parameter, which means if the parameter is int then you lose all the precision 2026-05-07 22:32:56 +08:00
Noisyfox 8b716d43e5 Merge branch 'main' into dev/cut-keep-paint 2026-05-07 08:49:57 +08:00
Noisyfox 100a9a20d1 Fix unicode preset name issue (#13503) 2026-05-06 23:45:32 +08:00
Noisyfox be141d32c1 Speed up calculation by caching barycentric independent variables 2026-05-05 21:53:58 +08:00
Noisyfox 5978e96ff5 Add option to enable/disable paint keep 2026-05-05 18:39:50 +08:00
Noisyfox 368563e14e Fix part offset 2026-05-05 18:11:44 +08:00
Noisyfox 01e0013b16 Don't remap paint unless it's the final cut 2026-05-05 17:08:53 +08:00
Noisyfox 4b489339c6 Check normal before expanding the painting to neighboring faces 2026-05-05 11:59:20 +08:00
Noisyfox e451df27f7 Fix issue of pojection calculation 2026-05-05 11:05:48 +08:00
Noisyfox 24458ba5a2 Remapping the paintings after cut 2026-05-04 20:41:00 +08:00
Noisyfox ded2e72dcc Refine code 2026-05-04 20:33:13 +08:00
Noisyfox 07173a8de4 Remove unused facets 2026-05-04 20:33:13 +08:00
Noisyfox 37de679533 Fix crash on launch caused by ref of tmp object (#13341) 2026-04-25 00:11:23 +08:00
Noisyfox 6e30443c62 Fix issue that filament combobox not working after adding extruder (#13194) 2026-04-24 22:29:26 +08:00
Noisyfox a162e3f031 Fix macos crash on close (#13215)
# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
2026-04-15 23:03:59 +08:00
Noisyfox 239253ecb1 Fix title bar resize grabber on Windows (#13020)
Make sure the title control passes all mouse events to its parent
2026-03-30 19:18:56 +08:00
Noisyfox 478e8bda16 Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (#12449, #12766) 2026-03-14 23:30:37 +08:00
Noisyfox 485917461a Allow cancellation during beam interlocking generation 2026-03-13 23:33:19 +08:00
Noisyfox 7952721931 Fix unable to load DRC file if path contains non-ascii characters (#12619)
Fix issue that failed to load DRC file if path contains non-ascii character
2026-03-06 10:24:06 +08:00
Noisyfox 29addf5ca1 Fix issue that fan speed not reset to normal after ironing (#12595)
Fix issue that fan speed not reset to normal after ironing (OrcaSlicer/OrcaSlicer#11824)
2026-03-04 15:46:14 +08:00
Noisyfox d390524db0 Fix issue that pressure equalizer moves pass the original end of the line when processing very short movements (#12575) 2026-03-04 15:44:37 +08:00
Noisyfox 6d6f7451d4 [Emboss] Fix issue that font search not working on macOS (#12531)
Fix issue that font search not working on macOS
2026-03-04 12:46:50 +08:00
Noisyfox d46cd65d7c Add Elegoo CC 2 profiles (#11240)
### NOTE: NOT TESTED

<img width="789" height="601" alt="image" src="https://github.com/user-attachments/assets/f0057c21-d169-4269-8bf1-ab9cb2f5d10d" />
<img width="1567" height="1065" alt="image" src="https://github.com/user-attachments/assets/5f4e3fcf-b294-4b56-810e-59d85caff4ef" />
2026-02-08 17:00:52 +08:00
Noisyfox b9d4b782c2 Fix crash when open AMS 2 humidity popup (#12123) 2026-02-02 23:50:12 +08:00
Noisyfox 69861b57f9 Fix float number not working properly for option min/max (#11211)
* ConfigOptionDef: min/max values type are changed from INT to FLOAT.

(cherry picked from commit f277bc80c22e0c9a067481a4301922e2c96aed47)

* Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (SoftFever/OrcaSlicer#11069)

* Fix Linux build issue

* Fix float comparison due to precision loss
2025-12-31 21:23:46 +00:00
NoisyfoxandSoftFever 0aac0478e7 GCode Macro: Fix placeholder parser bugs and enable tests (#11485)
* Support creating vector variable

* Add tests for placeholder parser variables

* Fix placeholder line width substitution & tests

* Enable PlaceholderParser tests

* fix build errors

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-23 23:44:43 +08:00
Noisyfox e69daea3c3 Fix filament override checkbox not update after click (#11517)
* Fix filament override checkbox not update after click

* Event args should be references otherwise `e.skip()` won't work

* Fix bool option override
2025-12-22 18:17:32 +02:00
Noisyfox e4f6499663 Fix issue that per-extruder settings doesn't work properly for non-bbl printers (#11165)
* Automatically generate extruder id & printer extruder variant mappings for non-BBL multi-extruder printers

* Support different layer height limit for non-bbl multi-extruder printer
2025-12-18 12:50:14 +00:00
Noisyfox 7f36a02f37 Fix cut memory leak (#11476) 2025-12-18 12:37:13 +00:00
Noisyfox 4c1b6445d3 Validate invalid fields for hidden system profiles (#11455)
* Fix issue that for invisible system profiles, invalid fields are not removed

* Fix wrong note field
2025-11-24 20:11:42 +08:00
Noisyfox 8d3b3645e7 Merge branch 'main' into libvgcode 2025-11-22 19:35:32 +08:00
Noisyfox 61931d23a4 Fix filament profile import if inherit from vendor generic (#11398)
* Why log user id when importing profile?

* Use `find_preset2` when importing profiles
to properly handle renamed system profiles
2025-11-22 15:38:12 +08:00
Noisyfox 7b0cdd3ec6 Fix crash after syncing printer (#11428)
Fix crash after syncing printer (OrcaSlicer/OrcaSlicer#11427)
2025-11-22 15:37:28 +08:00
Noisyfox 760f66d3d7 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
Noisyfox 5e2a7fbf35 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
Noisyfox 95c901768e Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/libslic3r/GCode.cpp
2025-11-14 18:48:32 +08:00
Noisyfox c2c796ef25 Fix initial filament loading (#11350)
* Fix initial filament loading for non-bbl printers (SoftFever/OrcaSlicer#11218)

* Add missing initial PA for bbl printers

* Reset APA after toolchange
https://github.com/SoftFever/OrcaSlicer/pull/5609#issuecomment-3532029620
2025-11-14 18:46:34 +08:00
Noisyfox 416b447ab0 Fix compile 2025-11-14 15:05:27 +08:00
Noisyfox 1bc5832efd Merge remote-tracking branch 'upstream/main' into dev/p2s-pr 2025-11-14 14:55:41 +08:00
Noisyfox 7f1aad8bc1 Support Visual Studio 2026 (#11349)
* Add script with VS version auto detection

* Add msvc145 toolset support

* Fix issue when build slicer only

* Fix vs2026 OpenCV build

* Set github action to use new build script

* Get vs version from `msbuild --version` so it works for github action
2025-11-13 23:11:56 +08:00
Noisyfox 0c810c817f Fix filament end gcode missing for non-bbl machines 2025-11-13 22:33:26 +08:00
Noisyfox 9d944fd1bd Merge branch 'main' into dev/p2s-pr 2025-11-13 10:11:10 +08:00
Noisyfox c0ad4f4e1c Revert "Fix: Correcting the behavior of the camera panning." (#11337)
Revert "Fix: Correcting the behavior of the camera panning. (#11111)"

This reverts commit 08bd21310c.
2025-11-12 13:09:39 +08:00
Noisyfox 83738cacd8 Merge branch 'main' into dev/p2s-pr 2025-11-10 08:55:30 +08:00
Noisyfox a7adeb6305 Fix crash on printer error when stealth mode is enabled (#11225)
Fix crash on printer error when stealth mode is enabled (SoftFever/OrcaSlicer#11203)
2025-11-10 08:54:06 +08:00
Noisyfox 5197358183 Merge branch 'main' into dev/p2s-pr 2025-11-09 20:47:51 +08:00
Noisyfox 8f5a5a9b16 Fix extrusion rate smoothing unnecessarily slowing down the entire line (#11249)
* Fix typo & code style

* Fix calculation of the min acc time

* Avoid slowing down the entire line if both end of a single line has been slowed down
2025-11-09 12:47:50 +08:00
Noisyfox 614612ed38 Merge branch 'main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/DeviceErrorDialog.cpp
2025-11-09 12:35:32 +08:00
Noisyfox df734857cc Merge branch 'main' into dev/p2s-pr 2025-11-08 20:46:30 +08:00
Noisyfox bc008ff2f0 Merge branch 'main' into dev/p2s-pr 2025-11-08 17:17:31 +08:00
Noisyfox 716d85f635 Avoid duplicated call of request_user_handle 2025-11-08 14:49:29 +08:00
Noisyfox 28184a96a1 Enable log auto-flush, this should not really affect performance because by default the log level is warning 2025-11-08 11:49:54 +08:00
Noisyfox bfe4b78b0e Make sure app version is output in log regardless of log level, also show build git hash in log 2025-11-08 11:07:24 +08:00
Noisyfox 0b2778e670 Fix max_bridge_length for organic tree (#11295)
* Remove outdated duplicated support code

* Orgainc tree no longer use `bridge_no_support` since #8212
2025-11-08 01:27:15 +08:00
Noisyfox f4d8130451 Fix emboss crash when displaying warning information (#11299)
Revert "FIX:ImGuiInputTextFlags_Multiline should manual input"

This reverts commit bb3f59e18f.
2025-11-08 00:28:22 +08:00
Noisyfox 0115cfbdd0 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr 2025-11-07 10:42:06 +08:00
Noisyfox 55f677ef21 Try free more disk spaces for flatpak build 2025-11-06 09:28:52 +08:00