Skip to content

Port libvgcode/improved G-code viewer from PrusaSlicer 2.8.0#10735

Merged
SoftFever merged 38 commits into
OrcaSlicer:mainfrom
as-com:libvgcode
Jan 6, 2026
Merged

Port libvgcode/improved G-code viewer from PrusaSlicer 2.8.0#10735
SoftFever merged 38 commits into
OrcaSlicer:mainfrom
as-com:libvgcode

Conversation

@as-com

@as-com as-com commented Sep 15, 2025

Copy link
Copy Markdown
Contributor

Description

Fixes #6813
Fixes #7782
Fixes #6367

This is a port of libvgcode, OpenGL Core Profile (libvgcode requires OpenGL 3.2+), and probably other stuff I forgot from PrusaSlicer. libvgcode is also known as "Improved G-code Viewer" which was introduced in PrusaSlicer 2.8.0. It significantly improves performance of the G-code preview and allows displaying the actual speed and volumetric flow rate.

TODO

  • Make the sliders work properly again
  • Make view type selection work
  • Fix toggling of feature type visibility
  • Expose actual speed/actual flow view types
  • Fix display of G2/G3 arcs
  • Wire up actual speed graph widgets
  • Fix painter gizmos
  • Fix crash when selecting filament view type on Windows
  • Figure out display color management (Set NSWindow color space to sRGB on macOS #10827)
  • Fix incorrect rendering of small area flow compensation (or any extrusions with varying flow)
  • Localization
  • Testing
  • Code cleanup, performance optimization

Removed functionality

Some functionality is not supported by libvgcode:

  • Toggling visibility of tools
  • Toggling visibility of colors in color print view
  • Support for systems with OpenGL <3.2
  • Bambu's implementation of G2/G3 arcs was replaced with PrusaSlicer's implementation

Screenshots/Recordings/Graphs

OrcaSlicer.libvgcode.10m.2.mp4
Outdated Stuff
Screen.Recording.2025-09-20.at.8.04.06.PM.mp4
image

Tests

  • Normally sliced G-code
  • G-code viewer mode
  • Arc fitting enabled
  • Spiral Z-hops
  • Multi-extruder/multi-color
  • Vase mode
  • Skirt/brim
  • Supports
  • Support transition (whatever this is)
  • Painter gizmos
  • Measurement gizmo
  • Move/rotate/scale gizmos
  • H2D/H2S support (oh no)
  • Windows
  • macOS
  • Linux

@as-com

as-com commented Sep 16, 2025

Copy link
Copy Markdown
Contributor Author

Actual speed works!
image

@RF47

RF47 commented Sep 16, 2025

Copy link
Copy Markdown
Collaborator

Actual speed works!

Wow, impressive work!

@as-com as-com force-pushed the libvgcode branch 3 times, most recently from 761b0b3 to 8d7b046 Compare September 21, 2025 04:50
@as-com as-com marked this pull request as ready for review September 21, 2025 05:03
Comment thread src/CMakeLists.txt

This comment was marked as outdated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Perhaps it is something related to my fork. I recently upgraded to CMake 4.1, and I must have something configured incorrectly.

@RF47

RF47 commented Sep 21, 2025

Copy link
Copy Markdown
Collaborator

The leap in performance is very noticeable.
For some reason, I notice that the colours are more saturated.
image

@as-com

as-com commented Sep 21, 2025

Copy link
Copy Markdown
Contributor Author

For some reason, I notice that the colours are more saturated.

Yep, libvgcode's shading is different compared to the old renderer. Not sure how easy it is to adjust it to more closely match the old renderer

@RF47

RF47 commented Sep 21, 2025

Copy link
Copy Markdown
Collaborator
image image

@RF47

RF47 commented Sep 21, 2025

Copy link
Copy Markdown
Collaborator

strange low flow spots in vase mode:
image

@as-com

as-com commented Sep 21, 2025

Copy link
Copy Markdown
Contributor Author

Seems PrusaSlicer has these too, based on how it's behaving I'm guessing it might be related to floating point precision
image

@RF47

RF47 commented Sep 21, 2025

Copy link
Copy Markdown
Collaborator

plate grid looks different (left is the original):
image

@RF47

RF47 commented Sep 21, 2025

Copy link
Copy Markdown
Collaborator

In this model, I have a custom G-code at the height of the chimney. With this custom G-code, the colour of the filament is displayed and it does not crash. If I remove the custom G-code, it crashes as if I had selected print colour.
image
The same behaviour when adding a pause prevents the crash.
image

}
m_viewer.set_tool_colors(tools_colors);

