diff --git a/future-plans.md b/future-plans.md index 2f03936..6d84e02 100644 --- a/future-plans.md +++ b/future-plans.md @@ -132,11 +132,17 @@ dimension (e.g. `temperature`, `resistance`, `frequency`, `voltage`). The dimens defines the set of valid units and the conversion factors between them (°C, °K, °R, °F for temperature; Ω, kΩ, MΩ for resistance; etc.). +SI prefixes (k, M, µ, n, p, etc.) are not separate units — they are a presentation +layer on top of a unit. `25kΩ` should be parsed as value `25000`, prefix `k`, unit +`Ω`, and stored as `{ value: 25000, unit: "Ω" }` (or in a canonical base unit). +The prefix is re-applied on display based on the magnitude. This keeps comparisons +and conversions clean without treating kΩ and MΩ as distinct unit types. + This would allow: -- Entering values in any compatible unit and storing in a canonical unit internally -- Displaying in the user's preferred unit -- Parametric search with cross-unit comparisons (e.g. `temp_range > 200K` matching - a component with `temp_range = -73°C`) +- Entering values in any compatible unit and SI prefix, storing canonically +- Displaying in the user's preferred unit and auto-selecting an appropriate prefix +- Parametric search with cross-unit and cross-prefix comparisons (e.g. `R < 10k` + matching both `4k7Ω` and `0.001MΩ`) - Catching unit mismatches at entry time ## PDF / files