Commit graph

10302 commits

Author SHA1 Message Date
Erwan MATHIEU
33671083cd Make sure undo stroke properly clears all the set pixels
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
CURA-12752
Otherwise, when merging the polygons and undo-ing the whole stroke, there may be some remaining pixels outside the mesh triangles that would not be cleared, because the rasterizing is not 100% identical
2025-10-15 16:43:44 +02:00
Erwan MATHIEU
06a7592483 Do not update stacks at every stroke, but under the anti-bounce timer
CURA-12752
2025-10-15 16:01:03 +02:00
Remco Burema
f9c77f8730 For multi-material painting; stack needs to be updated.
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
... because the extruders used for the current object can change (clear all bits of extruder #2 paint on a single object, which results in the object printed with extruder #1 only, which could result in the prime-tower needing to be gone -- or the other way around).

The _previous_ way of doing that was just spamming the stack changes, but that gave other problems.

part of CURA-12752
2025-10-15 11:15:08 +02:00
Remco Burema
d5fc04684a
Apply suggestions from code review (imports).
done as part of CURA-12752

Co-authored-by: HellAholic <alireza.doustdar@gmail.com>
2025-10-15 08:55:10 +02:00
Remco Burema
0f18b5e323 Rename method to better cover intended meaning.
done as part of CURA-12752
2025-10-14 11:37:14 +02:00
Erwan MATHIEU
8254c64488 Merge remote-tracking branch 'origin/5.11' into CURA-12752_multimat_paint_prime_tower
Some checks failed
conan-package-resources / conan-package (push) Has been cancelled
conan-package / conan-package (push) Has been cancelled
printer-linter-format / Printer linter auto format (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
conan-package-resources / signal-curator (push) Has been cancelled
2025-10-13 14:40:33 +02:00
Erwan MATHIEU
375f030c09 Update extruders count only when inactive
CURA-12752
The previous method was not efficient enough in case of large models, where a single painting stroke can easily cover almost the whole texture (in bounding box). Reverted to the version where the whole texture is counted, but cached in the SliceableObjectDecorator and updated on timer so that it is not done during painting.
2025-10-13 14:22:39 +02:00
Erwan MATHIEU
0e5442d570 Fix extruders counting method
CURA-12752
2025-10-13 13:33:51 +02:00
HellAholic
566b58565f
Merge branch 'CURA-12763_undo-redo-clear-does-not-invalidate-result' into CURA-12750_switch-out-of-paint-when-entering-preview
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-10-08 16:01:01 +02:00
HellAholic
df5c34b9e4
Merge branch '5.11' into CURA-12763_undo-redo-clear-does-not-invalidate-result
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-10-08 15:55:44 +02:00
Remco Burema
c412def982 Extruder counts in image was too slow, cache and do per bounding-rect.
Some checks failed
conan-package-resources / conan-package (push) Has been cancelled
conan-package / conan-package (push) Has been cancelled
printer-linter-format / Printer linter auto format (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
conan-package-resources / signal-curator (push) Has been cancelled
Rewrite the whole 'count pixels to get extruders for paint on materials' so that it's cached outside of the extruder manager instead, so that counting pixels in a 4096x4096 image isn't called xx of times per second.

part of CURA-12752
2025-10-08 09:58:05 +02:00
Erwan MATHIEU
b30a2407d6 Only display paint view in Prepare stage
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
CURA-12750
2025-10-07 16:40:01 +02:00
HellAholic
cdaf3d5458
Merge branch '5.11' into CURA-12761_painting-does-not-work-with-group
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-10-07 15:42:44 +02:00
Erwan MATHIEU
c04ca0dde5 Restore initial text to avoid untranslated text
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
CURA-12761
2025-10-07 12:28:47 +02:00
Remco Burema
107c3503d7 Merge remote-tracking branch 'origin/5.11' into CURA-12752_multimat_paint_prime_tower 2025-10-07 11:34:01 +02:00
Erwan MATHIEU
cb2e1eddcc Invalidate slice when using undo/redo/clear paint actions
CURA-12763
2025-10-07 09:46:50 +02:00
Erwan MATHIEU
52f571e705 Fix unable to slice when using paint-on-seam first
CURA-12747
2025-10-06 13:41:13 +02:00
Erwan MATHIEU
d315e0a727 Handle group selection as multi-selection w.r.t painting
CURA-12761
2025-10-06 12:31:16 +02:00
Erwan MATHIEU
508886cac7 Merge remote-tracking branch 'origin/5.11' into CURA-12740_multi-material-with-ex2 2025-10-03 12:22:03 +02:00
Erwan MATHIEU
465831ce28 Remove leftover code
CURA-12740
2025-10-03 12:09:51 +02:00
Erwan MATHIEU
6ccd0b3b2b Properly display model extruder when it has no paint data
CURA-12740
2025-10-03 12:00:54 +02:00
HellAholic
72432be487
Merge branch '5.11' into CURA-12743_slow-performance-while-painting 2025-10-03 11:01:40 +02:00
HellAholic
05440640a5
Merge branch '5.11' into CURA-12760_remove-bambu-printers
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-10-02 21:41:54 +02:00
HellAholic
3abac31778 Revert the addition of keys to the ignore_keys and add them to the backups
Some checks failed
conan-package-resources / conan-package (push) Has been cancelled
conan-package / conan-package (push) Has been cancelled
printer-linter-format / Printer linter auto format (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
conan-package-resources / signal-curator (push) Has been cancelled
The whitelist of the preferences only allows: "general/visible_settings", "cura/active_mode", "cura/categories_expanded", "metadata/setting_version" to be stored.

In backups, we're obfuscating Secret Preferences and these should be considered as items for that.
2025-10-02 15:21:01 +02:00
Erwan MATHIEU
2203f5c295 Remove BambuLab printers
CURA-12760
Since the firmware of the printers have been updated, the current implementation of the BambuLab 3MF format is no more compatible. As we are in Beta period, we cannot make the proper changes to ensure a working behavior.
2025-10-02 14:52:04 +02:00
HellAholic
c0e145e307 Add cluster_api keys to the ignore list for 3mfWorkspaceWriter 2025-10-02 14:36:30 +02:00
HellAholic
230c323709
Merge branch '5.11' into CURA-12740_multi-material-with-ex2
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
2025-10-02 14:01:22 +02:00
Erwan MATHIEU
746aca6a89
Merge branch '5.11' into CURA-12708_printer_cred_plain 2025-10-02 13:27:32 +02:00
Erwan MATHIEU
02d5612b58 Merge remote-tracking branch 'origin/5.11' into CURA-12743_slow-performance-while-painting
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-10-02 13:21:27 +02:00
Erwan MATHIEU
495a367539 Optimize painting operations
CURA-12743
2025-10-02 12:05:39 +02:00
HellAholic
a06ff9cdd7
Merge branch '5.11' into CURA-12752_multimat_paint_prime_tower
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
2025-10-02 10:54:13 +02:00
HellAholic
bb02afef29 Merge pull request #20999 from GregValiant/ZHopOnTravelUpdate
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
Update ZHopOnTravel.py
2025-10-02 08:34:11 +02:00
Remco Burema
f910983616 Spam the signals a bit less.
done as part of CURA-12752
2025-10-01 23:12:27 +02:00
Remco Burema
e3204707db Move 'get painted on extruders' method, use for build-volume.
(Not sure I'm happy with this, but) now we can use this _both_ in the slicing itself _and_ the bounds. The big downsides are a) I had to connect the scene changed signal to the on-stack-changed method, that seems ugly and potentially slow b) I'm not sure this method belongs in the ExtruderManager -- otoh, where else is it going to live (unless we want to make a new type of plugin-object?).

CURA-12752
2025-10-01 22:39:22 +02:00
Erwan MATHIEU
05b3aeb2bd Pre-cache faces connectivity during prepare job
CURA-12743
This avoids a huge slowdown when starting to paint
2025-10-01 16:38:50 +02:00
Erwan MATHIEU
7504c8be89 Remove getting the faces under the cursor area
CURA-12743
2025-10-01 16:29:45 +02:00
Erwan MATHIEU
e8152bf047 Do the cursor projection using uvula
CURA-12743
2025-10-01 11:44:14 +02:00
HellAholic
0c0d9e591c
Merge branch '5.11' into CURA-12749_replace-the-placeholder-paint-tool-icon-with-a-brush
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-10-01 10:27:21 +02:00
Saumya Jain
d86984aca7
Merge branch '5.11' into CURA-12737_model-rotation-stops-over-model-with-painting 2025-09-30 15:28:27 +02:00
Remco Burema
fb574bba25 Reduce log-spam.
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
done as part of CURA-12708
2025-09-30 11:38:33 +02:00
Remco Burema
971fb9d104 Save authorization per-cluster instead of in 1 value.
This would otherwise invalidate all authorization information when switching printers.

part of CURA-12708
2025-09-30 11:37:36 +02:00
HellAholic
40555d9b06
Merge branch '5.11' into CURA-12055_fix-load-ufp-then-stl 2025-09-30 11:36:29 +02:00
Erwan MATHIEU
9bf79cf762 Set brush icon for painting feature
CURA-12749
2025-09-30 11:10:03 +02:00
HellAholic
9b9be26bc4
Merge branch '5.11' into CURA-12734_fix-using-disabled-extruders-with-painting 2025-09-30 11:00:43 +02:00
HellAholic
635ae45b5e
Merge branch '5.11' into CURA-12732_fix_slice_paint_hover 2025-09-30 10:50:22 +02:00
Erwan MATHIEU
428faa5777 Do not block rotation while painting is active
CURA-12737
2025-09-30 09:52:19 +02:00
Remco Burema
6b6200fc94 Remove spurious method, handle the expected way.
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
This was basically already possible, no need to add an extra method.

done as part of CURA-12732
2025-09-30 09:14:02 +02:00
Erwan MATHIEU
f19ead5686 Fix stuck UI when loading UFP then STL
CURA-12055

Instead of just emitting the signal for the state change, actually set the state so that the UI and the model don't end up with inconsistent values
2025-09-29 14:39:37 +02:00
Erwan MATHIEU
a59481f913 Simplify objects undo stacks management
CURA-12740
2025-09-29 10:23:48 +02:00
Erwan MATHIEU
9fa9a7395b Handle material painting i.r.t to affected object extruder
CURA-12740
2025-09-29 10:06:39 +02:00