mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
Cloud Profiles (ProfilesPage.tsx):
- Add template visibility control (showInModal flag)
- Eye/EyeOff toggle in templates modal to show/hide templates
- Only templates with showInModal=true appear in preset modals
- Default new templates to showInModal=true in save dialog
- Add preset diff/compare view with two modes:
- Compare button in edit modal (preset vs base)
- Compare mode on main page (two-preset comparison)
- Side-by-side diff with added/removed/changed highlighting
- Stats showing added/removed/changed/same counts
- Search filter and Changes/All toggle
- Type restriction (only compare same preset types)
- Fix array value display (show "value" instead of ["value"])
- Fix printer preset G-code display (format escaped \n as real newlines)
- Fix modal overflow issues with proper flex patterns
- Fix light theme colors for compare selection text
574 lines
15 KiB
JSON
574 lines
15 KiB
JSON
{
|
|
"version": "1.0.0",
|
|
"description": "Printer/machine preset field definitions for Bambu Lab printers",
|
|
"fields": [
|
|
{
|
|
"key": "printer_model",
|
|
"label": "Printer Model",
|
|
"type": "text",
|
|
"category": "basic",
|
|
"description": "Printer model identifier"
|
|
},
|
|
{
|
|
"key": "printer_variant",
|
|
"label": "Printer Variant",
|
|
"type": "text",
|
|
"category": "basic",
|
|
"description": "Nozzle variant (e.g., 0.4 nozzle)"
|
|
},
|
|
{
|
|
"key": "printer_notes",
|
|
"label": "Printer Notes",
|
|
"type": "text",
|
|
"category": "basic",
|
|
"description": "Notes about this printer profile"
|
|
},
|
|
{
|
|
"key": "printable_area",
|
|
"label": "Printable Area",
|
|
"type": "text",
|
|
"category": "dimensions",
|
|
"description": "Bed shape coordinates"
|
|
},
|
|
{
|
|
"key": "printable_height",
|
|
"label": "Printable Height",
|
|
"type": "number",
|
|
"category": "dimensions",
|
|
"description": "Maximum print height",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "bed_exclude_area",
|
|
"label": "Bed Exclude Area",
|
|
"type": "text",
|
|
"category": "dimensions",
|
|
"description": "Coordinates of excluded bed areas"
|
|
},
|
|
{
|
|
"key": "nozzle_diameter",
|
|
"label": "Nozzle Diameter",
|
|
"type": "number",
|
|
"category": "extruder",
|
|
"description": "Diameter of the nozzle",
|
|
"unit": "mm",
|
|
"step": 0.1,
|
|
"min": 0.1,
|
|
"max": 1.2
|
|
},
|
|
{
|
|
"key": "nozzle_type",
|
|
"label": "Nozzle Type",
|
|
"type": "select",
|
|
"category": "extruder",
|
|
"description": "Type of nozzle installed",
|
|
"options": [
|
|
{"value": "brass", "label": "Brass"},
|
|
{"value": "stainless_steel", "label": "Stainless Steel"},
|
|
{"value": "hardened_steel", "label": "Hardened Steel"}
|
|
]
|
|
},
|
|
{
|
|
"key": "nozzle_hrc",
|
|
"label": "Nozzle HRC",
|
|
"type": "number",
|
|
"category": "extruder",
|
|
"description": "Hardness rating of nozzle"
|
|
},
|
|
{
|
|
"key": "nozzle_volume",
|
|
"label": "Nozzle Volume",
|
|
"type": "number",
|
|
"category": "extruder",
|
|
"description": "Melt zone volume",
|
|
"unit": "mm³"
|
|
},
|
|
{
|
|
"key": "extruder_type",
|
|
"label": "Extruder Type",
|
|
"type": "select",
|
|
"category": "extruder",
|
|
"description": "Type of extruder",
|
|
"options": [
|
|
{"value": "DirectDrive", "label": "Direct Drive"},
|
|
{"value": "Bowden", "label": "Bowden"}
|
|
]
|
|
},
|
|
{
|
|
"key": "retraction_length",
|
|
"label": "Retraction Length",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Default retraction length",
|
|
"unit": "mm",
|
|
"step": 0.1,
|
|
"min": 0,
|
|
"max": 10
|
|
},
|
|
{
|
|
"key": "retraction_speed",
|
|
"label": "Retraction Speed",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Speed for retraction",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "deretraction_speed",
|
|
"label": "Deretraction Speed",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Speed for deretraction",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "retract_before_wipe",
|
|
"label": "Retract Before Wipe",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Percentage to retract before wipe",
|
|
"unit": "%"
|
|
},
|
|
{
|
|
"key": "retract_when_changing_layer",
|
|
"label": "Retract on Layer Change",
|
|
"type": "boolean",
|
|
"category": "retraction",
|
|
"description": "Retract when changing layers"
|
|
},
|
|
{
|
|
"key": "wipe",
|
|
"label": "Enable Wipe",
|
|
"type": "boolean",
|
|
"category": "retraction",
|
|
"description": "Enable wipe during retraction"
|
|
},
|
|
{
|
|
"key": "wipe_distance",
|
|
"label": "Wipe Distance",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Distance to wipe",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "z_hop",
|
|
"label": "Z Hop Height",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Height to lift during travel",
|
|
"unit": "mm",
|
|
"step": 0.1,
|
|
"min": 0,
|
|
"max": 2
|
|
},
|
|
{
|
|
"key": "z_hop_types",
|
|
"label": "Z Hop Type",
|
|
"type": "select",
|
|
"category": "retraction",
|
|
"description": "Type of Z hop motion",
|
|
"options": [
|
|
{"value": "Normal Lift", "label": "Normal Lift"},
|
|
{"value": "Slope Lift", "label": "Slope Lift"},
|
|
{"value": "Spiral Lift", "label": "Spiral Lift"}
|
|
]
|
|
},
|
|
{
|
|
"key": "retraction_minimum_travel",
|
|
"label": "Min Travel for Retraction",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Minimum travel to trigger retraction",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "retract_lift_above",
|
|
"label": "Retract Lift Above",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Only lift Z above this height",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "retract_lift_below",
|
|
"label": "Retract Lift Below",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Only lift Z below this height",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "machine_max_speed_x",
|
|
"label": "Max Speed X",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum X axis speed",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_speed_y",
|
|
"label": "Max Speed Y",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum Y axis speed",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_speed_z",
|
|
"label": "Max Speed Z",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum Z axis speed",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_speed_e",
|
|
"label": "Max Speed E",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum extruder speed",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_x",
|
|
"label": "Max Acceleration X",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum X axis acceleration",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_y",
|
|
"label": "Max Acceleration Y",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum Y axis acceleration",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_z",
|
|
"label": "Max Acceleration Z",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum Z axis acceleration",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_e",
|
|
"label": "Max Acceleration E",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum extruder acceleration",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_extruding",
|
|
"label": "Max Print Acceleration",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum acceleration while printing",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_retracting",
|
|
"label": "Max Retract Acceleration",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum acceleration during retraction",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_acceleration_travel",
|
|
"label": "Max Travel Acceleration",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum acceleration during travel",
|
|
"unit": "mm/s²"
|
|
},
|
|
{
|
|
"key": "machine_max_jerk_x",
|
|
"label": "Max Jerk X",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum X axis jerk",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_jerk_y",
|
|
"label": "Max Jerk Y",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum Y axis jerk",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_jerk_z",
|
|
"label": "Max Jerk Z",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum Z axis jerk",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_max_jerk_e",
|
|
"label": "Max Jerk E",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Maximum extruder jerk",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_min_extruding_rate",
|
|
"label": "Min Extruding Rate",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Minimum extrusion flow rate",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_min_travel_rate",
|
|
"label": "Min Travel Rate",
|
|
"type": "number",
|
|
"category": "limits",
|
|
"description": "Minimum travel speed",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "machine_start_gcode",
|
|
"label": "Start G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code executed at print start"
|
|
},
|
|
{
|
|
"key": "machine_end_gcode",
|
|
"label": "End G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code executed at print end"
|
|
},
|
|
{
|
|
"key": "before_layer_change_gcode",
|
|
"label": "Before Layer Change G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code before each layer change"
|
|
},
|
|
{
|
|
"key": "layer_change_gcode",
|
|
"label": "Layer Change G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code after each layer change"
|
|
},
|
|
{
|
|
"key": "change_filament_gcode",
|
|
"label": "Filament Change G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code for filament changes"
|
|
},
|
|
{
|
|
"key": "machine_pause_gcode",
|
|
"label": "Pause G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code for pause command"
|
|
},
|
|
{
|
|
"key": "template_custom_gcode",
|
|
"label": "Template Custom G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "Custom G-code template"
|
|
},
|
|
{
|
|
"key": "gcode_flavor",
|
|
"label": "G-code Flavor",
|
|
"type": "select",
|
|
"category": "gcode",
|
|
"description": "G-code dialect",
|
|
"options": [
|
|
{"value": "marlin", "label": "Marlin"},
|
|
{"value": "marlin2", "label": "Marlin 2"},
|
|
{"value": "reprap", "label": "RepRap"},
|
|
{"value": "klipper", "label": "Klipper"},
|
|
{"value": "smoothie", "label": "Smoothieware"}
|
|
]
|
|
},
|
|
{
|
|
"key": "thumbnails",
|
|
"label": "Thumbnail Sizes",
|
|
"type": "text",
|
|
"category": "output",
|
|
"description": "Sizes for embedded thumbnails"
|
|
},
|
|
{
|
|
"key": "thumbnails_format",
|
|
"label": "Thumbnail Format",
|
|
"type": "select",
|
|
"category": "output",
|
|
"description": "Format for thumbnails",
|
|
"options": [
|
|
{"value": "PNG", "label": "PNG"},
|
|
{"value": "JPG", "label": "JPG"},
|
|
{"value": "QOI", "label": "QOI"}
|
|
]
|
|
},
|
|
{
|
|
"key": "use_relative_e_distances",
|
|
"label": "Use Relative E Distances",
|
|
"type": "boolean",
|
|
"category": "output",
|
|
"description": "Use relative extrusion"
|
|
},
|
|
{
|
|
"key": "use_firmware_retraction",
|
|
"label": "Use Firmware Retraction",
|
|
"type": "boolean",
|
|
"category": "output",
|
|
"description": "Use G10/G11 for retraction"
|
|
},
|
|
{
|
|
"key": "silent_mode",
|
|
"label": "Silent Mode",
|
|
"type": "boolean",
|
|
"category": "output",
|
|
"description": "Enable silent mode profile"
|
|
},
|
|
{
|
|
"key": "fan_kickstart",
|
|
"label": "Fan Kickstart",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Time to kickstart fan",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"key": "auxiliary_fan",
|
|
"label": "Auxiliary Fan",
|
|
"type": "boolean",
|
|
"category": "cooling",
|
|
"description": "Printer has auxiliary fan"
|
|
},
|
|
{
|
|
"key": "support_air_filtration",
|
|
"label": "Support Air Filtration",
|
|
"type": "boolean",
|
|
"category": "features",
|
|
"description": "Printer has air filtration"
|
|
},
|
|
{
|
|
"key": "support_chamber_temp_control",
|
|
"label": "Support Chamber Temp Control",
|
|
"type": "boolean",
|
|
"category": "features",
|
|
"description": "Printer has chamber heating"
|
|
},
|
|
{
|
|
"key": "support_multi_bed_types",
|
|
"label": "Support Multiple Bed Types",
|
|
"type": "boolean",
|
|
"category": "features",
|
|
"description": "Printer supports multiple bed plates"
|
|
},
|
|
{
|
|
"key": "upward_compatible_machine",
|
|
"label": "Upward Compatible Machines",
|
|
"type": "text",
|
|
"category": "compatibility",
|
|
"description": "List of compatible machine models"
|
|
},
|
|
{
|
|
"key": "single_extruder_multi_material",
|
|
"label": "Single Extruder Multi-Material",
|
|
"type": "boolean",
|
|
"category": "multimaterial",
|
|
"description": "Single extruder with MMU/AMS"
|
|
},
|
|
{
|
|
"key": "cooling_tube_length",
|
|
"label": "Cooling Tube Length",
|
|
"type": "number",
|
|
"category": "multimaterial",
|
|
"description": "Length of cooling tube",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "cooling_tube_retraction",
|
|
"label": "Cooling Tube Retraction",
|
|
"type": "number",
|
|
"category": "multimaterial",
|
|
"description": "Retraction into cooling tube",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "extra_loading_move",
|
|
"label": "Extra Loading Move",
|
|
"type": "number",
|
|
"category": "multimaterial",
|
|
"description": "Extra move after loading",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "high_current_on_filament_swap",
|
|
"label": "High Current on Swap",
|
|
"type": "boolean",
|
|
"category": "multimaterial",
|
|
"description": "Use high current during swap"
|
|
},
|
|
{
|
|
"key": "parking_pos_retraction",
|
|
"label": "Parking Position Retraction",
|
|
"type": "number",
|
|
"category": "multimaterial",
|
|
"description": "Retraction for parking",
|
|
"unit": "mm"
|
|
},
|
|
{
|
|
"key": "bed_custom_model",
|
|
"label": "Custom Bed Model",
|
|
"type": "text",
|
|
"category": "dimensions",
|
|
"description": "Path to custom bed STL model"
|
|
},
|
|
{
|
|
"key": "bed_custom_texture",
|
|
"label": "Custom Bed Texture",
|
|
"type": "text",
|
|
"category": "dimensions",
|
|
"description": "Path to custom bed texture"
|
|
},
|
|
{
|
|
"key": "scan_first_layer",
|
|
"label": "Scan First Layer",
|
|
"type": "boolean",
|
|
"category": "features",
|
|
"description": "Enable first layer scanning"
|
|
},
|
|
{
|
|
"key": "time_cost",
|
|
"label": "Time Cost Factor",
|
|
"type": "number",
|
|
"category": "advanced",
|
|
"description": "Cost per hour of operation"
|
|
},
|
|
{
|
|
"key": "machine_load_filament_time",
|
|
"label": "Filament Load Time",
|
|
"type": "number",
|
|
"category": "multimaterial",
|
|
"description": "Time to load filament",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"key": "machine_unload_filament_time",
|
|
"label": "Filament Unload Time",
|
|
"type": "number",
|
|
"category": "multimaterial",
|
|
"description": "Time to unload filament",
|
|
"unit": "s"
|
|
}
|
|
]
|
|
}
|