forked from 1b-agent/opencadstudio-upstream
The bundled `opencad.python` plugin drives OCS through plugin API v7: all 43 canvas entity kinds, the drawing tables, and OCS's own commands run step by step. RustPython stays in the plugin process — the plugin crate is outside the workspace with its own lock file, so the application's own dependencies are unchanged. Reconciled with the plugin command work that landed as #1425, which the branch was written before: - Both added `impl Drop for PluginProcessInteractiveAdapter`, which git merges silently into two impls that do not compile. One body now cancels the command and then drops it from the runner, in that order: a plugin waiting on a step has to be released before the runner forgets the command. - `execute_command` (#1425) and `run_command` (#1423) are both routes from a script to the command line, and only the second was guarded. The SCRIPTCOMMANDS switch and the denylist are shared now, so neither route is the unguarded one. - `run_command` dispatched with plugin dispatch still enabled, so a script naming a plugin command re-entered the plugin that was blocked waiting for it. It sets the suppression flag for the length of the dispatch, as `execute_command` does. The denylist read the command as typed, while the dispatcher resolves aliases: a user-defined `Q` for `QUIT` (ALIASEDIT writes those) walked past it. It resolves the alias first. Also: the active-command comparison ran on every message, a mouse move included, allocating two strings for names that are already `&'static str`; SCRIPTCOMMANDS' own messages go through the translation macros; and `docs/.DS_Store` (now ignored) and an unrelated RTF note about constraint commands are out of the tree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
# Generated by Cargo
|
|
# will have compiled files and executables
|
|
debug
|
|
target
|
|
|
|
# Trunk web build output (wasm/js bundle)
|
|
dist
|
|
|
|
# These are backup files generated by rustfmt
|
|
**/*.rs.bk
|
|
|
|
# MSVC Windows builds of rustc generate these, which store debugging information
|
|
*.pdb
|
|
|
|
# Generated by cargo mutants
|
|
# Contains mutation testing data
|
|
**/mutants.out*/
|
|
|
|
# Flatpak
|
|
flatpak/cargo-sources.json
|
|
flatpak/io.github.HakanSeven12.OpenCadStudio.local.yml
|
|
.flatpak-builder/
|
|
build-dir/
|
|
|
|
# RustRover
|
|
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
#.idea/
|
|
|
|
# Python bytecode
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Claude Code local preview/dev-server config
|
|
.claude/launch.json
|
|
|
|
# Worktrees created for isolated runs
|
|
.claude/worktrees/
|
|
|
|
# Single-instance lock files the app writes next to an open drawing
|
|
*.ocs.lock
|
|
|
|
# macOS Finder metadata
|
|
.DS_Store
|