* 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
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.
1. Change default ensure_vertical_shell_thickness value back to ensure_all as suggested by @igiannakas
2. Change default sparse_infill_pattern vaule to ipCrossHatch
* e3v3se: remove jerk settings from processes
Remove jerk settings from Ender3 V3 SE processes to prevent emission of M205 into gcode.
This is due to E3 V3 SE does not use jerk, but has junction deviation
enabled instead. Those two modes are mutually exclusive according to
marlin configuration page:
https://marlinfw.org/docs/configuration/configuration.html#default-acceleration-https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-
Based on M503 output, E3V3SE hase junction deviation enabled:
echo:; Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> J<junc_dev>
echo: M205 B20000.00 S0.00 T0.00 J0.10
"M205" emitted into gcode is useless since setting jerk settings via
"M205 Xn Yn Zn" does not have any effect on the stock V3 SE firmware.
* e3v3se: update machine retraction settings
Set retraction speed to 40 mm/s as recommended by Creality
Source: https://wiki.creality.com/en/ender-series/ender-3-v3-se/quick-start-guide/user-manual
Set retraction acceleration to 500 mm/s2 to prevent extruder clicking on retraction.
* e3v3se: update start gcode
* Set and wait for bed temperature to stabilize prior to homing.
Bed mesh calibration is done with the bed temp set to 60C.
Performing G28 with bed at room temperature will not compensate
for thermal deformation introduced by heated bed if there are any.
* Remove explicit mesh levelling enable (M420).
Creality FW auto enables M420 once homing (G28) is complete:
"M420 S1 Z10.00"