diff --git a/future-plans.md b/future-plans.md index 2ba5c84..584134a 100644 --- a/future-plans.md +++ b/future-plans.md @@ -103,6 +103,19 @@ With or without a parser chain, `render_field_value()` should gain: When adding a field to a component in the edit dialog, the dropdown becomes unwieldy with many fields. Add a filter/search input to the field selector. +#### Custom field input modes +Fields could support multiple named input modes that accept different notations and +convert to the canonical stored value. Example for resistance: +- `direct` — enter `100k` or `4k7` directly +- `3-digit SMD` — enter `104` (decoded as 10×10⁴ = 100kΩ) +- `4-digit SMD` — enter `1003` (decoded as 100×10³ = 100kΩ) + +The active input mode is selected via a small dropdown next to the field input, with +a keyboard shortcut to cycle through modes quickly. The last used mode per field is +remembered. Input modes are associated with the field definition (or the measurement +dimension), not per-component. Ties in with the measurement/dimension system — +modes are really just different parsers that produce the same canonical value. + #### Keyboard shortcut for adding a field When filling out many fields on a component, repeatedly reaching for the mouse to hit "add field" is slow. Add a configurable keyboard shortcut (e.g. Alt+F) to