// collect color print colors

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

with this change I fix the crash, is similar to prusa slicer

        // collect color print colors
        libvgcode::Palette color_print_colors;
        const std::vector<std::string>& str_colors = str_color_print_colors.empty() ? str_tool_colors : str_color_print_colors;
        color_print_colors.reserve(str_colors.size());
        for (const std::string& color : str_colors) {
            color_print_colors.emplace_back(libvgcode::convert(color));
        }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

image

as-com and others added 12 commits September 24, 2025 22:49
Includes (but is not limited to) the following commits:

SPE-2218 - libvgcode - Fixed color of wipe moves for speed range view
SPE-2218 - libvgcode - Fixed detection of fan speed range
SPE-2218 - libvgcode - Fixed detection of temperature range
SPE-2218 - libvgcode - Fixed colors for Actual volumetric flow rate view
SPE-2214 - Fixed detection of toolpaths bounding box in GCodeViewer
SPE-2206 - Modified LibBGCode.cmake to get latest version of libbgcode which fixed parsing of gcode lines G4
libvgcode - Fixed potential out of bound access in ViewerImpl::update_view_full_range()
Tech ENABLE_GL_CORE_PROFILE set as default
Tech ENABLE_OPENGL_ES replaced by build option SLIC3R_OPENGL_ES
libvgcode - Precompiler definition of ENABLE_OPENGL_ES moved into CMakeLists.txt
Added missing include
libvgcode - Textures setup modified to work when building using emscripten
libvgcode - small optimization
libvgcode - fixed OpenGLWrapper::unload_opengl()
libvgcode - CMakeLists.txt modified to work with emscripten
libvgcode - Replace 'glVertexAttribIPointer()' with 'glVertexAttribPointer()' in SegmentTemplate::init() for OpenGL ES
libvgcode - Replace 'xor' with '^' Bitset.hpp
libvgcode - Newer glad library for OpenGL 4.6 and OpenGL ES 3.0
libvgcode - Alternate fix in method ViewerImpl::update_heights_widths() for OpenGL ES
libvgcode - Fixes in glAssertRecentCallImpl()
libvgcode - Fixes in method ViewerImpl::update_heights_widths() for OpenGL ES
Fixed ES shaders so they work with OpenGL ES 3.0
libvgcode - Use multiple plain textures in place of texture buffers for OpenGL ES
libvgcode - Use plain textures in place of texture buffers for OpenGL ES (partial implementation using one texture per buffer)
libvgcode - refactoring of class OpenGLWrapper
libvgcode - small refactoring in shaders
libvgcode - replacement of glMapBuffer() call for OpenGL ES
Fixed warning
libvgcode - Changes into CMakeLists.txt
Fixed debug export of gcode data to be configuration indipendent
Disabled tech ENABLE_NEW_GCODE_VIEWER_DEBUG
Removed obsolete tech ENABLE_GCODE_VIEWER_DATA_CHECKING
Code cleanup and techs removal - completed
Code cleanup and techs removal - step 1
SPE-1872: Implemented G2/G3 lines discretization for gcfMarlinFirmware firmware flavour
SPE-1872: Corrections into GCodeProcessor::process_G2_G3() to match firmware code
SPE-1872: Actual speed profile - Further enhancements of imgui debug window
SPE-1872: Actual speed profile - Rework in its calculation + enhanced imgui debug window
SPE-1872: New imgui widget to show actual speed profile
SPE-1872: Fixed actual speed for seam moves and at extrusion/travel/wipe start
SPE-1872: Fixed rendering of wipe moves when actual speed view is selected
SPE-1872: Actual speed profile extended to travel and wipe moves
SPE-1872: Fixes in function recalculate_trapezoids() and method GCodeProcessor::TimeMachine::calculate_time() to smooth actual speed profile
SPE-1872: Added debug graphic to show move actual speed profile
SPE-1872: libvgcode library: replace volumetric flow rate data with mm3_per_mm to reduce memory usage
SPE-1872: Added visualization of actual volumetric flow rate
SPE-1872: Fixes in calculating actual speed
SPE-1872: Added visualization of actual speed in gcode preview
SPE-2124: Added command line option 'opengl-aa' to allow the user to turn on the automatic selection of max number of supported samples for OpenGL antialising
OrcaSlicer#12117: Reduced moire patterns by using the highest number of samples available for multisampling
New gcode visualization integration - Partially enabled imgui debug window
New gcode visualization integration - Fixed center of gravity calculation and rendering
New gcode visualization library - Interface for estimated times
New gcode visualization library - Tool marker rendering
New gcode visualization library - Axes aligned bounding boxes calculation
Removed obsolete debug code
New gcode visualization library - Added statistic of used memory
New gcode visualization library - Separation of tool colors and color changes colors to simplify client code
Added missing include
New gcode visualization library - Added print color changes detection
New gcode visualization library - Modified OpenGL ES context detection
New gcode visualization library - Another makefile cleanup
New gcode visualization library - Makefiles cleanup
New gcode visualization library - Added suppression of error 'This function or variable may be unsafe' in VS2022
New gcode visualization library - Compatibility with OpenGL ES
New gcode visualization library - Interface cleanup and documentation
New gcode visualization library - Extended interface to give access to estimated times
New gcode visualization integration - Toggling of top layer only view state
New gcode visualization integration - Removed imperial units from tool position data
Small refactoring
New gcode visualization library - Custom values for travel and wipe moves radius
New gcode visualization library - Allow customization of range colors
New gcode visualization library - Partial update of interface comments/documentation
New gcode visualization integration - Follow-up of 35ee55e29bb231fd01a2eb71ae293832a37ca65d - Better fix for toolpaths visible range when toggling options' visibility
New gcode visualization integration - Fixed toolpaths reset
New gcode visualization library - Fixed method set_option_color()
New gcode visualization library - Fixed method ViewerImpl::set_extrusion_role_color()
New gcode visualization library - Added methods to release gpu resources on demand.
New gcode visualization library - Travel and wipe moves as options
New gcode visualization integration - Fixed toolpaths visible range when toggling options' visibility
New gcode visualization integration - Fixed management of gcode preview view type
New gcode visualization - Fixed wrong include
New gcode visualization - Added missing headers
New gcode visualization - Refactoring + added missing headers
New gcode visualization - New code set as standalone library + embed glad library to load OpenGL functions
New gcode visualization - Fixed errors and warnings when building the new code as a standalone library
New gcode visualization integration - Fixed layers ordering in pre-gcode preview
New gcode visualization integration - Fixed objects' tool colors in pre-gcode preview
Code cleanup
New gcode visualization integration - Tool position properties data window
New gcode visualization integration - Fixed in export toolpaths to obj
New gcode visualization - Inlining in source code
Refactoring
New gcode visualization integration - Export toolpaths to obj
Some refactoring and warning fix
New gcode visualization integration - Customizable travel moves colors
New gcode visualization integration - Customizable options colors
New gcode visualization integration - Customizable extrusion roles colors
New gcode visualization integration - Fixed pre-gcode preview layers times
New gcode visualization integration - Modify pre-gcode preview to use the new toolpaths renderer, objects WIP
New gcode visualization - Modify pre-gcode preview to use the new toolpaths renderer, WIP (brim/skirt/wipe tower)
New gcode visualization integration - Do not reset visible range when toggling options/roles visibility
New gcode visualization - Fixed color of first vertex of top layer (when top layer only option is enabled)
New gcode visualization - Customizable travels and wipes segment radius
New gcode visualization integration - Removed tech ENABLE_GCODE_VIEWER_STATISTICS
New gcode visualization integration - Added check of OpenGL version
New gcode visualization integration - Removed GCodeProcessorResult::spiral_vase_layers
Another bunch of warnings fixes
Fixed warnings
New gcode visualization integration - Removal of old visualization
Fixed includes
New gcode visualization integration - File structure of new code separated in api + src
New gcode visualization integration - View ranges management moved to new visualizer
New gcode visualization integration - Fixed top layer only visualization for MMU printers
New gcode visualization integration - Removed dependency on imgui from new visualizer
Some refactoring
New gcode visualization integration - Removed dependency on Slic3r::GCodeProcessorResult from new visualizer
New gcode visualization integration - Moves' data conversion moved to client side
New gcode visualization: layers times refactoring
A bunch of fixes for the new gcode visualization
New gcode visualization: render in gray color layers containing pause print or custom gcode options when in Color Print view
New gcode visualization integration - Tool colors
New gcode visualization integration - Layers times
New gcode visualization integration - Travels and Extrusion roles times
Fixed detection of start/end of contiguous extrusion paths
New gcode visualization integration - Extrusion roles
New gcode visualization integration - Colors
New gcode visualization integration - Tool position
Center of gravity and tool marker may both be rendered with fixed screen size and a scaling factor
Fixed rendering of options in new gcode visualization
Tool marker NOT rendered by the new visualization code
Center of gravity marker NOT rendered by the new visualization code
Fixed toolpaths_cog shaders
Tool position window for new gcode visualization
Top layer only coloring for neww gcode visualization
Refactoring in preview's new visualization
Hidden imgui debug dialog for new visualization in preview
Synchronization of moves between old and new visualization
Fixed missing gcode window in new visualization
Rendering of debug imgui dialog moved from class libvgcode::Viewer to class libvgcode::Toolpaths + warnings fixing
Some functionality moved from class libvgcode::Viewer to class libvgcode::Toolpaths
Some refactoring and cleanup
Refatoring of PathVertex and Toolpaths::load()
SPE-1982: Tech ENABLE_NEW_GCODE_VIEWER - 1st installment of new toolpaths rendering code (WIP)
@boromyr

