Skip to content

bugfix: Mixed filament — 3MF persistence, Local-Z settings, dialog panel fixes#401

Merged
LiuLikeQian merged 15 commits into
mainfrom
bugfix_mix_filament
May 29, 2026
Merged

bugfix: Mixed filament — 3MF persistence, Local-Z settings, dialog panel fixes#401
LiuLikeQian merged 15 commits into
mainfrom
bugfix_mix_filament

Conversation

@zhangzhend0ng
Copy link
Copy Markdown
Collaborator

Summary

  • Fix mixed color dialog error/warning panel oversized on first display
  • Fix 3MF persistence for Local-Z project settings (full domain, subdivision, dithering)
  • Stop importing Local-Z process settings with geometry-only 3MF import
  • Refresh print tab after importing Local-Z settings
  • Keep "Apply subdivision to infill" in sync with Subdivide Mix Layer mode
  • Fix inherited plate bed type dirty state
  • i18n: add zh_CN translations for new mixed filament UI strings

Key changes

Module Description
3MF I/O Fix project config allow-list; separate geometry vs project import
Local-Z Add full-domain settings persistence; sync subdivision/infill states
UI Fix MixedFilamentDialog label sizing; hide dependent settings correctly
i18n zh_CN translations for infill subdivision and related UI

ratdoux and others added 13 commits May 28, 2026 10:45
Fixes #125.

Add Local-Z Full Domain and related mixed-filament project settings to the project config and import allow-lists so they survive 3MF save/load and model import.
Fix geometry-only 3MF import so saved Local-Z project settings override the current unsaved state even when importing into a non-empty scene. Mirror the print-tab Local-Z booleans as well so the UI does not drift back to the old preset values.
Default Apply subdivision to infill to off while Subdivide Mix Layer is disabled, auto-enable it when subdivision is enabled, and clear dependent Local-Z child settings when subdivision is disabled so saved project config does not retain stale active child values.
- Reorder Show+Layout before SetLabel so hidden LB_AUTO_WRAP Label
    gets valid width for wrapping, preventing NSTextField from
    reporting overly wide intrinsicContentSize
- Clean up i18n keys: drop colons (Filaments:/Target Color:),
    fix cycle card title Pattern→Filaments
- Sync zh_CN translations
bugfix: mix dialog error/warning panel oversized on first display
After geometry-only 3MF import, reload the print tab when Local-Z settings were imported so the visible Subdivide Mix Layer controls match the project config used for slicing.
File -> Import 3MF should preserve the current project's process parameter state. Stop applying saved Local-Z project/print settings during geometry-only 3MF import; those settings are still loaded when opening a project with config.
feature update the soft version (#389)
…tence

Fix 3MF persistence for Local-Z project settings
i18n: add zh_CN translation for "Apply subdivision to infill"
@github-actions
Copy link
Copy Markdown

Documentation validation failed

🔗 Link Validation Errors

📄 doc/developer-reference\Built-in-placeholders-variables.md:

  • Line 93: home#process-settings - Fragment does not exist
  • Line 93: home#material-settings - Fragment does not exist

📄 doc/developer-reference\How-to-wiki.md:

  • Line 44: home#material-settings - Fragment does not exist
  • Line 45: home#process-settings - Fragment does not exist
  • Line 46: home#prepare - Fragment does not exist
  • Line 47: home#calibrations - Fragment does not exist
  • Line 50: home#process-settings - Fragment does not exist
  • Line 50: home#support-settings - Fragment does not exist
  • Line 50: home#others-settings - Fragment does not exist

📄 doc/Home.md:

  • Line 14: Precise-wall.md - File does not exist
  • Line 17: extrusion-rate-smoothing.md - File does not exist
  • Line 33: adaptive-pressure-advance.md - File does not exist

📄 doc/Tab.cpp:

  • Line 2368: fill-patterns - File does not exist
  • Line 2371: fill-patterns - File does not exist
  • Line 2558: multimaterial_settings_prime_tower#brim-chamfer - Fragment does not exist
  • Line 2559: multimaterial_settings_prime_tower#brim-chamfer-max-width - Fragment does not exist
  • Line 2583: multimaterial_settings_ooze_prevention#delta-temperature - Fragment does not exist

🖼️ Image Validation Errors

📄 doc/developer-reference\How-to-create-profiles.md:

  • Line 142: [Markdown] Alt text "Help menu" ≠ filename "go-to-configuration-folder"
  • Line 144: [Markdown] Alt text "Delete system folder" ≠ filename "profile-delete-system-folder"

…n MixedFilamentDialog

The error/warning labels use LB_AUTO_WRAP, which requires two Layout()
passes on macOS: the first lands the panel's actual width after Show(),
the second re-wraps the label text at the correct width. Without this,
a single Layout can query a stale zero-width from CalcMin and produce
an oversized dialog on first display.
docs: add inline comments explaining double-Layout macOS workaround in MixedFilamentDialog
@github-actions
Copy link
Copy Markdown

Documentation validation failed

🔗 Link Validation Errors

📄 doc/developer-reference\Built-in-placeholders-variables.md:

  • Line 93: home#process-settings - Fragment does not exist
  • Line 93: home#material-settings - Fragment does not exist

📄 doc/developer-reference\How-to-wiki.md:

  • Line 44: home#material-settings - Fragment does not exist
  • Line 45: home#process-settings - Fragment does not exist
  • Line 46: home#prepare - Fragment does not exist
  • Line 47: home#calibrations - Fragment does not exist
  • Line 50: home#process-settings - Fragment does not exist
  • Line 50: home#support-settings - Fragment does not exist
  • Line 50: home#others-settings - Fragment does not exist

📄 doc/Home.md:

  • Line 14: Precise-wall.md - File does not exist
  • Line 17: extrusion-rate-smoothing.md - File does not exist
  • Line 33: adaptive-pressure-advance.md - File does not exist

📄 doc/Tab.cpp:

  • Line 2368: fill-patterns - File does not exist
  • Line 2371: fill-patterns - File does not exist
  • Line 2558: multimaterial_settings_prime_tower#brim-chamfer - Fragment does not exist
  • Line 2559: multimaterial_settings_prime_tower#brim-chamfer-max-width - Fragment does not exist
  • Line 2583: multimaterial_settings_ooze_prevention#delta-temperature - Fragment does not exist

🖼️ Image Validation Errors

📄 doc/developer-reference\How-to-create-profiles.md:

  • Line 142: [Markdown] Alt text "Help menu" ≠ filename "go-to-configuration-folder"
  • Line 144: [Markdown] Alt text "Delete system folder" ≠ filename "profile-delete-system-folder"

@LiuLikeQian LiuLikeQian merged commit 6742109 into main May 29, 2026
1 of 2 checks passed
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.

4 participants