forked from 1b-agent/opencadstudio-upstream
fix: review fixes for the merged command-line, plugin and font changes
Direct distance entry (#1429) turned every bare number at a point prompt into a distance, so ROTATE's angle and the values automation types were read as coordinates. The step reads the token first now — `feed_command` reports whether it claimed it — and only an unclaimed one becomes a distance. That also puts the token back on the unified step driver, which owns the P / L selection keywords and the dimension-snap bookkeeping, and stops `on_text_input` running twice for the same token. A tracking ray carries its own base, so it no longer demands an anchor that the first point of a command does not have yet. Plugin command execution (#1425) re-implemented the command line inside the plugin host: it dispatched families directly, skipping the teardown that starts a command (grip edits, selection gestures, `last_point`, the accepted snaps), and made every `CmdResult::Dispatch` in the application skip plugin dispatch to avoid its own re-entrancy. A scripted line now runs through `run_command_line`, with the trailing Enter left off while the plugin streams the command, and the re-entrancy is handled by a flag set for the length of the plugin's call. A pause parks the line's Enter with the rest of its tokens instead of dropping it. A font reference (#1432) tried the family lookup before the face-file index, and that lookup ends in a prefix match a longer file name loses to (`ISOCPEUI.TTF` would take `ISOCP`). The exact file answers first. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
0cbaf18551
commit
fcbab57627
6 files changed
+94
-100
No files matched your search
@@ -623,6 +623,11 @@ pub(super) struct OpenCADStudio {
|
||||
pub constraint_form_annotational: bool,
|
||||
/// The dimensional constraint DIMCONSTRAINT offers by default: the last one used.
|
||||
pub dim_constraint_last: &'static str,
|
||||
/// Set while a plugin drives the command line (`HostApi::execute_command`).
|
||||
/// Dispatching a plugin command from there would call back into the plugin
|
||||
/// that is still blocked waiting for this request, so plugin dispatch is
|
||||
/// skipped for the length of the call.
|
||||
pub(crate) suppress_plugin_dispatch: bool,
|
||||
pub constraint_bar_mode: i16,
|
||||
/// Minutes between autosaves to a `.sv$` recovery file (SAVETIME command);
|
||||
/// 0 disables autosave.
|
||||
@@ -3964,6 +3969,7 @@ impl OpenCADStudio {
|
||||
constraint_bar_display: 3,
|
||||
constraint_form_annotational: false,
|
||||
dim_constraint_last: "Aligned",
|
||||
suppress_plugin_dispatch: false,
|
||||
constraint_bar_mode: 4095,
|
||||
savetime_min: 10,
|
||||
default_bg_color: None,
|
||||
|
||||
Reference in new issue
Block a user