Skip to content

Engine build - #175

Merged
womendoushihaoyin merged 4 commits into
Snapmaker:engine-buildfrom
womendoushihaoyin:engine-build
Mar 6, 2026
Merged

Engine build#175
womendoushihaoyin merged 4 commits into
Snapmaker:engine-buildfrom
womendoushihaoyin:engine-build

Conversation

@womendoushihaoyin

Copy link
Copy Markdown
Collaborator

Description

Screenshots/Recordings/Graphs

Tests

womendoushihaoyin and others added 4 commits March 4, 2026 09:01
Bug Snapmaker#1 (High Priority):
- Fix config option: filament_settings_id → filament_ids
- This was preventing filament ID info from being read correctly

Bug Snapmaker#2 (Medium Priority):
- Add thumbnail data support to StoreParams
- Initialize empty thumbnail vectors for headless mode
- Add include for ThumbnailData.hpp

Bug Snapmaker#3 (Medium Priority):
- Add BBLProject and BBLProfile initialization
- Set to nullptr for headless mode (no project context)
- Add include for ProjectTask.hpp

Bug Snapmaker#4 (Low Priority):
- Add resources directory validation
- Check if resources directory exists
- Validate key subdirectories (profiles/printers)

Bug Snapmaker#5 (Low Priority):
- Add temp file tracking and cleanup
- Cleanup temp files on all error paths
- Cleanup PlateBBoxData objects on error/success

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The code incorrectly called resources_dir() with parentheses, but resources_dir
is a std::string variable, not a function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ading 3MF

When loading 3MF files, obj_inst_map was populated but objects_and_instances
was not, causing the cloud slicing engine to find 0 instances on each plate.

The fix converts obj_inst_map to objects_and_instances during 3MF loading,
matching the data structure used by the cloud slicing engine for plate filtering.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixed segmentation fault during multi-plate slicing in cloud engine:
- Added comment explaining why result_mutex is intentionally not copied
- Added 7 missing fields to operator=:
  - required_nozzle_HRC
  - filament_vitrification_temperature
  - nozzle_hrc, nozzle_type
  - support_traditional_timelapse
  - backtrace_enabled
  - conflict_result

Root cause: std::mutex cannot be copied/moved, and missing fields
caused undefined behavior when results were copied between plates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@womendoushihaoyin
womendoushihaoyin merged commit c4a3f73 into Snapmaker:engine-build Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant