Skip to content

feat: draft shield checkbox + additional base layers#1

Open
gerchowl wants to merge 65 commits intomainfrom
draft-shield-and-base-layers
Open

feat: draft shield checkbox + additional base layers#1
gerchowl wants to merge 65 commits intomainfrom
draft-shield-and-base-layers

Conversation

@gerchowl
Copy link
Owner

Summary

  • Draft Shield: Convert from enum dropdown to checkbox (coBool). Updates legacy handling, 649 profile JSONs, and all code references.
  • Additional Base Layers: New setting (0-3, default 0) adding extra foundation layers at the bottom of support/raft on the build plate. Works with classic support, tree support, and raft.

Test plan

  • CI builds pass on all platforms (Linux, macOS, Windows)
  • Draft shield renders as checkbox in Process > Others > Skirt
  • Old 3MF files with "draft_shield": "disabled" parse correctly
  • Additional base layers appears in Support section
  • Default 0 = no behavior change
  • With raft_layers=3, additional_base=2: G-code shows extra base raft layers
  • With raft_layers=0, additional_base=2: G-code shows extra support base layers

🤖 Generated with Claude Code

bsamorodov and others added 30 commits February 13, 2026 15:30
…rcaSlicer#9508. (OrcaSlicer#10739)

* Add Rectilinear Support for Normal support type. Fix issue OrcaSlicer#9508.

* Remove duplicate the rotation logic, use raft_interface_angle function.

---------

Co-authored-by: SoftFever <[email protected]>
restore select all plates as its own function

