mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 02:41:17 +00:00
526a91d323bee2fa2ffbf48818093c0b7045eb28
13
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
bf20b041e2 |
Make a filament's id depend only on the filament itself
A filament_id is now exactly what the preset's own filament_vendor, filament_type and filament name mint, wherever it inherits from. Inheriting settings no longer limits what a preset may claim, so the checks that policed inheritance are gone, and so are the four grandfather lists that held thousands of presets as permanent exceptions. The snapshot records sanctioned state rather than excuses: one entry per id, carrying the product it names beside the presets claiming it. Profiles that disagreed are corrected instead of excused. The Elegoo TPU and PAHT roots were named for a different product than all of their variants and become TPU 95A and PAHT-CF; Elegoo PET-CF gains the filament_type its variants already set; the Snapmaker breakaway support presets get an id of their own rather than riding the PVA chain; and a BBL preset name carrying a doubled space is fixed behind renamed_from. Their ids re-mint from the corrected identities. The tooling and the design note also drop the word "family", which invited reading a brand's Lite and Pro spools as one id. No change to slicing output — only filament_id values, three preset names, the inherits lines following those renames and the vendor indexes move. |
||
|
|
1a62a25d36 |
Merge branch 'main' into feature/filament_id
Brings in 560 commits (merge base 2026-07-04 .. origin/main
|
||
|
|
6312caaf13 |
Add filament_retract_length_toolchange/filament_retract_restart_extra_toolchange config and update tool changer printer's profiles (#15039)
* update snapmaker profiles. largely ported for Snapmaker Orca fork * update prime volume * set precise_outer_wall to 1 * Update per-material multi-tool ramming to the filament library * Add per-filament overrides for toolchange retraction * Set toolchange retraction per filament for Snapmaker U1 * set default support type to tree * format snapmaker profiles |
||
|
|
acd5dd0794 |
v3.1: OrcaFilamentLibrary re-mint under the product-triple rule
Phase v3.1 of filament_id_plan_v3.md: every OFL-declared filament_id
re-derives from its product triple; the succession ledger absorbs the old
ids. Config-equivalence verified: flattened effective configs differ ONLY
in filament_id (284 consistent old->new changes tree-wide, including every
vendor preset that rides an OFL family), zero config/compatible_printers/
setting_id drift.
Structural pre-step (id-value-neutral, verified): OFL generic family ids
move from the shared fdm_filament_* template bases onto the product-named
"Generic X @System" presets, so the v3 triple's family component is the
product name, not an internal file name (12 relocations; 2 dead duplicate
declarations on fdm_filament_pa/pet pruned; every consumer chain itemized
first - the +12 instantiated_with_id entries are this deliberate pattern,
matching the 11 generics that already declared on @System).
fdm_filament_pc keeps its declaration this phase: 7 Prusa presets (Prusa
Generic PC, Prusament PC Blend) inherit it directly and re-home in the
v3.2 Prusa worksheet; its transitional id is documented in the plan.
Re-mint: 301 declarations re-derived (e.g. Generic PLA OGFL99 ->
OFDSrzZ8 = mint("filament_product/Generic/PLA/Generic PLA")). Snapshot:
1477 ids (+300/-292). Ledger:
- 230 shipped ids retired with mode-rule successors (OGF* library ids,
OFLSBS99, DREMC/FILAR/AliZ/eSUN/... legacy strings). DREMC010 had been
shared by a PPA-CF and a TPU family - a data bug this split resolves;
its successor follows its only shipped claim (DREMC PPA-CF).
- 25 GF-shaped ids OFL had copied from the Bambu catalog (GFOT00x
Overture, GFSEP0xx) are RELEASED to the BBL island space with hints at
the re-minted families - never retired, so a future legitimate BBL
catalog addition is never blocked; plus an explicit GFOT001 ->
OFxA1p01 hint (Overture PLA Pro, still live in BBL).
- 37 never-shipped v1 branch mints dropped from lineage
(--forget-never-shipped; they exist in no release, no forwarding
needed).
- OGFC99/OGFG99/OGFL96/OGFN99/OGFSNL08 stay live (still declared by
vendor bundles); they retire in v3.2 when those declarers re-mint.
Gates: 106 unit tests OK; --check exit 0; orca_extra_profile_check exit 0;
validator -l 2 / -f tree-wide / -r BBL+Qidi exit 0; Moonraker OFL map
check resolves all 29 aliases against the re-minted presets; flatten
equivalence pre/post as above; snapshot regen idempotent.
|
||
|
|
ab60229311 |
OrcaFilamentLibrary: give every material family its own filament_id
Phase 1 of the filament_id cleanup (filament_id_plan.md section 5): resolve the 16 library-internal ids that covered several different materials at once and were visible on every printer of every vendor (empty compatible_printers = compatible with all). - 7 existing @base roots get their copy-pasted id replaced with a fresh deterministic mint (Elas PLA/ASA copy-pastes of Bambu-mirror ids, eSUN copy-pastes incl. the OGFL06 eSUN PLA-Marble / Fiberon PETG-ESD polymer mismatch). - 30 rootless families (23 Elegoo product lines riding the material-class E*B00 ids, Generic PETG HF / PETG-CF / PP-CF / PP-GF / PE-CF / PLA Matte riding their parent generic's template id, PolyLite Dual PLA) each get a new config-equivalent @base root carrying the minted id, inheriting the family's previous parent; members re-pointed; index entries inserted before the @System entries (loader's filament_id map is built in file order). - Keepers by precedence stay byte-identical: Bambu-catalog mirrors (OGFA00/OGFB01/OGFG00, PolyLite/Overture/Fiberon lines), the OFL generics (OGFG99/OGFL99/OGFP97/OGFP99), and the Elegoo root-owning families. Verified: config-equivalence gate — flattened effective configs of all 5892 instantiated presets are byte-identical to pre-migration except the prescribed filament_id changes; orca_extra_profile_check.py exit 0; assign_filament_ids.py --check exit 0; validator -l 2 exit 0 (66 vendors); extended validator -f -v OrcaFilamentLibrary exit 0 (16 collision ids resolved) and -f -v BBL exit 0 (all 26 BBL-shared ids are same-material mirrors, alias-shadowed on every overlapping BBL printer — no BBL file touched). Snapshot: +37 minted ids, id_overrides +30 (new roots override their template parents by design). |
||
|
|
43a83397d4 | fix: restore presets that were renamed based on errors logged by workflow | ||
|
|
8cb2e4e01e |
profiles: deterministic setting_id from vendor/type/name (#14432)
* profiles: enforce globally-unique, per-vendor-namespaced setting_id Many non-Bambu vendors copied Bambu's generic setting_ids (GFSA04 alone appeared in 1557 files), so setting_id was not globally unique. This namespaces every vendor's ids and reserves Bambu/OrcaFilamentLibrary space. - Reserve "G*" (Bambu) and "O*" (OrcaFilamentLibrary) id spaces. - Assign each other vendor a 2-char prefix (first+last letter, collision resolved) and renumber every instantiated preset to <PREFIX><NNNN>. - Strip setting_id from base profiles (instantiation:false) per Bambu's convention; assign one to instantiated presets that lacked it. - Remove the pre-existing misspelled "settings_id" key (91 files). - filament_id is left untouched (it is a per-material id). - Add one-time migration script scripts/assign_vendor_setting_ids.py with a persisted registry resources/profiles/vendor_prefixes.json. Re-runs freeze existing ids; only new vendors/profiles get new ids. - Bump version in each changed vendor index file. - Extend scripts/orca_extra_profile_check.py with a CI guard: global uniqueness, in-namespace, no base setting_id, no gaps, no settings_id typo. 7425 profile files changed across 61 vendors; 0 cross-vendor collisions; validator clean; migration idempotent. BBL and OrcaFilamentLibrary id spaces untouched. * profiles: add setting_id authoring guide for new vendors / profiles * profiles: drop in-repo README; setting_id guide now lives in the wiki * profiles: derive setting_id deterministically from vendor/type/name * bump profile version |
||
|
|
3be36bdea4 |
Fix Elegoo CC2 layer stats G-code and missing Giga preset renamed_from (#14136)
* Sync Elegoo profiles from ElegooSlicer
Update vendor Elegoo.json, filament/machine/process trees, and OrcaFilamentLibrary
Elegoo entries. Align machine default material names with existing filament preset names.
* feat: expose filament_name for G-code export filename format
Derive from filament_settings_id for the first active extruder and strip the suffix after @, matching ElegooSlicer so filename_format can use {filament_name}.
* chore: reorder Elegoo entries in OrcaFilamentLibrary
Group Elegoo @base profiles and bump library version to 02.03.02.62.
* sync OrcaFilamentLibrary.json with Elegoo filament profiles
* fix: clean up Elegoo process renamed_from for profile validation
Add single renamed_from only where preset names changed from legacy Orca
names; remove duplicate Rapid @System library entries that conflicted with
ECC2 vendor presets.
* fix(profiles): add missing Elegoo renamed_from for profile validation
CI custom-preset tests still inherit legacy Orca preset names that no
longer exist after the Elegoo bundle update. Add renamed_from on process,
Neptune 4 machines, OrcaFilamentLibrary filaments, and Giga profiles so
inherits resolve again, without changing print parameters.
* fix(profiles,elegoo): resolve renamed presets and CC2 SET_PRINT_STATS_INFO G-code
Resolve legacy preset names through renamed_from when validating presets and loading external projects. Add missing renamed_from aliases for Elegoo Giga process and OrcaFilamentLibrary filaments. Combine TOTAL_LAYER and CURRENT_LAYER in one SET_PRINT_STATS_INFO command on Centauri Carbon 2 (ECC2), Centauri (EC), and Centauri Carbon (ECC) 0.4 nozzle profiles.
* chore(profiles): bump Elegoo and OrcaFilamentLibrary profile versions
Refresh installed profile bundles after renamed_from aliases, CC2 SET_PRINT_STATS_INFO G-code, and Preset.cpp renamed preset resolution fixes.
|
||
|
|
5b071d5013 |
Sync Elegoo profiles (#13790)
* Sync Elegoo profiles from ElegooSlicer
Update vendor Elegoo.json, filament/machine/process trees, and OrcaFilamentLibrary
Elegoo entries. Align machine default material names with existing filament preset names.
* feat: expose filament_name for G-code export filename format
Derive from filament_settings_id for the first active extruder and strip the suffix after @, matching ElegooSlicer so filename_format can use {filament_name}.
* chore: reorder Elegoo entries in OrcaFilamentLibrary
Group Elegoo @base profiles and bump library version to 02.03.02.62.
* sync OrcaFilamentLibrary.json with Elegoo filament profiles
* fix: clean up Elegoo process renamed_from for profile validation
Add single renamed_from only where preset names changed from legacy Orca
names; remove duplicate Rapid @System library entries that conflicted with
ECC2 vendor presets.
* fix(profiles): add missing Elegoo renamed_from for profile validation
CI custom-preset tests still inherit legacy Orca preset names that no
longer exist after the Elegoo bundle update. Add renamed_from on process,
Neptune 4 machines, OrcaFilamentLibrary filaments, and Giga profiles so
inherits resolve again, without changing print parameters.
|
||
|
|
16727644bb |
Reduce size by Json Fromatting (#13163)
Reduce the size of current and new JSONs by standardising them with 1 tab indentation instead of 4 spaces. This effectively reduces the size by almost 20 MB. | Current | New | |---|---| | 85.2 Mib | 67 Mib | Used [JQ](https://jqlang.org/) `--tab` to automatically format every current JSON. > [!NOTE] > Some profiles had the arrays on the same line, but those created by Orca were in the standard format (each object below the previous one). In some cases, this increases the number of tabs due to the new lines, but the increase is negligible, and this way both the base profiles and those created by Orca maintain the same style. |
||
|
|
15c1dbfab6 | fix file name (#13184) | ||
|
|
885a01129f |
clean up some Elegoo profiles (#13148)
* clean up some Elegoo profiles |
||
|
+2 |
ea5db3aae8 |
Add Elegoo filament profiles to OrcaFilamentLibrary (#12359)
* 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 <minicx@disroot.org> * Port Pressure Advance visualization to libvgcode architecture Adapt PA visualization (originally in commit |