Commit Graph

29249 Commits

Author SHA1 Message Date
SoftFever
b54cc75362 feat(automation): --automation-server CLI flag plumbed into GUI 2026-06-03 03:48:47 +08:00
SoftFever
9d915c4e76 feat(automation): WxUiBackend input + window/viewport screenshots 2026-06-03 03:35:40 +08:00
SoftFever
d742b10c50 feat(automation): WxUiBackend marshaller + dump_tree + app_state 2026-06-03 03:19:29 +08:00
SoftFever
47467b626c feat(automation): guarded ImGui item/window recording hooks 2026-06-03 03:01:58 +08:00
SoftFever
c0d37bff3a feat(automation): double-buffered ImGui item table 2026-06-03 02:52:52 +08:00
SoftFever
39a29cf865 feat(automation): wxWindow automation-id registry 2026-06-03 02:43:41 +08:00
SoftFever
487e1cb205 feat(automation): localhost beast POST /jsonrpc server 2026-06-03 02:32:51 +08:00
SoftFever
a2e8a90052 feat(automation): Python reference client 2026-06-03 02:23:10 +08:00
SoftFever
8dcbc582fa feat(automation): sync.wait_for poll loop 2026-06-03 02:13:35 +08:00
SoftFever
b0325c999a feat(automation): app.state + screenshot handlers with base64 2026-06-03 02:07:30 +08:00
SoftFever
5a2f03adee feat(automation): input.click / input.type / input.key handlers 2026-06-03 02:01:40 +08:00
SoftFever
a8ed2b8dd5 feat(automation): tree.dump / tree.find / widget.get handlers 2026-06-03 01:55:48 +08:00
SoftFever
aac14ae161 feat(automation): JSON-RPC dispatcher envelope + version + error model 2026-06-03 01:49:49 +08:00
SoftFever
94c356845e test(automation): MockUiBackend recording test double 2026-06-03 01:45:46 +08:00
SoftFever
e449a0b618 feat(automation): resolve_unique + wait-state evaluation 2026-06-03 01:42:38 +08:00
SoftFever
ddd1967bff feat(automation): pure locator (id/path/predicate) with unit tests 2026-06-03 01:38:13 +08:00
SoftFever
02140d2a1e test(automation): lock serializer children/value/imgui/app_state shapes 2026-06-03 01:34:13 +08:00
SoftFever
0be138b981 feat(automation): pure UI node model + JSON serializer with unit test 2026-06-03 01:28:43 +08:00
SoftFever
11301086a7 docs: add UI automation design spec
Design for an opt-in localhost JSON-RPC server that lets an external script/AI agent drive and observe the OrcaSlicer GUI (wxWidgets + 3D viewport + ImGui) via wxUIActionSimulator.
2026-06-03 00:48:27 +08:00
Kiss Lorand
1b72dbf6fa Fix inconsistent ordering of support base outline and fill (#11761)
* Preserve support base outline/fill order

Honor no_sort when emitting support toolpaths to keep outline-first order.
Group tree support base paths (including lightning) into per-area no_sort collections to prevent interleaving across islands.
Keep lightning layer lookup side-effect free.

* Tag Orca specific changes

Tag Orca specific changes vs. Bambu using the comment //ORCA: . This helps when reviewing merge commits from upstream Bambu so we don't end up causing regressions when pulling in commits from upstream
2026-06-02 14:39:27 +08:00
Kiss Lorand
ac92125012 Fix counterbore hole bridge (#13956)
Fix counterbore hole partial bridge
2026-06-02 14:34:43 +08:00
Bingo2023
d6a49ace15 Update Bambu Lab X2D 0.4 nozzle.json (#13985)
* Update Bambu Lab X2D 0.4 nozzle.json

corrected mistake from 31.5.2026
" is correct in machine code.

* Update Bambu Lab X2D 0.4 nozzle.json

fixed error with " -> \"

* Merge branch 'main' into patch-2
2026-06-01 22:15:34 +08:00
yw4z
71eebc2332 Merge code base of Setup Guide and Standalone versions of Printer / Filament Selection Dialogs (#13579) 2026-06-01 21:00:42 +08:00
Ian Bassi
7a0c149701 lightning infill angles Wiki (#13984) 2026-06-01 09:24:00 -03:00
Alexandre Folle de Menezes
737c684a93 Improve and complement pt-BR translation (#13973) 2026-06-01 09:12:06 -03:00
Terasit Juntarasombut
91ce821959 i18n: Complete Thai (th) localization and enable Thai in GUI (#13916)
* i18n: complete Thai (th) localization

* feat: fix thi translation

* feat: fix Thai language localization file

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-06-01 18:11:14 +08:00
Kiss Lorand
752551292b Fix modifiers bridge speed not respected (#13971)
* Respect modifiers bridge speed
2026-06-01 16:00:00 +08:00
Calcousin55
86ad4d141a Preserve Z scale and apply correct offset when Ctrl‑dragging XY corner (#13840) 2026-06-01 00:16:06 +08:00
Vovodroid
30e83d790c Enable wipe with firmware retractions is set 100% before wipe. (#13812)
Enable wipe with firmware retractions
2026-06-01 00:14:42 +08:00
LH
7f7e7dff3a Update LH Stinger profile (#13865)
- Adding default speed for the new initial_layer_travel_acceleration
2026-06-01 00:13:35 +08:00
Rodrigo Faselli
8548e5ca96 Expose lightning infill angles (#13848)
* expose lightning infill angles

Update PrintObject.cpp

* Update src/libslic3r/PrintConfig.cpp

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Update GUI_Factories.cpp

* Fix lightning infill angles to 45 degrees for supports

Updated lightning infill angles to fixed values for consistency.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-01 00:12:49 +08:00
anjis
4d05ba0d02 Support GIGA multi-printhead configuration options (#13901)
* Support GIGA multi-printhead configuration options

* Removed unused G-code comments.

* Added parallel_printheads_count option to configure parallel printhead count.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-06-01 00:11:07 +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
Matias Fernandez
8362eba19d Remove redundant toolchange retraction/un-retraction during filament change in CC1 profile (#13456)
* Fix: Disable redundant toolchange retraction for Elegoo Centauri Carbon
Sets `retract_length_toolchange` to 0 in the Elegoo Centauri Carbon (ECC) machine profile.
This resolves an issue where a massive filament blob would form on the prime tower immediately after resuming a manual filament change (M600). The blob was caused by a conflict between OrcaSlicer's default toolchange logic and Elegoo's hardcoded firmware behavior:
- Elegoo's firmware (specifically the `cmd_PAUSE` and `cmd_RESUME` sequences) completely takes over pressure management during an M600. It performs its own initial 2mm retraction, a 120mm purge, and a silicone brush wipe, returning the print head to the prime tower perfectly primed.
- Previously, Slicer was unaware of the firmware's priming and would issue a redundant 2mm un-retract (`G1 E2`) upon resume. Forcing 2mm of filament out of an already-full nozzle created the blob.
By disabling the toolchange retraction (`0`), Slicer correctly hands off filament pressure management during an M600 entirely to the Elegoo firmware, preventing double-retractions and eliminating the blob.

* fix errors after merging main

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-31 20:35:35 +08:00
yw4z
1644d49ae1 Fix non functional OBJ import dialog on linux (#13914) 2026-05-31 20:16:29 +08:00
Kiss Lorand
3a8dfeaa08 Preview sliders overhaul (#13919)
* Make preview slider labels draggable

Add label hit testing and delta-based dragging for the vertical preview slider labels. Keep label drags tied to the selected handle, prevent slider hover/timeline/menu handling from stealing label interactions, and keep value setters from changing the active selection implicitly.

* Refresh preview slider visuals

Update preview slider rails, handles, and labels for the refreshed light and dark theme appearance. Apply the same visual language to the horizontal slider, align single-layer and multi-layer labels, and remove obsolete triangle label geometry.
2026-05-31 18:55:14 +08:00
Bingo2023
c714935596 Update Bambu Lab X2D 0.4 nozzle.json - updade Maschine Startcode (#13944)
* Update Bambu Lab X2D 0.4 nozzle.json - updade Maschine Startcode

bump in changes from BBL

update:
===== 2026/05/08 =====

old:
===== 2026/03/26 =====

* Update Bambu Lab X2D 0.4 nozzle.json

corrected:
- " " -> ' '
- {Tab} -> deleted

* Update Bambu Lab X2D 0.4 nozzle.json

replaced " -> '
2026-05-31 18:46:46 +08:00
SoftFever
372f7823ac Feature/tweak stealth mode (#13963)
* Update the stealth mode description to reflect the current code changes in 2.4.

* disable HMS if bambu network plugin is not installed or in stealth mode

* fix build err

* add hide_login_side_panel to control whether to show login panel in home page
2026-05-31 18:04:06 +08:00
Ian Chua
535911fcfe fix: 409 conflicts resolution in notifications (#13900)
* fix: 409 conflicts resolution in notifications

* fix: silently log other http errors

* fix: pass force push flag to start_sync_user_preset

* remove formatting churn

* fix: propagate force push down put_setting

* refactor render_hyperlink_action to PopNotification for reuse

* fix an issue that hold status should be cleared before force pushing.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-31 16:23:10 +08:00
Kiss Lorand
6a26284ba6 Fix air filtration gcode emitted even if not not supported by the printer (#13868)
* Fix air filtration gcode emitted even if not not supported

- do not emit air filtration gcode if not supported by the printer
- removed redundant  "add_eol" parameter from "set_exhaust_fan()" function
2026-05-31 12:11:40 +08:00
SoftFever
b78d5b94dc Add SeeMeCNC printer profiles (#13924)
* Add SeeMeCNC printer profiles

Adds machine, filament, and process profiles for SeeMeCNC printers:
Artemis, BOSSdelta 300, BOSSdelta 500 (0505/0510/0521), and
RostockMAX v3.2/v4 — covering 0.4mm, 0.5mm, 0.7mm, and 1.0mm nozzles.
Includes PLA, ABS, PETG, PETG-CF, PA-CF, and TPU filament profiles.

Co-authored-by: Sam <47287571+Sewbot@users.noreply.github.com>

* bump version

---------

Co-authored-by: Sam <47287571+Sewbot@users.noreply.github.com>
2026-05-30 22:06:54 +08:00
Wegerich
61e2abfb2b Enhance G92 E0 case sensitivity check (#13933) 2026-05-30 21:57:54 +08:00
Tobias Gloth
9d8c7cc495 use /bigobj when building Eigen with MSVC (#13922) 2026-05-30 16:51:31 +08:00
Ian Bassi
9a01df4a80 Filament for features for SEMM (#13937)
* Remove limit for SEMM

* Remove legacy check

* Revert "Remove legacy check"

This reverts commit c6e5074114.
2026-05-30 14:16:59 +08:00
Kiss Lorand
83946f3df8 Fix division by zero in organic tree support generation (#13936) 2026-05-29 18:09:47 -03:00
Ian Chua
6b55e324c9 fix: temporary wxstring going out of scope causing crash on linux (#13925) 2026-05-29 15:49:36 +08:00
Jingxi-Polymaker
ee8bb54ca8 Add more Polymaker filament presets (#13858)
* add new presets

* fix inhernce

* fix rename

* update

* apply fix

* update index
2026-05-29 15:46:41 +08:00
Ian Bassi
3db37d004a Fix + Support 'Default' filament option (index 0) (#13887)
* Support 'Default' filament option (index 0)

Treat filament index 0 as the new "Default" (use active object/part filament) instead of using 1. Update config defaults and tooltips for wall/sparse/solid infill filament options (min/default -> 0, tooltip explains "Default"). Adjust normalization and propagation logic to respect explicit feature overrides and only apply base extruder when feature values are zero; only copy sparse->solid infill when sparse > 0. Introduce FeatureFilamentOverrideMask and clamp_feature_filament_to_valid to resolve and clamp feature filaments. Update UI lists and selection behavior to expose a "Default" entry and handle zero-based indices in PartPlate and Plater.

* enable_filament_for_features option

Co-Authored-By: LixNix <105106115+lixnix@users.noreply.github.com>

* \n

* Allow wipe_tower_filament to equal nozzle count

Relax the assertion in Print::extruders to permit wipe_tower_filament == config().nozzle_diameter.size(). The configuration value is 1-based and the code subtracts 1 when pushing the extruder index, so equality should be valid and selecting the last nozzle should not trigger an assertion.

* Revert "Allow wipe_tower_filament to equal nozzle count"

This reverts commit 2c97657432.

* Revert "enable_filament_for_features option"

This reverts commit 01c13baedd.

* Migrate legacy feature filament defaults

Add migration logic to convert legacy feature filament selections from 1 to 0 for older 3mf files. Introduces a local migrate_legacy_feature_filament_defaults lambda in src/OrcaSlicer.cpp and src/slic3r/GUI/Plater.cpp that scans keys (wall_filament, sparse_infill_filament, solid_infill_filament, support_filament, support_interface_filament) on configs/objects/volumes, updates values, counts conversions and logs the result. Also adds a Semver check for "2.4.0-dev" in OrcaSlicer to trigger the migration for files older than that version. This preserves expected default filament selections when loading older project files.

* Update OrcaSlicer.cpp

* Extract migration helper to ConfigMigrations

Centralize legacy feature-filament default migration by moving the duplicated lambda into ConfigMigrations::migrate_legacy_feature_filament_defaults (src/libslic3r/Config.cpp) and declaring it in Config.hpp. Update OrcaSlicer.cpp and slic3r/GUI/Plater.cpp to call the new function instead of inline lambdas. The helper converts specific feature filament keys (wall_filament, sparse_infill_filament, solid_infill_filament, support_filament, support_interface_filament) from int 1 to 0 and returns the count of conversions to avoid duplicated migration logic.

* Remove DynamicFilamentList1Based and consolidate lists

Delete the specialized DynamicFilamentList1Based struct and its global instance. Update Choice registrations to use the single dynamic_filament_list for wall, sparse_infill and solid_infill filaments, and remove the extra update call for the removed instance. This consolidates filament choice handling and removes duplicated logic in Plater.cpp.

* move it

* fix objects

* Update Config.hpp

* Update profiles
2026-05-29 10:54:26 +08:00
TheLegendTubaGuy
d3b110ebf6 Remove hardcoded Qidi Max 4 input shaper (#13864) 2026-05-28 20:25:09 -03:00
Ian Bassi
e514b60ea6 Slow down for curled perimeters Desc fix (#13918) 2026-05-28 17:15:21 -03:00