forked from 1b-agent/opencadstudio-upstream
feat(input): scalar entry via dynamic input
Text-input steps (OFFSET distance, POLYGON sides, radii, counts) were swallowed by the dynamic-input overlay: typed digits landed in the field buffer and Enter committed a point pick, so the value never reached on_text_input (issue #61). Now each text step shows one scalar box whose value routes to on_text_input on commit; non-numeric prompts (names, keywords) keep going to the command line so mixed text like "Bolt12" isn't split. OFFSET reworked: object first, then through-mode by default — the offset follows the cursor at the perpendicular distance to the object. Typing a number locks the magnitude (cursor then only picks the side); a value typed and clicked without Enter is applied before the point pick. The dynamic-input overlay and the command line now show the active step's prompt and hold it until the step completes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
c9c6e45793
commit
4b878b88c4
15 files changed
+405
-70
No files matched your search
@@ -27,6 +27,10 @@ pub(super) enum DynComponent {
|
||||
Distance,
|
||||
/// Angle from the last point, in degrees.
|
||||
Angle,
|
||||
/// A scalar the command reads from the command line (a count, a radius,
|
||||
/// a delta). Typed-only — it has no geometric live value derived from
|
||||
/// the cursor unless the command supplies one via `dyn_live_value`.
|
||||
Scalar,
|
||||
}
|
||||
|
||||
/// A single editable dynamic-input field. `buffer == None` means the box
|
||||
|
||||
Reference in new issue
Block a user