boromyr commented Jan 6, 2026

Copy link
Copy Markdown
Contributor

Would it be possible to add the value of the currently displayed feature to the compact view of the current position? It should be in this line

sprintf(buf, "X: %.3f, Y: %.3f, Z: %.3f", vertex.position[0], vertex.position[1], vertex.position[2]);

where the fourth variable would be the flow if I am currently viewing the flow preview, etc.
It is much faster and more convenient than the expanded table, as is currently the case with the stable version of Orca.

@SoftFever

Copy link
Copy Markdown
Collaborator

Would it be possible to add the value of the currently displayed feature to the compact view of the current position? It should be in this line

sprintf(buf, "X: %.3f, Y: %.3f, Z: %.3f", vertex.position[0], vertex.position[1], vertex.position[2]);

where the fourth variable would be the flow if I am currently viewing the flow preview, etc. It is much faster and more convenient than the expanded table, as is currently the case with the stable version of Orca.

will add

@SoftFever

Copy link
Copy Markdown
Collaborator

Tested on Windows.
Everything looks good.
Merging into the main branch for broader testing.
Thank you, @as-com, for your work on this.
And thank you to everyone for fixing, testing, and providing feedback—this community is AWESOME!

@SoftFever SoftFever merged commit ba5f0e7 into OrcaSlicer:main Jan 6, 2026
12 checks passed
@igiannakas

