forked from 1b-agent/fieldcraft-upstream
ui: one number or one per axis for conductivity, expansion and point mass
A PerAxis field kind: one value for every direction, or Per axis ticked for one per axis. Thermal conductivity and expansion and the point mass use it instead of a JSON box (#449). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
b18195ff89
commit
e4d1f6c7da
4 files changed
+106
-9
No files matched your search
@@ -189,6 +189,14 @@ fn scalar(f: &Field, v: &Value, units: UnitSystem) -> String {
|
||||
Kind::Multi(options) => {
|
||||
list(v, |x| options.iter().find(|(o, _)| fieldcraft_engine::schema::multi_value(o) == *x).map(|(_, l)| (*l).to_string()))
|
||||
}
|
||||
Kind::PerAxis { .. } => match v {
|
||||
Value::Array(a) => a
|
||||
.iter()
|
||||
.map(|x| x.as_f64().map_or_else(|| crate::context::value_text(x), |x| with_unit(x, unit.as_deref())))
|
||||
.collect::<Vec<_>>()
|
||||
.join(", "),
|
||||
_ => v.as_f64().map_or_else(|| crate::context::value_text(v), |x| with_unit(x, unit.as_deref())),
|
||||
},
|
||||
Kind::NumberOrAuto { .. } => match v {
|
||||
Value::String(s) => s.clone(),
|
||||
_ => v.as_f64().map_or_else(|| crate::context::value_text(v), |x| with_unit(x, unit.as_deref())),
|
||||
|
||||
Reference in new issue
Block a user