@geotechcli/core 0.4.56 → 0.4.57

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.
@@ -1,4 +1,4 @@
1
- import { buildRaftDemoAnalysisCase, } from './demo.js';
1
+ import { buildExcavationDemoAnalysisCase, buildRaftDemoAnalysisCase, } from './demo.js';
2
2
  import { validateFemAnalysisCase } from './validation.js';
3
3
  const CAPABILITIES = [
4
4
  {
@@ -18,15 +18,16 @@ const CAPABILITIES = [
18
18
  {
19
19
  objective: 'excavation-deformation',
20
20
  label: 'Staged excavation deformation preview',
21
- status: 'contract-draft',
21
+ status: 'implemented-demo',
22
22
  analysisType: 'static_3d_staged_elastic',
23
- deterministicBackend: null,
24
- description: 'Planned staged excavation preview for settlement trough, wall deflection proxy, and support reaction review.',
23
+ deterministicBackend: 'builtin-staged-excavation-demo',
24
+ description: 'Experimental deterministic staged excavation deformation preview for settlement trough, wall deflection proxy, and support reaction review.',
25
25
  requiredEvidence: ['stratigraphy', 'groundwater condition', 'wall geometry', 'support levels', 'elastic stiffness basis'],
26
26
  requiredUserInputs: ['excavation length', 'excavation width', 'final depth', 'stage depths', 'wall/support assumptions'],
27
27
  visualizationFields: ['surface settlement', 'horizontal displacement', 'wall deflection proxy', 'stage slider', 'support overlays'],
28
- reviewGates: ['contract-only', 'unsupported-wall-design', 'groundwater-coupling-required-review', 'not-basal-heave-verification'],
28
+ reviewGates: ['experimental-only', 'unsupported-wall-design', 'groundwater-coupling-required-review', 'not-basal-heave-verification', 'not-design-calculation'],
29
29
  limitations: ['No wall design, basal heave design, seepage, consolidation, or nonlinear soil response.'],
30
+ command: 'geotech fem demo excavation --experimental',
30
31
  },
31
32
  {
32
33
  objective: 'shaft-deformation',
@@ -77,6 +78,9 @@ function requirePositive(value, label, missing) {
77
78
  missing.push(label);
78
79
  return undefined;
79
80
  }
81
+ function roundStageDepth(value) {
82
+ return Math.round(value * 10) / 10;
83
+ }
80
84
  export function listFemCapabilities(objective) {
81
85
  return CAPABILITIES.filter((capability) => objective == null || capability.objective === objective);
82
86
  }
@@ -111,7 +115,7 @@ export function prepareFemAnalysisCaseDraft(input) {
111
115
  evidenceRefs: input.evidenceRefs ?? [],
112
116
  };
113
117
  }
114
- if (capability.objective !== 'foundation-settlement') {
118
+ if (capability.objective !== 'foundation-settlement' && capability.objective !== 'excavation-deformation') {
115
119
  return {
116
120
  schemaVersion: 'fem-analysis-case-draft.v1',
117
121
  objective: capability.objective,
@@ -125,6 +129,105 @@ export function prepareFemAnalysisCaseDraft(input) {
125
129
  evidenceRefs: input.evidenceRefs ?? [],
126
130
  };
127
131
  }
132
+ if (capability.objective === 'excavation-deformation') {
133
+ const missing = [];
134
+ const useDemoDefaults = input.useDemoDefaults === true;
135
+ const lengthM = input.geometry?.excavationLengthM ?? (useDemoDefaults ? 18 : undefined);
136
+ const widthM = input.geometry?.excavationWidthM ?? (useDemoDefaults ? 12 : undefined);
137
+ const finalDepthM = input.geometry?.excavationFinalDepthM ?? (useDemoDefaults ? 8 : undefined);
138
+ const checkedLengthM = requirePositive(lengthM, 'excavation length', missing);
139
+ const checkedWidthM = requirePositive(widthM, 'excavation width', missing);
140
+ const checkedFinalDepthM = requirePositive(finalDepthM, 'final excavation depth', missing);
141
+ if (!checkedLengthM || !checkedWidthM || !checkedFinalDepthM) {
142
+ return {
143
+ schemaVersion: 'fem-analysis-case-draft.v1',
144
+ objective: capability.objective,
145
+ capability,
146
+ implemented: true,
147
+ canAutoProceed: false,
148
+ recommendedAction: 'collect-inputs',
149
+ missingUserInputs: missing,
150
+ assumptions: [],
151
+ reviewGates: ['missing-user-inputs', ...capability.reviewGates],
152
+ evidenceRefs: input.evidenceRefs ?? [],
153
+ recommendedCommand: capability.command,
154
+ };
155
+ }
156
+ const analysisCase = buildExcavationDemoAnalysisCase();
157
+ analysisCase.caseId = 'excavation-deformation-draft';
158
+ analysisCase.title = 'Experimental 3D FEM staged excavation deformation draft';
159
+ analysisCase.createdBy = 'geotechcli-fem-routing';
160
+ analysisCase.evidenceRefs = input.evidenceRefs ?? [];
161
+ analysisCase.materials.forEach((material) => {
162
+ material.evidenceRefs = input.evidenceRefs ?? [];
163
+ });
164
+ if (analysisCase.geometry.excavation) {
165
+ analysisCase.geometry.excavation.lengthM = checkedLengthM;
166
+ analysisCase.geometry.excavation.widthM = checkedWidthM;
167
+ analysisCase.geometry.excavation.finalDepthM = checkedFinalDepthM;
168
+ analysisCase.geometry.excavation.wallToeDepthM = input.geometry?.wallToeDepthM ?? Math.max(checkedFinalDepthM * 1.55, analysisCase.geometry.excavation.wallToeDepthM);
169
+ analysisCase.geometry.excavation.wallType = input.excavation?.wallType ?? analysisCase.geometry.excavation.wallType;
170
+ if (Array.isArray(input.excavation?.stageDepthsM) && input.excavation.stageDepthsM.length > 0) {
171
+ const supportLevels = input.excavation.supportLevelsM ?? [];
172
+ analysisCase.geometry.excavation.stages = input.excavation.stageDepthsM.map((depthM, index) => ({
173
+ id: `stage-${index + 1}`,
174
+ label: `Stage ${index + 1} - excavate to ${depthM.toFixed(1)} m`,
175
+ depthM,
176
+ supportLevelM: supportLevels[index],
177
+ }));
178
+ }
179
+ else {
180
+ analysisCase.geometry.excavation.stages = analysisCase.geometry.excavation.stages.map((stage, index, stages) => ({
181
+ ...stage,
182
+ depthM: index === stages.length - 1
183
+ ? checkedFinalDepthM
184
+ : Math.min(checkedFinalDepthM, roundStageDepth(checkedFinalDepthM * ((index + 1) / stages.length))),
185
+ }));
186
+ }
187
+ }
188
+ analysisCase.geometry.domain.lengthM = input.geometry?.domainLengthM ?? Math.max(checkedLengthM * 2.8, analysisCase.geometry.domain.lengthM);
189
+ analysisCase.geometry.domain.widthM = input.geometry?.domainWidthM ?? Math.max(checkedWidthM * 2.8, analysisCase.geometry.domain.widthM);
190
+ analysisCase.geometry.domain.depthM = input.geometry?.domainDepthM ?? Math.max(checkedFinalDepthM * 2.75, analysisCase.geometry.domain.depthM);
191
+ if (finitePositive(input.load?.pressureKpa))
192
+ analysisCase.loads[0].pressureKpa = input.load.pressureKpa;
193
+ if (finitePositive(input.material?.elasticModulusKpa))
194
+ analysisCase.materials[0].elasticModulusKpa = input.material.elasticModulusKpa;
195
+ if (typeof input.material?.poissonRatio === 'number')
196
+ analysisCase.materials[0].poissonRatio = input.material.poissonRatio;
197
+ if (finitePositive(input.material?.unitWeightKnM3))
198
+ analysisCase.materials[0].unitWeightKnM3 = input.material.unitWeightKnM3;
199
+ if (input.groundwater?.condition) {
200
+ analysisCase.groundwater.condition = input.groundwater.condition;
201
+ }
202
+ if (typeof input.groundwater?.depthM === 'number') {
203
+ analysisCase.groundwater.depthM = input.groundwater.depthM;
204
+ }
205
+ if (input.groundwater?.note) {
206
+ analysisCase.groundwater.note = input.groundwater.note;
207
+ }
208
+ const validation = validateFemAnalysisCase(analysisCase);
209
+ const reviewGates = [
210
+ ...capability.reviewGates,
211
+ ...validation.findings
212
+ .filter((finding) => finding.severity !== 'info')
213
+ .map((finding) => finding.code),
214
+ ];
215
+ return {
216
+ schemaVersion: 'fem-analysis-case-draft.v1',
217
+ objective: capability.objective,
218
+ capability,
219
+ implemented: true,
220
+ canAutoProceed: false,
221
+ recommendedAction: 'run-experimental-demo',
222
+ missingUserInputs: [],
223
+ assumptions: analysisCase.assumptions,
224
+ reviewGates: [...new Set(reviewGates)],
225
+ evidenceRefs: analysisCase.evidenceRefs,
226
+ analysisCase,
227
+ validation,
228
+ recommendedCommand: capability.command,
229
+ };
230
+ }
128
231
  const missing = [];
129
232
  const useDemoDefaults = input.useDemoDefaults === true;
130
233
  const raftLengthM = input.geometry?.raftLengthM ?? (useDemoDefaults ? 8 : undefined);
@@ -152,9 +255,13 @@ export function prepareFemAnalysisCaseDraft(input) {
152
255
  analysisCase.caseId = 'raft-settlement-draft';
153
256
  analysisCase.title = 'Experimental 3D FEM raft settlement draft';
154
257
  analysisCase.createdBy = 'geotechcli-fem-routing';
155
- analysisCase.geometry.raft.lengthM = checkedRaftLengthM;
156
- analysisCase.geometry.raft.widthM = checkedRaftWidthM;
157
- analysisCase.geometry.raft.thicknessM = input.geometry?.raftThicknessM ?? analysisCase.geometry.raft.thicknessM;
258
+ const raft = analysisCase.geometry.raft;
259
+ if (!raft) {
260
+ throw new Error('Built-in raft draft is missing raft geometry.');
261
+ }
262
+ raft.lengthM = checkedRaftLengthM;
263
+ raft.widthM = checkedRaftWidthM;
264
+ raft.thicknessM = input.geometry?.raftThicknessM ?? raft.thicknessM;
158
265
  analysisCase.geometry.domain.lengthM = input.geometry?.domainLengthM ?? Math.max(checkedRaftLengthM * 3, analysisCase.geometry.domain.lengthM);
159
266
  analysisCase.geometry.domain.widthM = input.geometry?.domainWidthM ?? Math.max(checkedRaftWidthM * 3, analysisCase.geometry.domain.widthM);
160
267
  analysisCase.geometry.domain.depthM = input.geometry?.domainDepthM ?? Math.max(checkedRaftLengthM, checkedRaftWidthM, analysisCase.geometry.domain.depthM);
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/fem/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/fem/routing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export type FemObjective = 'foundation_settlement';
2
- export type FemAnalysisType = 'static_3d_small_strain';
1
+ export type FemObjective = 'foundation_settlement' | 'excavation_deformation';
2
+ export type FemAnalysisType = 'static_3d_small_strain' | 'static_3d_staged_elastic';
3
3
  export type FemAssumptionConfidence = 'measured' | 'inferred' | 'review';
4
4
  export type FemFindingSeverity = 'info' | 'review' | 'blocker';
5
5
  export interface FemUnits {
@@ -48,10 +48,27 @@ export interface FemRaftGeometry {
48
48
  centerXM: number;
49
49
  centerYM: number;
50
50
  }
51
+ export interface FemExcavationStage {
52
+ id: string;
53
+ label: string;
54
+ depthM: number;
55
+ supportLevelM?: number;
56
+ }
57
+ export interface FemExcavationGeometry {
58
+ type: 'braced_excavation';
59
+ lengthM: number;
60
+ widthM: number;
61
+ finalDepthM: number;
62
+ centerXM: number;
63
+ centerYM: number;
64
+ wallToeDepthM: number;
65
+ wallType: 'diaphragm_wall' | 'secant_pile_wall' | 'soldier_pile_lagging' | 'unsupported_screening';
66
+ stages: FemExcavationStage[];
67
+ }
51
68
  export interface FemPressureLoad {
52
69
  id: string;
53
70
  type: 'uniform_pressure';
54
- target: 'raft';
71
+ target: 'raft' | 'excavation_surcharge';
55
72
  pressureKpa: number;
56
73
  evidenceRefs: FemEvidenceRef[];
57
74
  assumptions: FemAssumption[];
@@ -85,7 +102,8 @@ export interface FemAnalysisCase {
85
102
  units: FemUnits;
86
103
  geometry: {
87
104
  domain: FemBoxDomain;
88
- raft: FemRaftGeometry;
105
+ raft?: FemRaftGeometry;
106
+ excavation?: FemExcavationGeometry;
89
107
  };
90
108
  materials: FemMaterial[];
91
109
  loads: FemPressureLoad[];
@@ -116,6 +134,15 @@ export interface FemVisualizationMesh {
116
134
  outlineBase: number[];
117
135
  outlineDisp: number[];
118
136
  outlineIdx: number[];
137
+ frames?: FemVisualizationFrame[];
138
+ }
139
+ export interface FemVisualizationFrame {
140
+ field: string;
141
+ fieldLabel: string;
142
+ stageIndex?: number;
143
+ stageLabel?: string;
144
+ disp: number[];
145
+ color: number[];
119
146
  }
120
147
  export interface FemResultEnvelope {
121
148
  maxSettlementMm: number;
@@ -123,6 +150,14 @@ export interface FemResultEnvelope {
123
150
  totalLoadKn: number;
124
151
  reactionKn: number;
125
152
  reactionBalanceRatio: number;
153
+ maxSurfaceSettlementMm?: number;
154
+ maxHorizontalDisplacementMm?: number;
155
+ maxWallDeflectionMm?: number;
156
+ maxBasalHeaveMm?: number;
157
+ totalExcavatedWeightKn?: number;
158
+ supportReactionKn?: number;
159
+ boundaryReactionKn?: number;
160
+ stageCount?: number;
126
161
  }
127
162
  export interface FemResultManifest {
128
163
  schemaVersion: 'fem-result-manifest.v0';
@@ -130,7 +165,7 @@ export interface FemResultManifest {
130
165
  title: string;
131
166
  generatedAt: string;
132
167
  backend: {
133
- id: 'builtin-elastic3d-demo';
168
+ id: 'builtin-elastic3d-demo' | 'builtin-staged-excavation-demo';
134
169
  label: string;
135
170
  deterministic: true;
136
171
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fem/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fem/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/fem/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAEjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAoEpB,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,oBAAoB,CAiFvF;AAsDD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB,CAuD3F"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/fem/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAEjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAoEpB,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,oBAAoB,CAiJvF;AAsDD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB,CAoE3F"}
@@ -22,7 +22,7 @@ function isFemAnalysisCaseShape(value) {
22
22
  const groundwater = value.groundwater;
23
23
  return (isRecord(geometry) &&
24
24
  isRecord(geometry.domain) &&
25
- isRecord(geometry.raft) &&
25
+ (isRecord(geometry.raft) || isRecord(geometry.excavation)) &&
26
26
  isRecord(mesh) &&
27
27
  isRecord(groundwater) &&
28
28
  Array.isArray(value.materials) &&
@@ -59,7 +59,7 @@ export function validateFemAnalysisCase(caseFile) {
59
59
  finding('blocker', 'schema.shape-invalid', 'FEM analysis case is missing required geometry, mesh, groundwater, or array fields.'),
60
60
  ]);
61
61
  }
62
- const { domain, raft } = caseFile.geometry;
62
+ const { domain, raft, excavation } = caseFile.geometry;
63
63
  const material = caseFile.materials[0];
64
64
  const load = caseFile.loads[0];
65
65
  if (caseFile.schemaVersion !== 'fem-analysis-case.v0') {
@@ -68,23 +68,71 @@ export function validateFemAnalysisCase(caseFile) {
68
68
  if (!caseFile.experimental) {
69
69
  findings.push(finding('blocker', 'mode.experimental-required', 'FEM cases must be explicitly marked experimental.'));
70
70
  }
71
- if (caseFile.objective !== 'foundation_settlement') {
71
+ if (!['foundation_settlement', 'excavation_deformation'].includes(caseFile.objective)) {
72
72
  findings.push(finding('blocker', 'objective.unsupported', `Unsupported FEM objective: ${caseFile.objective}.`));
73
73
  }
74
- if (caseFile.analysisType !== 'static_3d_small_strain') {
74
+ if (caseFile.objective === 'foundation_settlement' && caseFile.analysisType !== 'static_3d_small_strain') {
75
+ findings.push(finding('blocker', 'analysis.unsupported', `Unsupported analysis type: ${caseFile.analysisType}.`));
76
+ }
77
+ if (caseFile.objective === 'excavation_deformation' && caseFile.analysisType !== 'static_3d_staged_elastic') {
75
78
  findings.push(finding('blocker', 'analysis.unsupported', `Unsupported analysis type: ${caseFile.analysisType}.`));
76
79
  }
77
80
  if (domain.lengthM <= 0 || domain.widthM <= 0 || domain.depthM <= 0) {
78
81
  findings.push(finding('blocker', 'geometry.domain-invalid', 'Domain dimensions must be positive.'));
79
82
  }
80
- if (raft.lengthM <= 0 || raft.widthM <= 0 || raft.thicknessM <= 0) {
81
- findings.push(finding('blocker', 'geometry.raft-invalid', 'Raft dimensions must be positive.'));
82
- }
83
- if (domain.lengthM < raft.lengthM * 3 || domain.widthM < raft.widthM * 3) {
84
- findings.push(finding('review', 'geometry.domain-small', 'Domain is less than three raft widths in plan; boundary influence should be reviewed.'));
83
+ if (caseFile.objective === 'foundation_settlement') {
84
+ if (!raft) {
85
+ findings.push(finding('blocker', 'geometry.raft-missing', 'Foundation-settlement cases require raft geometry.'));
86
+ }
87
+ else {
88
+ if (raft.lengthM <= 0 || raft.widthM <= 0 || raft.thicknessM <= 0) {
89
+ findings.push(finding('blocker', 'geometry.raft-invalid', 'Raft dimensions must be positive.'));
90
+ }
91
+ if (domain.lengthM < raft.lengthM * 3 || domain.widthM < raft.widthM * 3) {
92
+ findings.push(finding('review', 'geometry.domain-small', 'Domain is less than three raft widths in plan; boundary influence should be reviewed.'));
93
+ }
94
+ if (domain.depthM < Math.max(raft.lengthM, raft.widthM)) {
95
+ findings.push(finding('review', 'geometry.depth-shallow', 'Domain depth is less than the controlling raft dimension; settlement influence depth should be reviewed.'));
96
+ }
97
+ }
85
98
  }
86
- if (domain.depthM < Math.max(raft.lengthM, raft.widthM)) {
87
- findings.push(finding('review', 'geometry.depth-shallow', 'Domain depth is less than the controlling raft dimension; settlement influence depth should be reviewed.'));
99
+ if (caseFile.objective === 'excavation_deformation') {
100
+ if (!excavation) {
101
+ findings.push(finding('blocker', 'geometry.excavation-missing', 'Excavation-deformation cases require excavation geometry.'));
102
+ }
103
+ else {
104
+ if (excavation.lengthM <= 0 ||
105
+ excavation.widthM <= 0 ||
106
+ excavation.finalDepthM <= 0 ||
107
+ excavation.wallToeDepthM <= excavation.finalDepthM) {
108
+ findings.push(finding('blocker', 'geometry.excavation-invalid', 'Excavation dimensions and wall toe depth must be positive and physically ordered.'));
109
+ }
110
+ if (domain.lengthM < excavation.lengthM * 2.5 || domain.widthM < excavation.widthM * 2.5) {
111
+ findings.push(finding('review', 'geometry.excavation-domain-small', 'Domain is less than 2.5 excavation widths in plan; boundary influence should be reviewed.'));
112
+ }
113
+ if (domain.depthM < excavation.wallToeDepthM * 1.35) {
114
+ findings.push(finding('review', 'geometry.excavation-depth-shallow', 'Domain depth is close to the wall toe; excavation influence depth should be reviewed.'));
115
+ }
116
+ if (excavation.stages.length === 0) {
117
+ findings.push(finding('blocker', 'stages.missing', 'Excavation cases require at least one construction stage.'));
118
+ }
119
+ let previousDepth = 0;
120
+ for (const stage of excavation.stages) {
121
+ if (!Number.isFinite(stage.depthM) || stage.depthM <= previousDepth || stage.depthM > excavation.finalDepthM) {
122
+ findings.push(finding('blocker', 'stages.depth-invalid', 'Excavation stage depths must increase and stay within the final excavation depth.'));
123
+ break;
124
+ }
125
+ if (stage.supportLevelM != null && (!Number.isFinite(stage.supportLevelM) || stage.supportLevelM < 0 || stage.supportLevelM > stage.depthM)) {
126
+ findings.push(finding('blocker', 'stages.support-invalid', 'Support levels must be finite and no deeper than the active excavation stage.'));
127
+ break;
128
+ }
129
+ previousDepth = stage.depthM;
130
+ }
131
+ if (previousDepth !== excavation.finalDepthM) {
132
+ findings.push(finding('review', 'stages.final-depth-review', 'Last excavation stage does not exactly match the final depth; staging requires review.'));
133
+ }
134
+ findings.push(finding('review', 'excavation.design-excluded', 'Excavation preview excludes retaining wall design, basal heave, seepage, consolidation, and nonlinear soil response.'));
135
+ }
88
136
  }
89
137
  if (!material) {
90
138
  findings.push(finding('blocker', 'material.missing', 'At least one material is required.'));
@@ -101,11 +149,17 @@ export function validateFemAnalysisCase(caseFile) {
101
149
  }
102
150
  }
103
151
  if (!load) {
104
- findings.push(finding('blocker', 'load.missing', 'A raft pressure load is required.'));
152
+ findings.push(finding('blocker', 'load.missing', caseFile.objective === 'foundation_settlement' ? 'A raft pressure load is required.' : 'An excavation surcharge/load assumption is required.'));
105
153
  }
106
154
  else if (!Number.isFinite(load.pressureKpa) || load.pressureKpa <= 0) {
107
155
  findings.push(finding('blocker', 'load.pressure-invalid', 'Uniform pressure must be positive.'));
108
156
  }
157
+ else if (caseFile.objective === 'foundation_settlement' && load.target !== 'raft') {
158
+ findings.push(finding('blocker', 'load.target-invalid', 'Foundation-settlement load must target the raft.'));
159
+ }
160
+ else if (caseFile.objective === 'excavation_deformation' && load.target !== 'excavation_surcharge') {
161
+ findings.push(finding('blocker', 'load.target-invalid', 'Excavation-deformation load must target excavation_surcharge.'));
162
+ }
109
163
  const { divisionsX, divisionsY, divisionsZ } = caseFile.mesh;
110
164
  if (divisionsX < 2 || divisionsY < 2 || divisionsZ < 1) {
111
165
  findings.push(finding('blocker', 'mesh.too-coarse', 'Mesh divisions must be at least 2 x 2 x 1.'));
@@ -188,6 +242,18 @@ export function validateFemResultManifest(manifest) {
188
242
  findings.push(finding('blocker', 'result.outline.node-count-mismatch', 'Outline displacement vectors must match outline nodes.'));
189
243
  }
190
244
  pushIndexArrayFindings(findings, 'outlineIdx', visualization.outlineIdx, outlineNodeCount, 2);
245
+ if (Array.isArray(visualization.frames)) {
246
+ for (const [index, frame] of visualization.frames.entries()) {
247
+ pushFiniteArrayFindings(findings, `frames.${index}.disp`, frame.disp, 3);
248
+ pushFiniteArrayFindings(findings, `frames.${index}.color`, frame.color, 3);
249
+ if (frame.disp.length / 3 !== nodeCount) {
250
+ findings.push(finding('blocker', `result.frames.${index}.disp.node-count-mismatch`, 'Frame displacement vectors must match base nodes.'));
251
+ }
252
+ if (frame.color.length / 3 !== nodeCount) {
253
+ findings.push(finding('blocker', `result.frames.${index}.color.node-count-mismatch`, 'Frame color vectors must match base nodes.'));
254
+ }
255
+ }
256
+ }
191
257
  const caseValidation = validateFemAnalysisCase(manifest.analysisCase);
192
258
  findings.push(...caseValidation.findings);
193
259
  return summary(findings);
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/fem/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/fem/validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/fem/webgl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAepD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CA4GtE"}
1
+ {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/fem/webgl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAepD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CA8HtE"}