mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
Opening the slice dialog on an unsliced project runs a preview slice purely
to ask the slicer which AMS slots the chosen plate consumes. Bambu Studio 2.8
writes {if timelapse_inline_photo} into the machine's time_lapse_gcode but
exports no definition for that variable, so the template is unresolvable the
moment it leaves Studio: an older sidecar stops with a placeholder parse error
before producing any slice_info. The preview returned nothing and the caller
fell back to guessing from painted faces, silently. On the H2D project this
was found with, the guess dropped the support material -- a whole slot off a
four-filament plate.
Retry the preview once with just the named template emptied, still on the
file's own settings. Keeping the embedded settings is what keeps the answer
honest: overriding the process preset instead discards the project's support
configuration, which loses that slot and moves used_g by up to 2x. Measured
against the same file: retry reproduces all four slots gram for gram, a
printer+process override returns three.
Only templates that cannot extrude are eligible -- a start or filament-change
template lays a prime line or purges, so emptying one would move the very
grams the preview reports, and returning nothing beats a confident wrong
number. Verified on a working H2D slice that emptying time_lapse_gcode leaves
every used_g/used_m in slice_info identical.
Match on a normalised option name: the slicer reports timelapse_gcode while
the 3MF stores time_lapse_gcode, so a literal comparison finds nothing.
Decide whether a retry applies before logging, so a slice that recovers does
not announce itself at WARNING twenty seconds before it succeeds.
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| mock_ftp_server.py | ||
| test_archive_copy.py | ||
| test_archive_display_stem.py | ||
| test_archive_plate_validation.py | ||
| test_archive_service.py | ||
| test_attach_timelapse_safe_path.py | ||
| test_backup_path.py | ||
| test_bambu_cloud.py | ||
| test_bambu_ftp.py | ||
| test_bambu_mqtt.py | ||
| test_camera_capture_coalescing.py | ||
| test_camera_diagnose.py | ||
| test_camera_fanout.py | ||
| test_camera_profiles.py | ||
| test_camera_rotation.py | ||
| test_camera_tls_proxy.py | ||
| test_email_service.py | ||
| test_external_camera.py | ||
| test_external_camera_capture_coalescing.py | ||
| test_external_spool_change.py | ||
| test_filament_deficit.py | ||
| test_filament_requirements.py | ||
| test_finance_service_billing.py | ||
| test_finance_service_defaults.py | ||
| test_ftp_profiles.py | ||
| test_hms_actions.py | ||
| test_hms_errors.py | ||
| test_homeassistant_list_entities.py | ||
| test_label_renderer.py | ||
| test_layer_timelapse.py | ||
| test_ldap_service.py | ||
| test_log_health.py | ||
| test_long_lived_tokens.py | ||
| test_loop_watchdog.py | ||
| test_makerworld.py | ||
| test_mqtt_smart_plug_subscribe.py | ||
| test_network_utils.py | ||
| test_notification_service.py | ||
| test_notification_write_lock.py | ||
| test_obico_actions.py | ||
| test_orca_cloud.py | ||
| test_p2s_accessory_fans.py | ||
| test_plate_detection.py | ||
| test_plate_thumbnail.py | ||
| test_plug_energy_history.py | ||
| test_preset_resolver.py | ||
| test_print_cost_estimate.py | ||
| test_print_dispatch_context.py | ||
| test_printable_objects_plate.py | ||
| test_printer_diagnostic.py | ||
| test_printer_manager.py | ||
| test_rest_smart_plug.py | ||
| test_slice_dispatch_progress.py | ||
| test_slice_preview.py | ||
| test_slicer_3mf_convert.py | ||
| test_slicer_api.py | ||
| test_slicer_filament_resolver.py | ||
| test_slot_preset_writer.py | ||
| test_smart_plug_manager.py | ||
| test_spool_assignment_notifications.py | ||
| test_spool_tag_matcher.py | ||
| test_spoolman_service.py | ||
| test_spoolman_slot_mapping_fallback.py | ||
| test_spoolman_tracking.py | ||
| test_spoolman_tray_split.py | ||
| test_start_print_busy_guard_2598.py | ||
| test_stl_thumbnail.py | ||
| test_tailscale.py | ||
| test_tasmota.py | ||
| test_total_layers_print_start.py | ||
| test_usage_tracker.py | ||
| test_virtual_printer.py | ||
| test_vp_diagnostic.py | ||
| test_vp_ftp_port_slicing.py | ||