Skip to content

Rebuild CQ-editor with a Rust GUI and isolated Python worker - #603

Closed
igors93 wants to merge 2 commits into
CadQuery:masterfrom
igors93:master
Closed

igors93 wants to merge 2 commits into
CadQuery:masterfrom
igors93:master

Conversation

@igors93

@igors93 igors93 commented Oct 21, 2026

Copy link
Copy Markdown

Summary

This PR rebuilds the CQ-editor interface in Rust using egui and wgpu. CadQuery scripts run in a separate Python worker that communicates with the GUI through JSON messages.

The rewrite includes the code editor, GPU-based 3D viewer, navigation cube, debugger, object inspector, console, preferences, and model export. Running or crashing scripts no longer take down the interface, and the worker can be restarted.

Documentation and CI have been updated for the new architecture. The regression suite is organized by application area under tests/ and contains 79 Rust tests and 127 Python tests.

Compatibility and migration

  • CadQuery is still required in a Python environment used by the worker.
  • The previous PyQt interface, PyInstaller and conda constructor packaging have been removed.
  • Orthographic and perspective views remain; stereo projection modes have been removed.

Verification

Passed locally on Windows:

  • cargo test — 79 tests
  • cargo fmt --check
  • cargo clippy --all-targets
  • PYTHONPATH=worker python -m pytest tests/worker — 127 tests
  • black --check worker tests/worker

This is a substantial architectural change. Feedback on the direction and scope is welcome.

Replace the PyQt interface with an egui and wgpu application, and run CadQuery scripts in an isolated Python worker.

Rebuild the editor, 3D viewer, debugger and panels; add process recovery, export support, updated documentation and CI. Remove the legacy GUI and packaging.
Move Rust and Python tests into purpose-based directories under tests/. Add coverage for editor state, scene geometry, worker protocol, script isolation, exports, and process recovery.

Update CI and documentation for the new layout. The suite now contains 79 Rust and 127 Python tests.
@igors93 igors93 closed this Oct 21, 2026
@igors93 igors93 reopened this Oct 21, 2026
@igors93
igors93 marked this pull request as ready for review October 21, 2026 15:06
@igors93 igors93 closed this Oct 21, 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