Add getSolvedVariablesForComponent helper for UI inspection.
Some checks failed
CI / check (push) Has been cancelled
Some checks failed
CI / check (push) Has been cancelled
Lets the properties panel read free actuators like z_dp from the solve payload per component. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
import type { Edge, Node } from "@xyflow/react";
|
import type { Edge, Node } from "@xyflow/react";
|
||||||
import type { EntropykNodeData } from "./configBuilder";
|
import type { EntropykNodeData } from "./configBuilder";
|
||||||
import { COMPONENT_BY_TYPE, isSecondaryPort } from "./componentMeta";
|
import { COMPONENT_BY_TYPE, isSecondaryPort } from "./componentMeta";
|
||||||
import type { SimulationResult } from "./api";
|
import type { SimulationResult, SolvedVariable } from "./api";
|
||||||
|
|
||||||
export interface PortVariable {
|
export interface PortVariable {
|
||||||
port: string;
|
port: string;
|
||||||
@@ -225,3 +225,21 @@ function streamDutyKw(
|
|||||||
function fmt(v: number, digits: number): string {
|
function fmt(v: number, digits: number): string {
|
||||||
return Number.isFinite(v) ? v.toFixed(digits) : "—";
|
return Number.isFinite(v) ? v.toFixed(digits) : "—";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the solver-computed unknowns (free actuators + calibration factors)
|
||||||
|
* attached to a given component, filtered out of `result.solved_variables`.
|
||||||
|
*
|
||||||
|
* Returns an empty array when there is no result or the component owns no
|
||||||
|
* solved variable. Globals (component === null) are excluded here — they are
|
||||||
|
* not tied to a specific diagram node.
|
||||||
|
*/
|
||||||
|
export function getSolvedVariablesForComponent(
|
||||||
|
result: SimulationResult | null,
|
||||||
|
componentName: string,
|
||||||
|
): SolvedVariable[] {
|
||||||
|
if (!result?.solved_variables?.length) return [];
|
||||||
|
return result.solved_variables.filter(
|
||||||
|
(sv) => sv.component != null && sv.component === componentName,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user