bambuddy/backend/app/data/printer_fields.json
maziggy 2867401116 Add Cloud Profiles template visibility and preset diff view
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
2025-12-08 14:03:38 +00:00

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"
}
]
}