igiannakas commented Jan 6, 2026

Copy link
Copy Markdown
Collaborator

I think the speed visualization in the new image is probably more accurate, as it represents the actual machine speed, accounting for the time it takes to accelerate to the given speed. The tricky part is that this will differ from the speed number in the G-code, which might confuse users.

@SoftFever Yes indeed; however this is not on the actual speed selection, rather the previous "speed" drop down. These should reflect the gcode values, no? I think prusa has a similar bug with this. My "hunch" is it miss-reads some of the gcode lines as where this is happening I see a single extrusion command after the G1 Fx command that sets the new speed.

image
image

Also it only happens on speed up after an overhang, not on slow down. I think that's more of a parsing/visualisation glitch somewhere in the visualiser -> instead of visualising the first G1 XY command following a speed change with the G1 Fx speed it visualises it with a transition line until the next G1 X Y command is issued. This doesn't happen on slow down -> the slow down is visualised exactly as the gcode.

image
image

This bug is evident on straight walls following a bridge as the next line is a single G1XY command vs. a set of smaller G1 XY commands that happen after an overhang.

Edit: PR raised: #11848

@Azio-Pantheon

Copy link
Copy Markdown
Contributor

I think I found a memory leak problem for the Mac build. By sliding the gcode viewer layers up and down, the memory usage just keeps going up and never drops. Even after I go back to prepare, and/or re-slice, the memory stays that high and keeps going up. image

