@ferscloud/fers-calculation-web 0.2.49 → 0.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fers-models.d.ts CHANGED
@@ -130,17 +130,22 @@ export interface components {
130
130
  * @description Controls the geometric stiffness matrix formulation for P-Delta analysis.
131
131
  * `Consistent` (default) uses full Przemieniecki K_g; `Simplified` uses
132
132
  * P/L-only diagonal terms matching commercial solvers.
133
+ * Only affects second-order (nonlinear) analysis: linear buckling always
134
+ * uses the consistent K_g.
133
135
  */
134
136
  pdelta_formulation?: components["schemas"]["PdeltaFormulation"];
135
137
  /**
136
138
  * @description High-level P-Delta strategy. `Full` (default) amplifies all directions.
137
- * `InPlaneOnly` auto-detects the out-of-plane axis from the model's
138
- * bounding box and suppresses it, matching commercial solver behavior.
139
+ * `InPlaneOnly` auto-detects the out-of-plane axis by counting unique node
140
+ * coordinate layers per axis and suppresses the thin one, matching
141
+ * commercial solver behavior.
139
142
  * Overrides `pdelta_suppress_axes` when set to `InPlaneOnly`.
143
+ * Only affects second-order (nonlinear) analysis.
140
144
  */
141
145
  pdelta_mode?: components["schemas"]["PdeltaMode"];
142
146
  /**
143
147
  * @description Global translational axes to exclude from P-Delta amplification.
148
+ * Only affects second-order (nonlinear) analysis.
144
149
  *
145
150
  * When a structure is near buckling in an out-of-plane direction,
146
151
  * the consistent P-Delta amplification can produce forces that differ
@@ -152,6 +157,10 @@ export interface components {
152
157
  * all translational directions are amplified.
153
158
  *
154
159
  * Maps to global DOFs: "X"→0,7 "Y"→1,8 "Z"→2,9 per element.
160
+ *
161
+ * This is a P-Delta convergence aid, not a physical property: it is
162
+ * deliberately ignored by linear buckling, where suppressing an axis would
163
+ * erase that axis's modes and inflate α_cr.
155
164
  */
156
165
  pdelta_suppress_axes?: string[];
157
166
  /**
@@ -291,6 +300,12 @@ export interface components {
291
300
  */
292
301
  BucklingResults: {
293
302
  modes: components["schemas"]["BucklingMode"][];
303
+ /**
304
+ * @description Advisories that qualify these results — e.g. model content the
305
+ * geometric stiffness does not cover. Empty when α_cr is unqualified.
306
+ * @default []
307
+ */
308
+ warnings: components["schemas"]["SolverMessage"][];
294
309
  };
295
310
  /**
296
311
  * @description One line of the transparent hand-calc: a symbolic formula, the same formula
@@ -1994,6 +2009,15 @@ export interface components {
1994
2009
  /** @description All analysis results: per load case, per load combination, unity-check results and the optional HTML report. */
1995
2010
  ResultsBundle: {
1996
2011
  buckling?: null | components["schemas"]["BucklingResults"];
2012
+ /**
2013
+ * @description Version of the `fers_calculations` engine that produced these results.
2014
+ *
2015
+ * The input's `schema_version` says which contract the *caller* wrote to;
2016
+ * this says which engine answered. Stored results therefore record the
2017
+ * solver that produced them, and a caller can tell a fixed engine from a
2018
+ * broken one without inspecting the wheel.
2019
+ */
2020
+ engine_version?: string;
1997
2021
  loadcases: {
1998
2022
  [key: string]: components["schemas"]["Results"];
1999
2023
  };
@@ -28,6 +28,13 @@ export function load_fers_from_file(path: string): string;
28
28
  */
29
29
  export function render_reports_from_json(json_data: string): string;
30
30
 
31
+ /**
32
+ * The engine version, queryable without solving anything. The npm package
33
+ * version is set from the same `Cargo.toml` at build time, but a caller
34
+ * holding only the module needs a way to ask the engine which features it has.
35
+ */
36
+ export function version(): string;
37
+
31
38
  /**
32
39
  * Route panic messages to the browser console. wasm32-unknown-unknown does
33
40
  * not unwind, so `run_enveloped`'s catch_unwind never fires in the browser —
@@ -5,5 +5,5 @@ import { __wbg_set_wasm } from "./fers_calculations_bg.js";
5
5
  __wbg_set_wasm(wasm);
6
6
  wasm.__wbindgen_start();
7
7
  export {
8
- calculate_from_json, calculate_from_json_with_token, load_fers_from_file, render_reports_from_json, wasm_init
8
+ calculate_from_json, calculate_from_json_with_token, load_fers_from_file, render_reports_from_json, version, wasm_init
9
9
  } from "./fers_calculations_bg.js";
@@ -88,6 +88,25 @@ export function render_reports_from_json(json_data) {
88
88
  }
89
89
  }
90
90
 
91
+ /**
92
+ * The engine version, queryable without solving anything. The npm package
93
+ * version is set from the same `Cargo.toml` at build time, but a caller
94
+ * holding only the module needs a way to ask the engine which features it has.
95
+ * @returns {string}
96
+ */
97
+ export function version() {
98
+ let deferred1_0;
99
+ let deferred1_1;
100
+ try {
101
+ const ret = wasm.version();
102
+ deferred1_0 = ret[0];
103
+ deferred1_1 = ret[1];
104
+ return getStringFromWasm0(ret[0], ret[1]);
105
+ } finally {
106
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
107
+ }
108
+ }
109
+
91
110
  /**
92
111
  * Route panic messages to the browser console. wasm32-unknown-unknown does
93
112
  * not unwind, so `run_enveloped`'s catch_unwind never fires in the browser —
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ferscloud/fers-calculation-web",
3
3
  "type": "module",
4
- "version": "0.2.49",
4
+ "version": "0.2.50",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": {
7
7
  "type": "git",