mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-14 00:52:04 +00:00
* Add OrcaCloud sync platform and preset bundle sharing system Introduce OrcaCloud, a cloud sync platform for user presets, alongside a preset bundle system that enables sharing printer/filament/process profiles as local exportable bundles or subscribed cloud bundles. OrcaCloud platform: - Auth to Orca Cloud - Encrypted token storage (file-based or system keychain) - User preset sync with - Profile migration from default/bambu folders on first login - Homepage integration with entrance to cloud.orcaslicer.com Preset bundles: - Local bundle import/export with bundle_structure.json metadata - Subscribed cloud bundles with version-based update checking - Thread-safe concurrent bundle access with read-write mutex - Canonical bundle preset naming (_local/<id>/... and _subscribed/<id>/...) - Bundle presets are read-only; grouped under subheaders in combo boxes - PresetBundleDialog with auto-sync toggle, refresh, update notifications - Hyperlinked bundle names to cloud bundle pages Co-authored-by: Sabriel Koh <sabrielkcr@gmail.com> Co-authored-by: Derrick <derrick992110@gmail.com> Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com> Co-authored-by: Ian Chua <iancrb00@gmail.com> Co-authored-by: Draginraptor <draginraptor@gmail.com> Co-authored-by: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com> Co-authored-by: Ian Bassi <ian.bassi@outlook.com> Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com> Co-authored-by: yw4z <ywsyildiz@gmail.com> Co-authored-by: peterm-m <101202951+peterm-m@users.noreply.github.com> * Fixed an issue on Windows it failed to login Orca Cloud with Google account
49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# CLAUDE.md
|
|
|
|
OrcaSlicer — open-source C++17 3D slicer. wxWidgets GUI, CMake build system.
|
|
|
|
## Build Commands
|
|
|
|
```bash
|
|
# macOS
|
|
cmake --build build/arm64 --config RelWithDebInfo --target all --
|
|
|
|
# Linux
|
|
cmake --build build --config RelWithDebInfo --target all --
|
|
|
|
# Windows (replace %build_type% with Debug/Release/RelWithDebInfo)
|
|
cmake --build . --config %build_type% --target ALL_BUILD -- -m
|
|
```
|
|
|
|
## Testing
|
|
|
|
Catch2 framework. Tests in `tests/` directory.
|
|
|
|
```bash
|
|
cd build && ctest --output-on-failure # all tests
|
|
ctest --test-dir ./tests/libslic3r # individual suite
|
|
ctest --test-dir ./tests/fff_print
|
|
```
|
|
|
|
## Code Style
|
|
|
|
- C++17, selective C++20. PascalCase classes, snake_case functions/variables
|
|
- `#pragma once` for headers. Smart pointers and RAII preferred
|
|
- Parallelization via TBB — be mindful of shared state
|
|
|
|
## Key Entry Points
|
|
|
|
- App startup: `src/OrcaSlicer.cpp`
|
|
- Slicing pipeline: `src/libslic3r/Print.cpp`
|
|
- All print/printer/material settings: `src/libslic3r/PrintConfig.cpp`
|
|
- GUI: `src/slic3r/GUI/`
|
|
- Core algorithms: `src/libslic3r/` (GCode/, Fill/, Support/, Geometry/, Format/, Arachne/)
|
|
- Printer profiles: `resources/profiles/[manufacturer].json`
|
|
|
|
## Critical Constraints
|
|
|
|
- **Backward compatibility required** for .3mf project files and printer profiles
|
|
- **Cross-platform** — all changes must work on Windows, macOS, and Linux
|
|
- Profile/format changes need version migration handling
|
|
- Dependencies built separately in `deps/build/`, then linked to main app
|