forked from 1b-agent/opencadstudio-upstream
feat(ucs): interactive UCS command — UCS Z 90 typable everywhere (F2, #169)
Bare `UCS` now enters an interactive front-end (UcsCommand) that gathers the option then its value as separate steps, instead of the command line submitting `UCS` alone on the first Space. The front-end delegates execution back to the existing inline `UCS <option> …` handler via a new `CmdResult::Dispatch(String)`, so the coordinate-system math and the save/persist path are untouched. Now `UCS Z 90` works the same from the command line (Space-separated), headless automation, and any source that feeds the active command — closing the input half of #169. Inline `UCS Z 90` (one-shot / paste) still hits the inline handler directly. Second phase of routing input sources through the unified step driver: the interactive command is driven by feed_command like any tool. Adds headless test ucs_interactive_inline_args. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
5fdd212592
commit
36d2f33301
6 files changed
+159
-2
No files matched your search
@@ -135,6 +135,12 @@ pub enum CmdResult {
|
||||
/// End the selection-gather phase and re-dispatch the named command
|
||||
/// with the gathered handles installed as the active scene selection.
|
||||
Relaunch(String, Vec<Handle>),
|
||||
/// End the command and dispatch the given command string. Used by an
|
||||
/// interactive front-end that gathered its arguments step-by-step and
|
||||
/// delegates execution to an existing inline command handler (e.g. UCS
|
||||
/// collecting an option + value, then running `UCS Z 90`). Unlike
|
||||
/// `Relaunch` it does not touch the selection.
|
||||
Dispatch(String),
|
||||
/// Move `dest` entities to the layer of the `src` entity; end command.
|
||||
MatchEntityLayer { dest: Vec<Handle>, src: Handle },
|
||||
/// Copy all visual properties (layer/color/linetype/lineweight) from `src` to `dest`; end command.
|
||||
|
||||
Reference in new issue
Block a user