This repository documentation describes a Flutter + OpenCascade desktop application for fast, visual, beginner-friendly design of 3D-printable enclosures, component-driven cases, inserts, slots, grips, and accessories.
The product is not a generic CAD clone. It is a semantic, parametric enclosure constructor with a precise B-Rep backend.
AGENTS.mdTASKS.mddocs/00_PROJECT_VISION.mddocs/01_PRODUCT_RULES.mddocs/02_CORE_CONCEPTS.mddocs/03_ARCHITECTURE_OVERVIEW.mddocs/04_GEOMETRY_ENGINE_OCCT.mddocs/26_TESTING_AND_QUALITY.md- Then read the subsystem document related to the task.
AGENTS.md— mandatory rules for Codex/agents.ROADMAP.md— working roadmap with safe implementation chunks and manual poke checklists.TASKS.md— phased implementation plan and task backlog.WORKLOG.md— append-only worklog template.docs/— detailed product, architecture, UX, geometry, and subsystem docs.templates/— reusable templates for worklog entries, tasks, research notes, and feature specs.examples/— example semantic project JSON and component template JSON.
A minimal, visual, Flutter-based enclosure design tool powered by OpenCascade. Users design devices by placing semantic components and features, not by manually editing meshes. The app generates exact B-Rep geometry, then exports STL/STEP/DXF/3MF from the semantic project model.
The editable source of truth is the semantic project model. Generated mesh/STL/DXF files are disposable outputs.
flutter pub get
dart format lib test
flutter analyze
flutter testRun the desktop app locally with:
flutter run -d windowsRun the local worker protocol smoke with:
Get-Content occt_worker\protocol\preview_request.example.json -Raw | dart run occt_worker\bin\occt_worker.dartInspect local worker backend capabilities with:
dart run occt_worker\bin\occt_worker.dart --capabilitiesBuild the native worker stub with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/build_occt_worker_stub.ps1Run the native worker stub smoke with:
dart run tool/native_worker_stub_smoke.dartThis verifies native capabilities, request ID preservation, and the expected
worker.backend.native_not_implemented scaffold response.
Check local Windows OCCT readiness with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/check_occt_windows_readiness.ps1Preview the repo-local vcpkg setup steps with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/bootstrap_vcpkg_windows.ps1 -PlanOnlyBootstrap a repo-local vcpkg checkout in external/vcpkg with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/bootstrap_vcpkg_windows.ps1Restore the OCCT manifest dependency only when a large dependency install is expected:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/bootstrap_vcpkg_windows.ps1 -InstallOpenCascadeManifest restore output is local-only and ignored at
occt_worker/native/vcpkg_installed.
Build the opt-in OCCT native worker after explicit OpenCASCADE_DIR /
CASROOT readiness is true with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/build_occt_worker_occt.ps1When using the repo-local manifest install in
occt_worker/native/vcpkg_installed, build with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/build_occt_worker_occt.ps1 -AllowVcpkgInstallRun the native OCCT rounded enclosure preview smoke with:
dart run tool/native_occt_worker_metrics_smoke.dart --skip-buildThis verifies the built occt_worker_native_occt capabilities and the
deterministic sample bounds, dimensions, surface area, volume, and preview mesh
counts plus first-pass semantic surface ranges. The command name is kept for
compatibility with the previous metrics-only smoke.
If CMake was previously configured before OCCT readiness became true, run the first linked manifest build cleanly with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/build_occt_worker_occt.ps1 -AllowVcpkgInstall -CleanBuild the latest manual Windows bundle with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/build_latest_windows.ps1Build the latest manual Windows bundle wired to the bundled native OCCT worker with:
powershell -NoProfile -ExecutionPolicy Bypass -File tools/build_latest_windows.ps1 -NativeOcctThat form copies the native worker bundle to
releases/latest/windows/occt_worker/native and builds the app with
SHELL_CASE_GEOMETRY_BACKEND=native_occt. In that build, the viewport consumes
the worker's disposable preview mesh for the center body while keeping editing
and selection semantic.
Open the latest local build at:
C:\Users\EriArk\Documents\CaseMaker\releases\latest\windows\shell_case_easy_maker.exe
Keep the whole releases/latest/windows folder together; the .exe needs the adjacent Flutter runtime files and data/ folder.