I checked the latest nightly build for orca and there is no issue. Windows version of this pr also works fine. Not sure about linux

edit: I have not worked in dev environment on a mac before. But Im going to try to set it up and see what I can find. Any mac expert is welcomed here XD

@SoftFever Hey, do you mind testing out this bug on your mac? I just downloaded the nightly build and this memory leak is still present on my end. I have submited a pr for the fix to as-com's repo, but a second person verifying this would be great.

To reproduce the bug: Just slice something short and big with 100% infill gyroid pattern. In gcode preview, slide the layers up and down. You will see the memory grows and never drops.

@igiannakas

Copy link
Copy Markdown
Collaborator

Would you mind raising the PR here so we can review and merge?

@as-com

as-com commented Jan 7, 2026

Copy link
Copy Markdown
Contributor Author

Thank you all for helping to push this PR across the finish line! (real life™ got in the way over the past few weeks, unfortunately)

@kisslorand

Copy link
Copy Markdown
Contributor

@SoftFever

do you mind to create a PR for your changes after merging this PR?

Done #11871

Copy link
Copy Markdown
Collaborator

Would it be possible to add the value of the currently displayed feature to the compact view of the current position? It should be in this line

sprintf(buf, "X: %.3f, Y: %.3f, Z: %.3f", vertex.position[0], vertex.position[1], vertex.position[2]);

where the fourth variable would be the flow if I am currently viewing the flow preview, etc. It is much faster and more convenient than the expanded table, as is currently the case with the stable version of Orca.

will add

Done here: #11881

SoftFever commented Jan 8, 2026

Copy link
Copy Markdown
Collaborator

I think I found a memory leak problem for the Mac build. By sliding the gcode viewer layers up and down, the memory usage just keeps going up and never drops. Even after I go back to prepare, and/or re-slice, the memory stays that high and keeps going up. image

I checked the latest nightly build for orca and there is no issue. Windows version of this pr also works fine. Not sure about linux

edit: I have not worked in dev environment on a mac before. But Im going to try to set it up and see what I can find. Any mac expert is welcomed here XD

@SoftFever Hey, do you mind testing out this bug on your mac? I just downloaded the nightly build and this memory leak is still present on my end. I have submited a pr for the fix to as-com's repo, but a second person verifying this would be great.

To reproduce the bug: Just slice something short and big with 100% infill gyroid pattern. In gcode preview, slide the layers up and down. You will see the memory grows and never drops.

Thank you for the detailed info.
Would you mind to raise the PR to main branch as well?
I can take a look and test it

igiannakas added a commit to igiannakas/OrcaSlicer that referenced this pull request Feb 19, 2026
commit 2eadddf
Merge: 69ed783 a5a5cad
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Feb 19 10:41:48 2026 +0000

    Merge branch 'main' into main

commit 69ed783
Merge: 3f3083a 1745e8b
Author: minicx <[email protected]>
Date:   Tue Feb 17 15:24:30 2026 +0300

    Merge branch 'OrcaSlicer:main' into main

commit 3f3083a
Merge: 2fa80cf e3cce33
Author: minicx <[email protected]>
Date:   Mon Feb 16 22:49:32 2026 +0300

    Merge pull request #1 from loss-and-quick/claude/update-pa-visualization-5JA7M

    Rebase to upstream

commit e3cce33
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:36:23 2026 +0000

    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.