Co-authored-by: SoftFever <[email protected]>
…eat and cooldown behaviour) - NEW (OrcaSlicer#12266)

Wipe tower interface features and preheat fixes

Fresh PR branch rebuilt on upstream/main (squash of origin/BBL-studio-wipe-tower-merge) to avoid merge-history issues.
* Update CalibUtils.cpp

* VFA.drc case to vfa.drc
… for filament sync (OrcaSlicer#12307)

# Description


# Screenshots/Recordings/Graphs


https://github.com/user-attachments/assets/5558b4be-24eb-4f2d-83fd-8482560a0014

<img width="445" height="285" alt="Screenshot 2026-02-14 at 7 31 57 PM" src="https://github.com/user-attachments/assets/e71fee66-05da-4f9c-8123-0f52e93f0ebb" />


## Tests

Removed configured filaments and pressed the sync button. Observed the filaments configured in my system were populated.
)

- Add configurable GLEW_USE_EGL option (default OFF) to match wxWidgets
- Explicitly set wxUSE_GLCANVAS_EGL=OFF for vendored wxWidgets build
- Add compile-time check to detect EGL/GLX backend mismatch between
  GLEW and wxWidgets, preventing silent rendering failures

The bug occurred when GLEW was compiled with EGL support (using
eglGetProcAddress) but wxWidgets created GLX contexts. This mismatch
caused OpenGL function pointers to fail loading, resulting in blank
3D model preview.

Co-authored-by: SoftFever <[email protected]>
…r sizes (OrcaSlicer#12289)

Normalize printer_options_with_variant_2 (stride=2) machine limit vectors during preset merge to handle legacy 3MF/projects that store only a single (normal,silent) pair despite multiple printer variants, preventing set_with_restore() size-mismatch crashes.

Crash error message during 3MF import as project:

<img width="833" height="274" alt="image" src="https://github.com/user-attachments/assets/f92148a9-98c6-47b7-a0ab-d5ac8b1f2be4" />

3MF attached that causes the bug. 
[cube.3mf.zip](https://github.com/user-attachments/files/25318309/cube.3mf.zip)
… quality (OrcaSlicer#12329)

* tweak: adjust max volumetric speed for PETG profiles to improve print quality
…oper fix (OrcaSlicer#12278)

* Reapply "Switch to self hosted mac runner (OrcaSlicer#12024)" with proper fix

This reverts commit 783f992.

* use conditional logic for self-hosted runners

* improve readbility
* 2 seam fuzzy 2nd attempt

* Update FuzzySkin.cpp

* Fix debug SVG

* solve bump artifact in extrusion junction joint

* minor fixes

* cleaning

Update FuzzySkin.cpp
OrcaSlicer#12400)

* tweak legacy library migration from rename to copy in BBLNetworkPlugin
* Add Pressure Advance visualization support

Signed-off-by: minicx <[email protected]>

* Port Pressure Advance visualization to libvgcode architecture

Adapt PA visualization (originally in commit e3a7725) to work with
the new libvgcode library introduced by upstream PR OrcaSlicer#10735.

Changes across the libvgcode stack:
- PathVertex: add pressure_advance field
- Types.hpp: add PressureAdvance to EViewType enum
- ViewerImpl: add ColorRange, color mapping, range updates for PA
- LibVGCodeWrapper: pass pressure_advance from MoveVertex to PathVertex

GCodeViewer UI integration:
- Add "Pressure Advance" to view type dropdown
- Add PA color range in legend (3 decimal places)
- Add PA value display in sequential view marker tooltip
- Add PA row in position properties table

The GCodeProcessor PA parsing (M900, M572, SET_PRESSURE_ADVANCE)
is preserved from the original implementation.

* Tag Pressure Advance visualization changes with ORCA comments

Signed-off-by: minicx <[email protected]>

---------

Signed-off-by: minicx <[email protected]>
Co-authored-by: Ioannis Giannakas <[email protected]>
Co-authored-by: Claude <[email protected]>
…_id indexing (OrcaSlicer#12411)

The extruder_id*2 offset in get_axis_max_feedrate/get_axis_max_acceleration
was cherry-picked from BambuStudio's per-nozzle limit system, which OrcaSlicer
never ported. Without that system the limit arrays only have 2 values
([0]=Normal, [1]=Stealth), so any extruder_id > 0 or the uninitialized
value (255) would overshoot the array and fall back to values.back(),
always returning stealth-mode limits and producing incorrect time estimates.

Revert to indexing by time mode only (matching v2.3.1 behavior) and simplify
the M201/M203 handlers to write only the two mode slots they actually use.
…der_id indexing (OrcaSlicer#12414)

print_machine_envelope() used get_extruder_id(extruder_id)*2 to index
machine limit arrays that only hold [Normal, Stealth] (2 entries).
For multi-extruder setups this went out-of-bounds, causing wrong M201/M203
values in the G-code which then override the estimator's correct limits.

Same class of bug as c6d1c11 but on the G-code writer side.

Changes:
- Remove unused extruder_id param from print_machine_envelope()
- Use .values.front() for M201/M203, matching M204/M205 in same function
- Change get_option_value() fallback from .back() to .front() so any
  future out-of-bounds index returns Normal mode instead of Stealth
…ng 16+ filaments (OrcaSlicer#12317)

Fixes OrcaSlicer#12284

Adds a preference for filaments area height since every user has different amount of MM units and external filaments
so users can set a value that fits their setups this way

we might see 3 or 6 filaments for each unit on future. thats why i set value as int

used 10 as default value. its good for 2 multimaterial units ( 8 filaments ) and 1 external filament

min value is 8.  might be good when no external filaments in use

max value is 99. UI works same as 2.3.1 version

<img width="562" height="122" alt="Screenshot-20260215194149" src="https://github.com/user-attachments/assets/309cec36-8b83-48f3-875f-d5f22a9631e7" />

**BEFORE**
Scrollable area fixed for 10 items. that causes a lot of scrolling whe user has 3 or 4 ams units

<img width="411" height="237" alt="Screenshot-20260215194816" src="https://github.com/user-attachments/assets/fc7823c0-d82a-4d1f-bb5b-56e8dd47abd2" />

**AFTER**
value 10. - 2 multimaterial units ( 8 filaments ) and 1 external filament
<img width="1002" height="250" alt="Screenshot-20260215195243" src="https://github.com/user-attachments/assets/e3238cd1-788e-4ed2-b048-89c63bd323db" />

value 18  - 4 multimaterial units ( 16 filaments ) and 1 external filament
<img width="1001" height="355" alt="Screenshot-20260215195127" src="https://github.com/user-attachments/assets/afe0305e-fcb4-4a51-b8dc-e70a063aa391" />
…anges in tooltips (OrcaSlicer#11915)

* Fix float number not working properly for option min/max (OrcaSlicer#11211)

* ConfigOptionDef: min/max values type are changed from INT to FLOAT.

(cherry picked from commit f277bc8)

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

* Fix Linux build issue

* Fix float comparison due to precision loss

* Fix: Range check added for coInt options; Ranges and defaults added in tooltips

---------

Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: SoftFever <[email protected]>
* OpenEYE Peacock V2 machine profile: Add printer_agent key to enable AMS filament synchronization (Klipper/Moonraker)

Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>

* Optimize retraction settings in printer profiles to reduce stringing and improve print quality

Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>

---------

Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>
Fix preheat regression bugs
revert 769fc13
Added checks in ByLayer print sequence to handle ordering for Intra-layer ordering option. Prevents new ordering setup when "As object list" is enabled.
* Add Elegoo filament profiles to OrcaFilamentLibrary

Add 7 Elegoo filament profiles based on manufacturer specifications:
- Elegoo Rapid PETG (high-speed PETG, 240-270°C, 30-600mm/s)
- Elegoo PETG Pro (standard PETG, 230-260°C, 30-270mm/s)
- Elegoo PETG-CF (carbon fiber PETG, 240-270°C, 30-220mm/s)
- Elegoo PLA (standard PLA, 190-230°C, 30-280mm/s)
- Elegoo Rapid PLA+ (high-speed PLA, 190-230°C, 30-600mm/s)
- Elegoo ASA (ASA, 250-280°C, 30-270mm/s)
- Elegoo TPU 95A (flexible TPU, 220-240°C, 30-60mm/s)

All settings sourced from Elegoo's official product specifications.

* Fix dual seam fuzzy painted rev 2 (OrcaSlicer#11923)

* 2 seam fuzzy 2nd attempt

* Update FuzzySkin.cpp

* Fix debug SVG

* solve bump artifact in extrusion junction joint

* minor fixes

* cleaning

Update FuzzySkin.cpp

* Fix filament override changes not appearing in Unsaved Changes and showing as “Undef category” in preset comparison (OrcaSlicer#12298)

* Fix an issue that on Windows the Bambu legacy plugin is 01.10.01.09 (OrcaSlicer#12380)

* tweak legacy library migration from rename to copy in BBLNetworkPlugin (OrcaSlicer#12400)

* tweak legacy library migration from rename to copy in BBLNetworkPlugin

* Add Pressure Advance visualization support (OrcaSlicer#11673)

* Add Pressure Advance visualization support

Signed-off-by: minicx <[email protected]>

* Port Pressure Advance visualization to libvgcode architecture

Adapt PA visualization (originally in commit e3a7725) to work with
the new libvgcode library introduced by upstream PR OrcaSlicer#10735.

Changes across the libvgcode stack:
- PathVertex: add pressure_advance field
- Types.hpp: add PressureAdvance to EViewType enum
- ViewerImpl: add ColorRange, color mapping, range updates for PA
- LibVGCodeWrapper: pass pressure_advance from MoveVertex to PathVertex

GCodeViewer UI integration:
- Add "Pressure Advance" to view type dropdown
- Add PA color range in legend (3 decimal places)
- Add PA value display in sequential view marker tooltip
- Add PA row in position properties table

The GCodeProcessor PA parsing (M900, M572, SET_PRESSURE_ADVANCE)
is preserved from the original implementation.

* Tag Pressure Advance visualization changes with ORCA comments

Signed-off-by: minicx <[email protected]>

---------

Signed-off-by: minicx <[email protected]>
Co-authored-by: Ioannis Giannakas <[email protected]>
Co-authored-by: Claude <[email protected]>

* Fix time estimation using wrong machine limits due to broken extruder_id indexing (OrcaSlicer#12411)

The extruder_id*2 offset in get_axis_max_feedrate/get_axis_max_acceleration
was cherry-picked from BambuStudio's per-nozzle limit system, which OrcaSlicer
never ported. Without that system the limit arrays only have 2 values
([0]=Normal, [1]=Stealth), so any extruder_id > 0 or the uninitialized
value (255) would overshoot the array and fall back to values.back(),
always returning stealth-mode limits and producing incorrect time estimates.

Revert to indexing by time mode only (matching v2.3.1 behavior) and simplify
the M201/M203 handlers to write only the two mode slots they actually use.

* Fix machine envelope G-code emitting wrong limits due to broken extruder_id indexing (OrcaSlicer#12414)

print_machine_envelope() used get_extruder_id(extruder_id)*2 to index
machine limit arrays that only hold [Normal, Stealth] (2 entries).
For multi-extruder setups this went out-of-bounds, causing wrong M201/M203
values in the G-code which then override the estimator's correct limits.

Same class of bug as c6d1c11 but on the G-code writer side.

Changes:
- Remove unused extruder_id param from print_machine_envelope()
- Use .values.front() for M201/M203, matching M204/M205 in same function
- Change get_option_value() fallback from .back() to .front() so any
  future out-of-bounds index returns Normal mode instead of Stealth

* update error message when plugin upgrade failed

* Add and update pt-BR translations (OrcaSlicer#12409)

* Add preference for filament area height to reduce scrolling while using 16+ filaments (OrcaSlicer#12317)

Fixes OrcaSlicer#12284

Adds a preference for filaments area height since every user has different amount of MM units and external filaments
so users can set a value that fits their setups this way

we might see 3 or 6 filaments for each unit on future. thats why i set value as int

used 10 as default value. its good for 2 multimaterial units ( 8 filaments ) and 1 external filament

min value is 8.  might be good when no external filaments in use

max value is 99. UI works same as 2.3.1 version

<img width="562" height="122" alt="Screenshot-20260215194149" src="https://github.com/user-attachments/assets/309cec36-8b83-48f3-875f-d5f22a9631e7" />

**BEFORE**
Scrollable area fixed for 10 items. that causes a lot of scrolling whe user has 3 or 4 ams units

<img width="411" height="237" alt="Screenshot-20260215194816" src="https://github.com/user-attachments/assets/fc7823c0-d82a-4d1f-bb5b-56e8dd47abd2" />

**AFTER**
value 10. - 2 multimaterial units ( 8 filaments ) and 1 external filament
<img width="1002" height="250" alt="Screenshot-20260215195243" src="https://github.com/user-attachments/assets/e3238cd1-788e-4ed2-b048-89c63bd323db" />

value 18  - 4 multimaterial units ( 16 filaments ) and 1 external filament
<img width="1001" height="355" alt="Screenshot-20260215195127" src="https://github.com/user-attachments/assets/afe0305e-fcb4-4a51-b8dc-e70a063aa391" />

* Fix: Correct range checking for int and float Config Options + QoL changes in tooltips (OrcaSlicer#11915)

* Fix float number not working properly for option min/max (OrcaSlicer#11211)

* ConfigOptionDef: min/max values type are changed from INT to FLOAT.

(cherry picked from commit f277bc8)

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

* Fix Linux build issue

* Fix float comparison due to precision loss

* Fix: Range check added for coInt options; Ranges and defaults added in tooltips

---------

Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: SoftFever <[email protected]>

* Update machine profile for OpenEYE Peacock V2 (OrcaSlicer#12333)

* OpenEYE Peacock V2 machine profile: Add printer_agent key to enable AMS filament synchronization (Klipper/Moonraker)

Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>

* Optimize retraction settings in printer profiles to reduce stringing and improve print quality

Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>

---------

Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>

* Fix preheat regression bugs  (OrcaSlicer#12438)

Fix preheat regression bugs
revert 769fc13

* Fix the issue where `resources/profiles/OrcaFilamentLibrary.json` is not updated accordingly.

---------

Signed-off-by: minicx <[email protected]>
Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>
Co-authored-by: Rodrigo Faselli <[email protected]>
Co-authored-by: Kiss Lorand <[email protected]>
Co-authored-by: SoftFever <[email protected]>
Co-authored-by: minicx <[email protected]>
Co-authored-by: Ioannis Giannakas <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Alexandre Folle de Menezes <[email protected]>
Co-authored-by: yw4z <[email protected]>
Co-authored-by: Valerii Bokhan <[email protected]>
Co-authored-by: Noisyfox <[email protected]>
Co-authored-by: Sezgin AÇIKGÖZ <[email protected]>
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* fix

---------

Co-authored-by: SoftFever <[email protected]>
SoftFever and others added 22 commits February 26, 2026 21:05
…r#12486)

## Summary
- Change default bed temperature type from "By First filament" to "By Highest Temp"
- Move `bed_temperature_formula` option from develop mode to advanced mode for better accessibility
- Relocate UI control from "Basic Information - Advanced" to "Multimaterial Setup" section where it's more relevant for multi-filament printing
Using the highest temperature of all printed filaments is generally safer for bed adhesion than using the first filament's temperature, especially in multi-material prints where different filaments may require different bed temperatures.

<img width="390" height="239" alt="Screenshot 2026-02-26 at 18 44 56" src="https://github.com/user-attachments/assets/0fe9f8c7-062a-4a7a-8ab3-c52df7e74b26" />
* Update 22.js

* fix printer list empty

* switch to vertical scrolling on custom filaments

* Update 23.css

* add stats

* fix uncommon filament types

* fix setup wizerd styling

---------

Co-authored-by: SoftFever <[email protected]>
Fix crash in PA calibration pattern generation

Reset current extruder ID and clear pointers in set_extruders to prevent dangling pointers when extruders are recreated. Also fixed undefined behavior by checking if the vector is empty before taking max_element.

Co-authored-by: SoftFever <[email protected]>
* fix deps cache miss for Mac PR build
…ond minor update) (OrcaSlicer#12453)

* SAVE line 20K+ ~ 16573

* fix syntax errors

---------

Co-authored-by: SoftFever <[email protected]>
Updated new preview options missing
+ Ru improvements (thanks @valerii-bokhan )
…caSlicer#12141)

Enhancement: Enabling base patterns for Organic supports
Might be useful who want to use custom grid line system with textures. or a clean look

### PROBLEM / SCENARIOS
• Custom made textures overlapping with grid system. so it might be confusing for user if want to use specific markings
• User may found its a distracting item and wants a clean look

### SOLUTION
added to view menu
<img width="477" height="434" alt="Screenshot-20251230192707" src="https://github.com/user-attachments/assets/e298d9b2-5f8f-4e33-af22-ea7c84c9b5b8" />

added to canvas menu
<img width="278" height="297" alt="Screenshot-20251230192717" src="https://github.com/user-attachments/assets/a9952408-a361-4e64-ad9a-72e2480c74cf" />

Clean look without gridlines
<img width="1669" height="1157" alt="Screenshot-20250827144140" src="https://github.com/user-attachments/assets/9229f330-9543-4d39-a8fc-01deb9b61336" />

<img width="1669" height="1157" alt="Screenshot-20250827144212" src="https://github.com/user-attachments/assets/ab3848fb-74d7-4618-8bc7-0cdff10a3804" />


Few Examples with custom made textures / markings without gridlines
<img width="1669" height="1157" alt="Screenshot-20250827140008" src="https://github.com/user-attachments/assets/5d7b17ab-e97a-489c-9e4d-99157a37b6b7" />

<img width="1669" height="1157" alt="Screenshot-20250827141904" src="https://github.com/user-attachments/assets/a7e0f360-a85a-489d-9bc2-39286984643a" />
… setting

Draft Shield: Convert from coEnum (DraftShield enum with dropdown) to
coBool (auto-rendered checkbox). Update all references in Print.cpp,
GCode.cpp, ConfigManipulation.cpp, PrintConfig. Add legacy handler to
convert old string values ("disabled"/"enabled"/"limited") to bool.
Update 649 profile JSONs from "disabled" to "0".

Additional Base Layers: New Int setting (0-3, default 0) that adds
extra foundation layers at the bottom of support/raft structures on
the build plate. For raft (raft_layers > 1), adds to base_raft_layers
count in Slicing.cpp. For non-raft support (raft_layers = 0), creates
new base layers in SupportCommon.cpp. Extra layers use
raft_first_layer_density but no horizontal expansion. Toolpath
generation extended in both SupportCommon.cpp and TreeSupport.cpp.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@github-actions
Copy link

❌ Profile Validation Errors

System Profile Validation Failed

[2026-02-28 21:00:24.485253] [0x00007faf548b3780] [trace]   Initializing StaticPrintConfigs
[2026-02-28 21:00:24.562049] [0x00007faf548b3780] [error]   load_from_json: parse /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json got a generic exception, reason = Invalid value provided for parameter draft_shield: 0
[2026-02-28 21:00:24.562078] [0x00007faf548b3780] [error]   operator(): load config file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json Failed!
[2026-02-28 21:00:24.562086] [0x00007faf548b3780] [error]   load_vendor_configs_from_json, got error when parse process setting from /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
[2026-02-28 21:00:24.562312] [0x00007faf548b3780] [error]   Failed loading configuration file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
Suggest cleaning the directory /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles firstly
Validation failed

Custom Preset Validation Failed

[2026-02-28 21:00:25.617891] [0x00007fb2b7ad5780] [trace]   Initializing StaticPrintConfigs
[2026-02-28 21:00:25.692025] [0x00007fb2b7ad5780] [error]   load_from_json: parse /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json got a generic exception, reason = Invalid value provided for parameter draft_shield: 0
[2026-02-28 21:00:25.692057] [0x00007fb2b7ad5780] [error]   operator(): load config file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json Failed!
[2026-02-28 21:00:25.692063] [0x00007fb2b7ad5780] [error]   load_vendor_configs_from_json, got error when parse process setting from /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
[2026-02-28 21:00:25.692257] [0x00007fb2b7ad5780] [error]   Failed loading configuration file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
Suggest cleaning the directory /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles firstly
Validation failed

Please fix the above errors and push a new commit.

@github-actions
Copy link

github-actions bot commented Feb 28, 2026

Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
1 suites ±0   0 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 2cba8a2. ± Comparison against base commit dfbdcad.

♻️ This comment has been updated with latest results.

The additional base layers were using the original unexpanded support
column footprint. They should match the first layer's expanded
footprint (from raft_first_layer_expansion) to form a proper
foundation.

- Raft case: additional base layers now use the expanded first-layer
  polygons instead of the narrower base polygons
- Non-raft case: use columns_base->polygons after expansion instead
  of saving pre-expansion columns_original

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@github-actions
Copy link

github-actions bot commented Mar 1, 2026

❌ Profile Validation Errors

System Profile Validation Failed

[2026-03-01 00:50:48.297114] [0x00007fa7eaeef780] [trace]   Initializing StaticPrintConfigs
[2026-03-01 00:50:48.371736] [0x00007fa7eaeef780] [error]   load_from_json: parse /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json got a generic exception, reason = Invalid value provided for parameter draft_shield: 0
[2026-03-01 00:50:48.371763] [0x00007fa7eaeef780] [error]   operator(): load config file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json Failed!
[2026-03-01 00:50:48.371769] [0x00007fa7eaeef780] [error]   load_vendor_configs_from_json, got error when parse process setting from /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
[2026-03-01 00:50:48.371970] [0x00007fa7eaeef780] [error]   Failed loading configuration file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
Suggest cleaning the directory /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles firstly
Validation failed

Custom Preset Validation Failed

[2026-03-01 00:50:49.605597] [0x00007f202850d780] [trace]   Initializing StaticPrintConfigs
[2026-03-01 00:50:49.676248] [0x00007f202850d780] [error]   load_from_json: parse /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json got a generic exception, reason = Invalid value provided for parameter draft_shield: 0
[2026-03-01 00:50:49.676274] [0x00007f202850d780] [error]   operator(): load config file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json Failed!
[2026-03-01 00:50:49.676286] [0x00007f202850d780] [error]   load_vendor_configs_from_json, got error when parse process setting from /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
[2026-03-01 00:50:49.676473] [0x00007f202850d780] [error]   Failed loading configuration file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
Suggest cleaning the directory /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles firstly
Validation failed

Please fix the above errors and push a new commit.

Add Catch2 test suite covering the additional_base_layers feature:
- SlicingParameters math (raft split, base/interface counts)
- Full-pipeline tests with normal support (no-raft, raft=1/3/5)
- Full-pipeline tests with tree support (no-raft, raft=1)
- Behavioral tests verifying extra layers are created
- Diagnostic test for tree support + raft=3 issue

Also update CLAUDE.md with accurate macOS build instructions.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@github-actions
Copy link

github-actions bot commented Mar 1, 2026

❌ Profile Validation Errors

System Profile Validation Failed

[2026-03-01 12:18:51.943086] [0x00007f673651d780] [trace]   Initializing StaticPrintConfigs
[2026-03-01 12:18:52.018293] [0x00007f673651d780] [error]   load_from_json: parse /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json got a generic exception, reason = Invalid value provided for parameter draft_shield: 0
[2026-03-01 12:18:52.018327] [0x00007f673651d780] [error]   operator(): load config file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json Failed!
[2026-03-01 12:18:52.018333] [0x00007f673651d780] [error]   load_vendor_configs_from_json, got error when parse process setting from /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
[2026-03-01 12:18:52.018555] [0x00007f673651d780] [error]   Failed loading configuration file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
Suggest cleaning the directory /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles firstly
Validation failed

Custom Preset Validation Failed

[2026-03-01 12:18:53.227571] [0x00007fecdcad1780] [trace]   Initializing StaticPrintConfigs
[2026-03-01 12:18:53.301885] [0x00007fecdcad1780] [error]   load_from_json: parse /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json got a generic exception, reason = Invalid value provided for parameter draft_shield: 0
[2026-03-01 12:18:53.301920] [0x00007fecdcad1780] [error]   operator(): load config file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json Failed!
[2026-03-01 12:18:53.301926] [0x00007fecdcad1780] [error]   load_vendor_configs_from_json, got error when parse process setting from /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
[2026-03-01 12:18:53.302129] [0x00007fecdcad1780] [error]   Failed loading configuration file /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles/OpenEYE/process/fdm_process_common.json
Suggest cleaning the directory /home/runner/work/OrcaSlicer/OrcaSlicer/resources/profiles firstly
Validation failed

Please fix the above errors and push a new commit.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.


msgid "illegal suffix:"
msgstr "Illegal suffix:"
msgstr ""
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

English capitalization overrides removed without source string update

Low Severity

The English PO file previously corrected "illegal characters:""Illegal characters:" and "illegal suffix:""Illegal suffix:". These overrides were removed (set to empty msgstr), but the corresponding source msgid strings in the POT file were not capitalized. This is inconsistent with the PR's pattern of fixing capitalization at the source level before removing English overrides. English users will now see lowercase text where it was previously capitalized.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.