Repository navigation
Conversation
GraphManager was dual-written on import and category changes but no code ever read from it. Drop the module, the GraphQLite download, its release payload requirement, and the now-unused SQLite extension-loading API. The Linux installer removes graphqlite.so left behind by older installs. DW_BUILD_TOOLS pointed at tools/matgen and tools/texgen, which do not exist, so enabling it broke configuration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Digital Workshop is narrowing to library management, CAM, and the sender. Costing (estimates, rate categories, board-foot math), the 2D cut optimizer, and per-material stock sizes are removed along with their panels, menu entries, saved-layout keys, and tests. Existing user data is left alone: databases that already have the costing_records, cut_plans, rate_categories, or stock_sizes tables keep them, but new databases and upgrades no longer create them. Project index rows that pointed at those tables are pruned on the next project sync. .dwproj export no longer writes costs.json or cut_plans.json; archives from earlier releases that contain them still import. The Materials panel keeps the material list, which feeds and speeds still reads; only its stock-size table goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
The six-stage Project Plan (Design & Size, Material & Blank, Choose Tool, Carve Preview, Machine Setup, Review & Run) was built around the guided Direct Carve flow, which was removed in the v0.8.0 CAM rebuild. Remove the project_plan module, its view and adapters, and the run-truth reporting that only fed it. The Project panel now shows the project the way a slicer shows a project file: each design, the CAM setups made from it, the G-code those setups produced, and the runs of that G-code. Designs and setups open in CAM; an Add Design from Library button replaces the plan's next-step card. Stale G-code reads as "Out of date" and interrupted runs as "Interrupted", so the state never depends on color alone. Also remove the guided carve step flow (PrepareCarveFlow and its step guidance), which nothing in the application used. The setup identity in preparation_identity stays: the protected Run package is keyed on it. New setups are named "CAM Setup: <design>"; their stored source key keeps its historical spelling so setups saved by earlier releases resolve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Guided Workshop was the novice front end for the Direct Carve flow and the Project Plan, both of which are gone. What remained was a second layout preset and an experience flag threaded through every workshop intent. Remove View > Experience, the experience router, and the source field on the workshop intents; the WorkshopCommandTarget interface moves into the workshop contract. Layout migration v2 folds the Guided Workshop and Advanced Workbench built-ins into a single Workshop layout, keeps custom layouts byte-for-byte, and maps the active selection across. A G-code stream now always holds the Sender workspace. The responsive layout helpers used for the default dock layout and Home lose their Guided names, and the accessibility architecture test points at the new Project panel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
A project now holds designs, their CAM setups, the G-code those setups produced, the runs of that G-code, and the materials and tools they require. Drop the Stock, CutPlan, Cost, Labor, Consumable, and Zeroing item types, which belonged to costing, the Cut Optimizer, and the Project Plan. Schema v19 removes project index rows of those types once. Project sync also prunes any that reappear, for example from an older client sharing the database. Project warnings call setups "CAM setup". New project folders no longer get heightmaps/ (left over from the removed Direct Carve CAM) or costing/, project.json stops writing a heightmaps list, and storage validation stops requiring those folders. Existing project folders keep them untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Add .planning/WORKSHOP-SCOPE.md: Digital Workshop is library management, CAM, and the sender; projects work like slicer projects (design, CAM setup, G-code, run); and PureCutCNC is used for its toolpath math through the existing stateless JobSpec endpoint, with no web-UI parity requirement. It lists what this change removed, what it kept on purpose, and the decisions still open, and replaces CAM phases 3-6. Mark the superseded parts of CAM-INTEGRATION-DESIGN.md, update STATE, PROJECT, MILESTONES, and ROADMAP, track the new doc in .gitignore like the other milestone-level plans, and rewrite the README feature overview around the three pillars. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Home, Library, Prepare, Preview, Device, and Project, in the order a 3D-printing slicer shows its tabs, plus the rules for entering them and for the two primary actions: - A running job holds the Device tab, as the Sender workspace did. - Generate (the slicer's Slice) stays blocked until the CAM rebuild can produce toolpaths. - Send to Machine (the slicer's Print) needs loaded G-code and an idle machine. Every block carries a plain-language reason for its tooltip. The rules live in the UI-free workshop module and are covered by the isolated suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Replace the free-form docking workspace with the Bambu Studio / OrcaSlicer layout: a top bar of tabs and one fixed page per tab. - Top bar: menu button (File, Edit, View, Tools, Help) and Save on the left; the Home, Library, Prepare, Preview, Device, and Project tabs; the project name with its save state; machine status with Connect or Disconnect; and Generate and Send to Machine on the right, where a slicer puts Slice and Print. Disabled tabs and actions explain why in a tooltip, and the selected tab is underlined as well as filled. - Prepare: a sidebar with Tool & Material, the project contents, and CAM | Properties beside the 3D canvas. - Preview: G-code statistics and listing beside the toolpath and playback. Opening project or external G-code lands here, not in the sender. - Device: the live view with G-code, job progress, and MDI underneath, and status, jog, and safety (with WCS, Tool & Material, Macros, and Machine Settings) on the right. Send to Machine opens loaded G-code here; it never starts the machine. A running job keeps Device open. - Library, Home, and Project get their own pages. - Pages are ImGui dock layouts rebuilt on tab change and locked against undocking; section widths come from the font size, so high UI scales stay readable. Page windows lose their close buttons. Materials, Tool Library, Machine Profiles, Lighting, and the Log Viewer stay floating. - Ctrl+1 to Ctrl+6 switch tabs; View lists them too. - Leaving the Library runs its return path first, so a Library preview never lingers in the project. Prepare, Preview, and Project re-enter the project the way Back to Project did. Removed: layout presets in the UI, group panels, auto-context switching, the Workshop/Sender toggle, and the project context bar, whose project and machine labels move into the top bar. Saved layout presets stay in the config file but are no longer read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Each design, CAM setup, G-code file, and run is one line, like a slicer's object list: icon and name on the left, the state in words on the right (with the warning icon when it needs attention). Clicking or pressing Enter on a row opens it; the selected design offers Open in CAM, and every row has the same actions in a right-click menu. The kind and full status move to the row's tooltip. This lets the list fit in the Prepare sidebar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
Pull request refs look like "12/merge". Passed to make-installer.sh as the version, the slash pointed the .run file at a directory that does not exist, so makeself failed quietly and the upload step found nothing. Replace slashes in the version so pull requests and slash-named branches get a DigitalWorkshop-linux artifact like Windows and macOS do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Narrows Digital Workshop to three pillars: library management, CAM, and sender + machine control. Projects stay, reshaped to work like a slicer project: design → CAM setup → G-code → run. The screen now uses the Bambu Studio / OrcaSlicer layout (stages 7–9), and PR builds now publish a Linux installer (stage 10). The direction is written up in
.planning/WORKSHOP-SCOPE.md.Each stage is its own commit.
1. Remove the GraphQLite graph layer and the dead
DW_BUILD_TOOLSoptionGraphManagerwas written on every import and category change, but nothing ever read from it. Removed the module, the GraphQLite download, its release-payload requirement, and the now-unused SQLite extension-loading API.graphqlite.soleft behind by older installs.DW_BUILD_TOOLSpointed attools/matgenandtools/texgen, which don't exist.2. Remove project costing, the Cut Optimizer, and stock sizes
.clofiles), and per-material stock sizes, plus their menus, saved-layout keys, and tests.costing_records/cut_plans/rate_categories/stock_sizestables. New databases and upgrades don't create them. (Stage 5 removes only the project index rows that pointed at them.).dwprojexport no longer writescosts.json/cut_plans.json. Older archives that contain them still import (new test).3. Replace the Project Plan with a slicer-style contents tree
PrepareCarveFlowand step guidance), which nothing in the app used.preparation_identitystays, because the protected Run package is keyed on it.4. Remove the Guided Workshop experience
ExperienceModefield on every workshop intent.workshop_layout_metrics.h).5. Trim project item types
heightmaps/(left over from the removed Direct Carve CAM) orcosting/. Existing folders are untouched.6. Docs
.planning/WORKSHOP-SCOPE.md: the three-pillar scope, the slicer project model, and PureCutCNC used for toolpath math only through the existing statelessPOST /api/jobJobSpec endpoint (no web-UI parity requirement), plus revised CAM phases 3–7.CAM-INTEGRATION-DESIGN.mdis marked partly superseded. STATE, PROJECT, MILESTONES, ROADMAP, and the README are updated.7. Slicer-style main tab rules
main_tabs.*).8. Lay out the app like a 3D-printing slicer
9. Compact project contents
10. Linux installer on pull request builds
12/merge) tomake-installer.shas the version, so the.runpath pointed into a missing directory and no Linux artifact was uploaded (only a warning). Slashes are now replaced, and PR builds publishDigitalWorkshop-linuxlike Windows and macOS. I downloaded that artifact, installed it into a clean home, and launched it.Not done here (open decisions, listed in the scope doc)
.dwmatMaterials panel and the.vtdbtool database's own material table) should be merged.web/season-countdown/is an unrelated app living in this repo. I left it alone.Verification (local, Linux GCC Release)
main: 1,496 passed / 2 skipped (both need optional external fixtures)..dwprojimport, the main tab rules, and the side-column layout sizing.check_source_sizespasses. Caps were lowered or removed where files shrank or were deleted.-Werrorcoverage build.🤖 Generated with Claude Code
https://claude.ai/code/session_01LvX2RtJkBcWGyvKubz2s5W