commit 4424a57
Merge: 2fa80cf a81537f
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:25:06 2026 +0000

    Merge upstream/main with libvgcode (PR OrcaSlicer#10735)

    Merge upstream OrcaSlicer/OrcaSlicer main branch which includes the
    libvgcode port from PrusaSlicer 2.8.0 (PR OrcaSlicer#10735). Resolve conflicts
    in GCodeProcessor to preserve PA fields, and take upstream version of
    GCodeViewer which is rewritten for libvgcode.

commit 2fa80cf
Merge: e3a7725 22d2fe9
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Dec 18 12:23:02 2025 +0000

    Merge branch 'main' into main

commit e3a7725
Author: minicx <[email protected]>
Date:   Tue Dec 16 22:47:38 2025 +0300

    Add Pressure Advance visualization support

    Signed-off-by: minicx <[email protected]>
valerii-bokhan added a commit to valerii-bokhan/OrcaSlicer that referenced this pull request Feb 19, 2026
commit 2eadddf
Merge: 69ed783 a5a5cad
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Feb 19 10:41:48 2026 +0000

    Merge branch 'main' into main

commit a5a5cad
Author: Rodrigo Faselli <[email protected]>
Date:   Wed Feb 18 18:38:20 2026 -0300

    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

commit 69ed783
Merge: 3f3083a 1745e8b
Author: minicx <[email protected]>
Date:   Tue Feb 17 15:24:30 2026 +0300

    Merge branch 'OrcaSlicer:main' into main

commit 3f3083a
Merge: 2fa80cf e3cce33
Author: minicx <[email protected]>
Date:   Mon Feb 16 22:49:32 2026 +0300

    Merge pull request OrcaSlicer#1 from loss-and-quick/claude/update-pa-visualization-5JA7M

    Rebase to upstream

commit e3cce33
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:36:23 2026 +0000

    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.

commit 4424a57
Merge: 2fa80cf a81537f
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:25:06 2026 +0000

    Merge upstream/main with libvgcode (PR OrcaSlicer#10735)

    Merge upstream OrcaSlicer/OrcaSlicer main branch which includes the
    libvgcode port from PrusaSlicer 2.8.0 (PR OrcaSlicer#10735). Resolve conflicts
    in GCodeProcessor to preserve PA fields, and take upstream version of
    GCodeViewer which is rewritten for libvgcode.

commit 2fa80cf
Merge: e3a7725 22d2fe9
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Dec 18 12:23:02 2025 +0000

    Merge branch 'main' into main

commit e3a7725
Author: minicx <[email protected]>
Date:   Tue Dec 16 22:47:38 2025 +0300

    Add Pressure Advance visualization support

    Signed-off-by: minicx <[email protected]>
valerii-bokhan added a commit to valerii-bokhan/OrcaSlicer that referenced this pull request Feb 19, 2026
commit 2eadddf
Merge: 69ed783 a5a5cad
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Feb 19 10:41:48 2026 +0000

    Merge branch 'main' into main

commit a5a5cad
Author: Rodrigo Faselli <[email protected]>
Date:   Wed Feb 18 18:38:20 2026 -0300

    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

commit 69ed783
Merge: 3f3083a 1745e8b
Author: minicx <[email protected]>
Date:   Tue Feb 17 15:24:30 2026 +0300

    Merge branch 'OrcaSlicer:main' into main

commit 3f3083a
Merge: 2fa80cf e3cce33
Author: minicx <[email protected]>
Date:   Mon Feb 16 22:49:32 2026 +0300

    Merge pull request OrcaSlicer#1 from loss-and-quick/claude/update-pa-visualization-5JA7M

    Rebase to upstream

commit e3cce33
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:36:23 2026 +0000

    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.

commit 4424a57
Merge: 2fa80cf a81537f
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:25:06 2026 +0000

    Merge upstream/main with libvgcode (PR OrcaSlicer#10735)

    Merge upstream OrcaSlicer/OrcaSlicer main branch which includes the
    libvgcode port from PrusaSlicer 2.8.0 (PR OrcaSlicer#10735). Resolve conflicts
    in GCodeProcessor to preserve PA fields, and take upstream version of
    GCodeViewer which is rewritten for libvgcode.

commit 2fa80cf
Merge: e3a7725 22d2fe9
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Dec 18 12:23:02 2025 +0000

    Merge branch 'main' into main

commit e3a7725
Author: minicx <[email protected]>
Date:   Tue Dec 16 22:47:38 2025 +0300

    Add Pressure Advance visualization support

    Signed-off-by: minicx <[email protected]>
valerii-bokhan added a commit to valerii-bokhan/OrcaSlicer that referenced this pull request Feb 19, 2026
commit 2eadddf
Merge: 69ed783 a5a5cad
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Feb 19 10:41:48 2026 +0000

    Merge branch 'main' into main

commit a5a5cad
Author: Rodrigo Faselli <[email protected]>
Date:   Wed Feb 18 18:38:20 2026 -0300

    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

commit 69ed783
Merge: 3f3083a 1745e8b
Author: minicx <[email protected]>
Date:   Tue Feb 17 15:24:30 2026 +0300

    Merge branch 'OrcaSlicer:main' into main

commit 3f3083a
Merge: 2fa80cf e3cce33
Author: minicx <[email protected]>
Date:   Mon Feb 16 22:49:32 2026 +0300

    Merge pull request OrcaSlicer#1 from loss-and-quick/claude/update-pa-visualization-5JA7M

    Rebase to upstream

commit e3cce33
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:36:23 2026 +0000

    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.

commit 4424a57
Merge: 2fa80cf a81537f
Author: Claude <[email protected]>
Date:   Mon Feb 16 19:25:06 2026 +0000

    Merge upstream/main with libvgcode (PR OrcaSlicer#10735)

    Merge upstream OrcaSlicer/OrcaSlicer main branch which includes the
    libvgcode port from PrusaSlicer 2.8.0 (PR OrcaSlicer#10735). Resolve conflicts
    in GCodeProcessor to preserve PA fields, and take upstream version of
    GCodeViewer which is rewritten for libvgcode.

commit 2fa80cf
Merge: e3a7725 22d2fe9
Author: Ioannis Giannakas <[email protected]>
Date:   Thu Dec 18 12:23:02 2025 +0000

    Merge branch 'main' into main

commit e3a7725
Author: minicx <[email protected]>
Date:   Tue Dec 16 22:47:38 2025 +0300

    Add Pressure Advance visualization support

    Signed-off-by: minicx <[email protected]>
igiannakas added a commit that referenced this pull request Feb 21, 2026
* 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 #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]>
@Felix14-v2

Felix14-v2 commented Feb 22, 2026

Copy link
Copy Markdown
Contributor

[ ] Support transition (whatever this is)

That's a Bambu Studio feature (still missing in OrcaSlicer)
image

Support transition is an additional interface layer that prints slower than other interface layers:
image

You might even notice that OrcaSlicer generates that extra layer for the normal support type, which is technically a bug:
{5D44B8E1-DA5E-444E-A576-320E11660A16}

@dewi-ny-je

Copy link
Copy Markdown
Contributor

[ ] Support transition (whatever this is)

That's a Bambu Studio feature (still missing in OrcaSlicer)

You are off topic.
Open a new ticket. This set of changes has been merged and you are not discussing issues with those.

SoftFever pushed a commit to mlugo-apx/OrcaSlicer that referenced this pull request Feb 23, 2026
* 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]>
SoftFever added a commit that referenced this pull request Feb 23, 2026
* 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 (#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 (#12298)

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

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

* tweak legacy library migration from rename to copy in BBLNetworkPlugin

* Add Pressure Advance visualization support (#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 #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 (#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 (#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 (#12409)

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

Fixes #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 (#11915)

* 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 f277bc8)

* Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (#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 (#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  (#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]>
tome9111991 pushed a commit to tome9111991/OrcaSlicer that referenced this pull request Feb 24, 2026
* 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]>
tome9111991 pushed a commit to tome9111991/OrcaSlicer that referenced this pull request Feb 24, 2026
* 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]>
SoftFever pushed a commit that referenced this pull request Mar 1, 2026
* 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 #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]>
SoftFever added a commit that referenced this pull request Mar 1, 2026
* 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 (#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 (#12298)

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

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

* tweak legacy library migration from rename to copy in BBLNetworkPlugin

* Add Pressure Advance visualization support (#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 #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 (#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 (#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 (#12409)

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

Fixes #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 (#11915)

* 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 f277bc8)

* Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (#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 (#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  (#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]>
Xipit pushed a commit to Xipit/OrcaSlicer that referenced this pull request Mar 16, 2026
* 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]>
Xipit pushed a commit to Xipit/OrcaSlicer that referenced this pull request Mar 16, 2026
* 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]>
davidjdixon pushed a commit to davidjdixon/OrcaSlicer that referenced this pull request Mar 21, 2026
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Community testers wanted Looking for community testers and feedback

Projects

None yet