geospec 0.1.0-beta.5 → 0.1.0-beta.7

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/agent/doctrine.md CHANGED
@@ -6,6 +6,7 @@ Write tests before implementation; assert deterministic, measurable properties.
6
6
  - Await `loadModel`, then assert synchronously with `expectGeo(model)`. The host supplies the compiled binding; authoring does not select an engine.
7
7
  - Await or return the complete model-load chain from the test callback; detached future loads are not part of a completed test.
8
8
  - Omit `parameters` for model-code defaults; use `{ file, parameters }` for variants. Loaded subjects are opaque.
9
+ - `loadModel({ file })` resolves `file` against the project root, the same root as every tool's `targetFile`; the result names that root as `projectRoot` where the host reports it, as `tau mcp` does. A suite in a subfolder names the model by its path from that root, or passes `rootDir`, the project-relative folder the model is in: `loadModel({ file: 'main.ts', rootDir: 'parts/gear' })` loads `parts/gear/main.ts`. A file the root does not hold refuses with `GEOSPEC_MODEL_SOURCE_NOT_FOUND`, which names the root and the path it looked for.
9
10
 
10
11
  Canonical TypeScript authoring:
11
12
 
@@ -32,11 +33,25 @@ Every matcher takes one expectation object:
32
33
  ## Loads and budgets
33
34
 
34
35
  - GeoSpec has no `beforeAll`. Write each `loadModel` inside its own `it`: within one run, identical loads (same file or code, parameters, format, tolerances and region) share one export and one admission. Each load keeps its own `loadId` and records `reused: true`, and a file is reused only while its source closure is unchanged.
35
- - `loadModel({ file, workUnitLimit })` sets the default claim budget for that subject, and `expectGeo(model, { workUnitLimit })` overrides it for one chain. The budget is a positive integer no greater than 512000000. A `MATCHER_TIMEOUT` refusal reports `details.limit` and, when measured, `details.used`; raise the budget within the bound or simplify the model, and never treat the refusal as a pass.
36
+ - `loadModel({ file, workUnitLimit })` sets the default claim budget for that subject, and `expectGeo(model, { workUnitLimit })` overrides it for one chain. The budget is a positive integer no greater than 512000000. A `MATCHER_TIMEOUT` refusal reports `details.limit` and, when measured, `details.used`; its `test_model` row (category `work-budget`) names in `limit.retry` the one `workUnitLimit` that can decide the claim, or `null` at the host maximum. Never treat the refusal as a pass.
36
37
  - `loadModel({ file, region: { min: [x, y, z], max: [x, y, z] } })` makes a separate claim about one millimetre box, never a stand-in for a whole-model claim. The kernel crops before export (PicoVoxel trims Voxels parts), and other kernels, STEP loads and unconfirmed crops refuse with a typed diagnostic. A cropped subject answers only bounding box, volume, surface area, mass and center of mass of its region, and its assertions record the region. Every other matcher on it refuses with `GEOSPEC_REGION_WHOLE_MODEL_CLAIM`. Name the region in the test, and keep whole-model claims on whole-model loads.
37
- - A host or engine limit leaves a claim undecided, never false. Keep the model as designed: never coarsen, shrink or crop it to fit. Raise `workUnitLimit` or `testTimeout` within the host's maximum, which the host can raise, or report the claim as not decided at this capacity.
38
+ - A host or engine limit leaves a claim undecided, never false: `test_model` reports it as inconclusive with category `analysis-limit`, `resource-limit` or `work-budget` and a typed `limit` naming the limit and its numbers. Keep the model as designed: never coarsen, shrink or crop it to fit. Only a `work-budget` row's `limit.retry` is a retry, and `testTimeout` only answers a `timeout` row; report every other limit row as not decided at this capacity.
38
39
  - `toHaveCenterOfMass({ point, tolerance })` takes an exact point. Per-axis ranges such as `{ y: { greaterThan: 1 } }` are refused.
39
40
 
41
+ ## Ceilings
42
+
43
+ Fixed in this release; design within them, and report a claim that meets one as not decided.
44
+
45
+ | Ceiling | Value | Where an agent meets it |
46
+ | ------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
47
+ | `maxSubjectBytes`, `maxResourceBytes` | 64 MiB each | A mesh `loadModel({ file })` exports about 72 bytes per triangle, so admission refuses near 930,000 triangles (`resource-limit`). |
48
+ | `maxTotalBinaryBytes` | 128 MiB | All subjects of one load together. |
49
+ | `maxTriangles`, `maxVertices` | 4,000,000, 2,000,000 | A decoded mesh. |
50
+ | `continuousEvidenceBytes` | 32 MiB | `toHaveNoComponentInterference` on a large assembly (`analysis-limit`). |
51
+ | `workUnitLimit` | 512000000 at most | Any claim; the only limit an argument raises. |
52
+
53
+ Load `format: 'step'` only for the exact-BRep matchers above; every other matcher answers on the cheaper mesh.
54
+
40
55
  ## Coverage
41
56
 
42
57
  Bounds and physical properties are insufficient. Cover major components, named features, variants, dimensions/positions, disjoint counts, closure, interference and supported exact features. Explicitly report unsupported requirements; proxies cannot fulfill them.
@@ -13,6 +13,7 @@ Write tests before implementation; assert deterministic, measurable properties.
13
13
  - Await `loadModel`, then assert synchronously with `expectGeo(model)`. The host supplies the compiled binding; authoring does not select an engine.
14
14
  - Await or return the complete model-load chain from the test callback; detached future loads are not part of a completed test.
15
15
  - Omit `parameters` for model-code defaults; use `{ file, parameters }` for variants. Loaded subjects are opaque.
16
+ - `loadModel({ file })` resolves `file` against the project root, the same root as every tool's `targetFile`; the result names that root as `projectRoot` where the host reports it, as `tau mcp` does. A suite in a subfolder names the model by its path from that root, or passes `rootDir`, the project-relative folder the model is in: `loadModel({ file: 'main.ts', rootDir: 'parts/gear' })` loads `parts/gear/main.ts`. A file the root does not hold refuses with `GEOSPEC_MODEL_SOURCE_NOT_FOUND`, which names the root and the path it looked for.
16
17
 
17
18
  Canonical TypeScript authoring:
18
19
 
@@ -39,11 +40,25 @@ Every matcher takes one expectation object:
39
40
  ## Loads and budgets
40
41
 
41
42
  - GeoSpec has no `beforeAll`. Write each `loadModel` inside its own `it`: within one run, identical loads (same file or code, parameters, format, tolerances and region) share one export and one admission. Each load keeps its own `loadId` and records `reused: true`, and a file is reused only while its source closure is unchanged.
42
- - `loadModel({ file, workUnitLimit })` sets the default claim budget for that subject, and `expectGeo(model, { workUnitLimit })` overrides it for one chain. The budget is a positive integer no greater than 512000000. A `MATCHER_TIMEOUT` refusal reports `details.limit` and, when measured, `details.used`; raise the budget within the bound or simplify the model, and never treat the refusal as a pass.
43
+ - `loadModel({ file, workUnitLimit })` sets the default claim budget for that subject, and `expectGeo(model, { workUnitLimit })` overrides it for one chain. The budget is a positive integer no greater than 512000000. A `MATCHER_TIMEOUT` refusal reports `details.limit` and, when measured, `details.used`; its `test_model` row (category `work-budget`) names in `limit.retry` the one `workUnitLimit` that can decide the claim, or `null` at the host maximum. Never treat the refusal as a pass.
43
44
  - `loadModel({ file, region: { min: [x, y, z], max: [x, y, z] } })` makes a separate claim about one millimetre box, never a stand-in for a whole-model claim. The kernel crops before export (PicoVoxel trims Voxels parts), and other kernels, STEP loads and unconfirmed crops refuse with a typed diagnostic. A cropped subject answers only bounding box, volume, surface area, mass and center of mass of its region, and its assertions record the region. Every other matcher on it refuses with `GEOSPEC_REGION_WHOLE_MODEL_CLAIM`. Name the region in the test, and keep whole-model claims on whole-model loads.
44
- - A host or engine limit leaves a claim undecided, never false. Keep the model as designed: never coarsen, shrink or crop it to fit. Raise `workUnitLimit` or `testTimeout` within the host's maximum, which the host can raise, or report the claim as not decided at this capacity.
45
+ - A host or engine limit leaves a claim undecided, never false: `test_model` reports it as inconclusive with category `analysis-limit`, `resource-limit` or `work-budget` and a typed `limit` naming the limit and its numbers. Keep the model as designed: never coarsen, shrink or crop it to fit. Only a `work-budget` row's `limit.retry` is a retry, and `testTimeout` only answers a `timeout` row; report every other limit row as not decided at this capacity.
45
46
  - `toHaveCenterOfMass({ point, tolerance })` takes an exact point. Per-axis ranges such as `{ y: { greaterThan: 1 } }` are refused.
46
47
 
48
+ ## Ceilings
49
+
50
+ Fixed in this release; design within them, and report a claim that meets one as not decided.
51
+
52
+ | Ceiling | Value | Where an agent meets it |
53
+ | ------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
54
+ | `maxSubjectBytes`, `maxResourceBytes` | 64 MiB each | A mesh `loadModel({ file })` exports about 72 bytes per triangle, so admission refuses near 930,000 triangles (`resource-limit`). |
55
+ | `maxTotalBinaryBytes` | 128 MiB | All subjects of one load together. |
56
+ | `maxTriangles`, `maxVertices` | 4,000,000, 2,000,000 | A decoded mesh. |
57
+ | `continuousEvidenceBytes` | 32 MiB | `toHaveNoComponentInterference` on a large assembly (`analysis-limit`). |
58
+ | `workUnitLimit` | 512000000 at most | Any claim; the only limit an argument raises. |
59
+
60
+ Load `format: 'step'` only for the exact-BRep matchers above; every other matcher answers on the cheaper mesh.
61
+
47
62
  ## Coverage
48
63
 
49
64
  Bounds and physical properties are insufficient. Cover major components, named features, variants, dimensions/positions, disjoint counts, closure, interference and supported exact features. Explicitly report unsupported requirements; proxies cannot fulfill them.
@@ -87,6 +102,8 @@ export declare function loadModel<Code extends Record<string, string> = Record<s
87
102
 
88
103
  // Options accepted by {@link import ('./load-model.js').loadModel}
89
104
  LoadModelOptions: LoadModelSourceOptions | LoadModelCodeOptions<Code> | LoadModelFileOptions
105
+ // Project-relative folder `file` resolves in, for a suite that loads from somewhere other than…
106
+ rootDir?: string
90
107
  // Geometry format to export
91
108
  format?: GeoSpecModelFormat
92
109
  // Explicit parameters passed to the runtime
@@ -104,6 +121,14 @@ LoadModelOptions: LoadModelSourceOptions | LoadModelCodeOptions<Code> | LoadMode
104
121
 
105
122
  // Geometry formats accepted by {@link import ('./load-model.js').loadModel}
106
123
  GeoSpecModelFormat: MeshFileFormat | 'step' | 'stp'
124
+
125
+ // GeoSpec test helper used inside VM-executed test modules
126
+ export declare function it(name: string, function_: GeoSpecTestCallback): void;
127
+ skip(name: string, function_?: GeoSpecTestCallback): void;
128
+
129
+ // GeoSpec suite helper used inside VM-executed test modules
130
+ export declare function describe(name: string, function_: GeoSpecTestCallback): void;
131
+ skip(name: string, function_?: GeoSpecTestCallback): void;
107
132
  ```
108
133
 
109
134
  ### Types
@@ -420,15 +445,6 @@ GeoSpecSpatialRelationshipExpectation: {
420
445
  reason?: string
421
446
  }
422
447
 
423
- // Shared scalar expectation used by geometry measurements
424
- GeoSpecNumericExpectation: number | {
425
- value?: number;
426
- greaterThan?: number;
427
- greaterThanOrEqual?: number;
428
- lessThan?: number;
429
- lessThanOrEqual?: number;
430
- }
431
-
432
448
  // Diagnostic emitted by GeoSpec loaders, analyzers, and matchers
433
449
  GeometryDiagnostic: {
434
450
  code: KernelIssueCode | (string & {})
@@ -443,49 +459,33 @@ GeometryDiagnostic: {
443
459
  details?: unknown
444
460
  }
445
461
 
446
- // Shared scalar expectation used by geometry measurements
447
- GeoSpecNumericExpectation: number | {
448
- value?: number;
449
- greaterThan?: number;
450
- greaterThanOrEqual?: number;
451
- lessThan?: number;
452
- lessThanOrEqual?: number;
453
- }
462
+ // Point expectation accepted by center and feature matchers
463
+ GeoSpecPointExpectation: Vec3 | GeoSpecAxisExpectation
454
464
 
455
- // Shared scalar expectation used by geometry measurements
456
- GeoSpecNumericExpectation: number | {
457
- value?: number;
458
- greaterThan?: number;
459
- greaterThanOrEqual?: number;
460
- lessThan?: number;
461
- lessThanOrEqual?: number;
465
+ // One void-continuity waypoint
466
+ GeoSpecVoidWaypoint: Vec3 | {
467
+ occurrence: string;
462
468
  }
463
469
 
464
- // Shared scalar expectation used by geometry measurements
465
- GeoSpecNumericExpectation: number | {
466
- value?: number;
467
- greaterThan?: number;
468
- greaterThanOrEqual?: number;
469
- lessThan?: number;
470
- lessThanOrEqual?: number;
470
+ // Inline code-CAD model load options
471
+ LoadModelCodeOptions: {
472
+ // Source files keyed by project-relative path
473
+ code: Code
474
+ // Geometry format to export
475
+ format?: GeoSpecModelFormat
476
+ // Explicit parameters passed to the runtime
477
+ parameters?: Record<string, unknown>
478
+ // Whether STEP loading should also produce mesh evidence
479
+ mesh?: boolean
480
+ // … 10 more members in the API reference: file, rootDir, runtime, sourceAdapters, projectPath, stepStreaming, meshLinearTolerance, meshAngularToleranceDegrees, workUnitLimit, region
471
481
  }
472
482
 
473
- // Point expectation accepted by center and feature matchers
474
- GeoSpecPointExpectation: Vec3 | GeoSpecAxisExpectation
475
-
476
- // Shared scalar expectation used by geometry measurements
477
- GeoSpecNumericExpectation: number | {
478
- value?: number;
479
- greaterThan?: number;
480
- greaterThanOrEqual?: number;
481
- lessThan?: number;
482
- lessThanOrEqual?: number;
483
- }
483
+ RuntimeBackedModelFormat: Exclude<GeoSpecModelFormat, 'mesh-buffer'>
484
484
  ```
485
485
 
486
486
  ## API reference
487
487
 
488
- To read any other signature, grep the skill directory for the name followed by `(` (or the bare type name): each hit is the declaration line and names its file; read a few lines around it for overloads and parameter notes. `api-index.md` lists all 360 symbols by file.
488
+ To read any other signature, find its name in `api-index.md`, which lists all 364 symbols by file with the lines that hold each, and read that range of the named file.
489
489
 
490
490
  - `api-functions.md` — Functions
491
491
  - `api-constants.md` — Constants
@@ -1,35 +1,35 @@
1
1
  # geospec API index
2
2
 
3
- geospec 0.1.0-beta.5 · 360 symbols · extracted by TypeScript 5.9.3.
3
+ geospec 0.1.0-beta.7 · 364 symbols · extracted by TypeScript 5.9.3.
4
4
 
5
- Every symbol appears here exactly once. The heading above each block names the file with its signature; grep the skill directory for `name(` to land on the declaration directly.
5
+ Every symbol appears here exactly once. The heading above each block names the file with its signature, and each top-level symbol names the lines of that file which hold its declaration and members: read only that range.
6
6
 
7
7
  ## Functions — `api-functions.md`
8
8
 
9
- describe (function) [1 members] — GeoSpec suite helper used inside VM-executed test modules
9
+ describe (function) [lines 5-10] [1 members] — GeoSpec suite helper used inside VM-executed test modules
10
10
  describe.skip (method)
11
- expectGeo (function) — Start a geometry assertion chain
12
- it (function) [1 members] — GeoSpec test helper used inside VM-executed test modules
11
+ expectGeo (function) [lines 12-16] — Start a geometry assertion chain
12
+ it (function) [lines 18-23] [1 members] — GeoSpec test helper used inside VM-executed test modules
13
13
  it.skip (method)
14
- test (function) [1 members] — Alias for {@link it}
14
+ test (function) [lines 25-30] [1 members] — Alias for {@link it}
15
15
  test.skip (method)
16
- createModelLoader (function) — Create a {@link loadModel} function over a host-supplied compiled engine
17
- loadModel (function) — Load a CAD model into GeoSpec evidence
18
- resolveRuntimeExportIntent (function)
16
+ createModelLoader (function) [lines 32-35] — Create a {@link loadModel} function over a host-supplied compiled engine
17
+ loadModel (function) [lines 37-42] — Load a CAD model into GeoSpec evidence
18
+ resolveRuntimeExportIntent (function) [lines 44-57]
19
19
 
20
20
  ## Constants — `api-constants.md`
21
21
 
22
- geoSpecMatcherNames (constant) — Every matcher name exposed by {@link expectGeo}, derived from the…
23
- geoSpecMeshEvidenceMatchers (constant) — The matchers mesh evidence answers, as the GeoSpec authoring skill…
24
- geoSpecRegionScopedKinds (constant) — The claims a region-cropped subject answers
25
- geoSpecRegionWholeModelClaimCode (constant) — Diagnostic code of a whole-model claim made on a region-cropped…
22
+ geoSpecMatcherNames (constant) [lines 5-6] — Every matcher name exposed by {@link expectGeo}, derived from the…
23
+ geoSpecMeshEvidenceMatchers (constant) [lines 8-9] — The matchers mesh evidence answers, as the GeoSpec authoring skill…
24
+ geoSpecRegionScopedKinds (constant) [lines 11-13] — The claims a region-cropped subject answers
25
+ geoSpecRegionWholeModelClaimCode (constant) [lines 15-16] — Diagnostic code of a whole-model claim made on a region-cropped…
26
26
 
27
27
  ## Types — `api-types.md`
28
28
 
29
- GeoSpecSubject (type) [1 members] — A model admitted by one live GeoSpec host scope
29
+ GeoSpecSubject (type) [lines 5-10] [1 members] — A model admitted by one live GeoSpec host scope
30
30
  GeoSpecSubject.[subjectBrand] (property)
31
- GeoSpecUnit (type) — Geometry units accepted at GeoSpec evidence-loading boundaries
32
- GeoSpecAssertion (type) [9 members] — Geometry assertion collected from a GeoSpec test module
31
+ GeoSpecUnit (type) [lines 12-14] — Geometry units accepted at GeoSpec evidence-loading boundaries
32
+ GeoSpecAssertion (type) [lines 16-66] [9 members] — Geometry assertion collected from a GeoSpec test module
33
33
  GeoSpecAssertion.kind (property) — Assertion kind
34
34
  GeoSpecAssertion.subject (property) — User-authored value passed to expectGeo()
35
35
  GeoSpecAssertion.expected (property) — Expected geometry condition
@@ -39,61 +39,61 @@ GeoSpecAssertion (type) [9 members] — Geometry assertion collected from a GeoS
39
39
  GeoSpecAssertion.loadId (property) — The host load which admitted this assertion's subject
40
40
  GeoSpecAssertion.region (property) — The crop this assertion's subject was loaded with
41
41
  GeoSpecAssertion.durationMs (property) — Wall-clock cost of matcher evaluation in milliseconds (R1
42
- GeoSpecAssemblyOccurrenceExpectation (type) [3 members] — Assembly occurrence rule accepted by `expectGeo(...).toHaveAssemblyOccurrences(...)`
42
+ GeoSpecAssemblyOccurrenceExpectation (type) [lines 68-91] [3 members] — Assembly occurrence rule accepted by `expectGeo(...).toHaveAssemblyOccurrences(...)`
43
43
  GeoSpecAssemblyOccurrenceExpectation.name (property)
44
44
  GeoSpecAssemblyOccurrenceExpectation.count (property)
45
45
  GeoSpecAssemblyOccurrenceExpectation.bounds (property)
46
- GeoSpecAssemblyOccurrencesExpectation (type) [2 members] — Assembly occurrence expectation accepted by `expectGeo(...).toHaveAssemblyOccurrences(...)`
46
+ GeoSpecAssemblyOccurrencesExpectation (type) [lines 93-101] [2 members] — Assembly occurrence expectation accepted by `expectGeo(...).toHaveAssemblyOccurrences(...)`
47
47
  GeoSpecAssemblyOccurrencesExpectation.occurrences (property)
48
48
  GeoSpecAssemblyOccurrencesExpectation.uniqueNames (property)
49
- GeoSpecAxisExpectation (type) [3 members] — Axis-keyed numeric expectation used by high-level geometry matchers
49
+ GeoSpecAxisExpectation (type) [lines 103-114] [3 members] — Axis-keyed numeric expectation used by high-level geometry matchers
50
50
  GeoSpecAxisExpectation.x (property)
51
51
  GeoSpecAxisExpectation.y (property)
52
52
  GeoSpecAxisExpectation.z (property)
53
- GeoSpecBoundingBoxExpectation (type) [5 members] — Bounding-box expectation accepted by `expectGeo(...).toHaveBoundingBox(...)`
53
+ GeoSpecBoundingBoxExpectation (type) [lines 116-133] [5 members] — Bounding-box expectation accepted by `expectGeo(...).toHaveBoundingBox(...)`
54
54
  GeoSpecBoundingBoxExpectation.min (property)
55
55
  GeoSpecBoundingBoxExpectation.max (property)
56
56
  GeoSpecBoundingBoxExpectation.size (property)
57
57
  GeoSpecBoundingBoxExpectation.center (property)
58
58
  GeoSpecBoundingBoxExpectation.tolerance (property)
59
- GeoSpecCenterOfMassExpectation (type) [2 members] — Center-of-mass expectation accepted by `expectGeo(...).toHaveCenterOfMass(...)`
59
+ GeoSpecCenterOfMassExpectation (type) [lines 135-145] [2 members] — Center-of-mass expectation accepted by `expectGeo(...).toHaveCenterOfMass(...)`
60
60
  GeoSpecCenterOfMassExpectation.point (property) — Exact expected point in millimetres
61
61
  GeoSpecCenterOfMassExpectation.tolerance (property)
62
- GeoSpecChamferFeatureExpectation (type) [3 members] — Chamfer-feature expectation accepted by `expectGeo(...).toHaveChamferFeature(...)`
62
+ GeoSpecChamferFeatureExpectation (type) [lines 147-158] [3 members] — Chamfer-feature expectation accepted by `expectGeo(...).toHaveChamferFeature(...)`
63
63
  GeoSpecChamferFeatureExpectation.distance (property)
64
64
  GeoSpecChamferFeatureExpectation.selection (property)
65
65
  GeoSpecChamferFeatureExpectation.tolerance (property)
66
- GeoSpecCircularHoleExpectation (type) [5 members] — Circular-hole expectation accepted by `expectGeo(...).toHaveCircularHole(...)`
66
+ GeoSpecCircularHoleExpectation (type) [lines 160-177] [5 members] — Circular-hole expectation accepted by `expectGeo(...).toHaveCircularHole(...)`
67
67
  GeoSpecCircularHoleExpectation.diameter (property)
68
68
  GeoSpecCircularHoleExpectation.through (property)
69
69
  GeoSpecCircularHoleExpectation.axis (property)
70
70
  GeoSpecCircularHoleExpectation.center (property)
71
71
  GeoSpecCircularHoleExpectation.tolerance (property)
72
- GeoSpecCylindricalFaceExpectation (type) [3 members] — Cylindrical-face expectation accepted by `expectGeo(...).toHaveCylindricalFace(...)`
72
+ GeoSpecCylindricalFaceExpectation (type) [lines 179-190] [3 members] — Cylindrical-face expectation accepted by `expectGeo(...).toHaveCylindricalFace(...)`
73
73
  GeoSpecCylindricalFaceExpectation.radius (property)
74
74
  GeoSpecCylindricalFaceExpectation.axis (property)
75
75
  GeoSpecCylindricalFaceExpectation.tolerance (property)
76
- GeoSpecExpectOptions (type) [1 members] — Per-chain options accepted by `expectGeo(subject, options)`
76
+ GeoSpecExpectOptions (type) [lines 192-204] [1 members] — Per-chain options accepted by `expectGeo(subject, options)`
77
77
  GeoSpecExpectOptions.workUnitLimit (property) — Deterministic work-unit budget for every claim in this chain
78
- GeoSpecComponentInterferenceAllowance (type) [5 members] — Intentional component interference allowance accepted by `expectGeo(...).toHaveNoComponentInterference(...)`
78
+ GeoSpecComponentInterferenceAllowance (type) [lines 206-223] [5 members] — Intentional component interference allowance accepted by `expectGeo(...).toHaveNoComponentInterference(...)`
79
79
  GeoSpecComponentInterferenceAllowance.kind (property)
80
80
  GeoSpecComponentInterferenceAllowance.left (property)
81
81
  GeoSpecComponentInterferenceAllowance.right (property)
82
82
  GeoSpecComponentInterferenceAllowance.maxVolume (property)
83
83
  GeoSpecComponentInterferenceAllowance.reason (property)
84
- GeoSpecComponentInterferenceExpectation (type) [3 members] — Component-interference expectation accepted by `expectGeo(...).toHaveNoComponentInterference(...)`
84
+ GeoSpecComponentInterferenceExpectation (type) [lines 225-237] [3 members] — Component-interference expectation accepted by `expectGeo(...).toHaveNoComponentInterference(...)`
85
85
  GeoSpecComponentInterferenceExpectation.tolerance (property)
86
86
  GeoSpecComponentInterferenceExpectation.pairs (property)
87
87
  GeoSpecComponentInterferenceExpectation.allowances (property)
88
- GeoSpecComponentInterferencePairExpectation (type) [2 members] — A pair-specific component-interference check accepted by `expectGeo(...).toHaveNoComponentInterference(...)`
88
+ GeoSpecComponentInterferencePairExpectation (type) [lines 239-247] [2 members] — A pair-specific component-interference check accepted by `expectGeo(...).toHaveNoComponentInterference(...)`
89
89
  GeoSpecComponentInterferencePairExpectation.left (property)
90
90
  GeoSpecComponentInterferencePairExpectation.right (property)
91
- GeoSpecConnectedComponentsExpectation (type) [3 members] — Connected-components expectation accepted by `expectGeo(...).toHaveConnectedComponents(...)`
91
+ GeoSpecConnectedComponentsExpectation (type) [lines 249-260] [3 members] — Connected-components expectation accepted by `expectGeo(...).toHaveConnectedComponents(...)`
92
92
  GeoSpecConnectedComponentsExpectation.count (property)
93
93
  GeoSpecConnectedComponentsExpectation.tolerance (property)
94
94
  GeoSpecConnectedComponentsExpectation.toleranceMm (property)
95
- GeoSpecGeometrySelector (type) — Geometry selector used by inspection and spatial relationship matchers
96
- GeoSpecMatcher (type) [27 members] — Assertion chain returned by `expectGeo(subject)`
95
+ GeoSpecGeometrySelector (type) [lines 262-296] — Geometry selector used by inspection and spatial relationship matchers
96
+ GeoSpecMatcher (type) [lines 298-511] [27 members] — Assertion chain returned by `expectGeo(subject)`
97
97
  GeoSpecMatcher.not (property) — Core-owned negation
98
98
  GeoSpecMatcher.toSatisfyRationalPlate (method) — Assert the fixed rational plate contract
99
99
  GeoSpecMatcher.toSatisfyParallelPlaneDistance (method) — Assert the fixed parallel-plane distance contract
@@ -121,43 +121,43 @@ GeoSpecMatcher (type) [27 members] — Assertion chain returned by `expectGeo(su
121
121
  GeoSpecMatcher.toHaveFilletFeature (method) — Assert that BRep evidence contains a fillet feature with the…
122
122
  GeoSpecMatcher.toHaveMinimumWallThickness (method) — Assert that BRep evidence reports a minimum wall thickness satisfying…
123
123
  GeoSpecMatcher.toHaveVoidContinuity (method) — Assert that the declared waypoints share one connected void, stay…
124
- GeoSpecMassExpectation (type) [3 members] — Mass expectation accepted by `expectGeo(...).toHaveMass(...)`
124
+ GeoSpecMassExpectation (type) [lines 513-524] [3 members] — Mass expectation accepted by `expectGeo(...).toHaveMass(...)`
125
125
  GeoSpecMassExpectation.value (property)
126
126
  GeoSpecMassExpectation.density (property)
127
127
  GeoSpecMassExpectation.tolerance (property)
128
- GeoSpecMeshIntegrityExpectation (type) [5 members] — Mesh integrity expectation accepted by `expectGeo(...).toHaveMeshIntegrity(...)`
128
+ GeoSpecMeshIntegrityExpectation (type) [lines 526-557] [5 members] — Mesh integrity expectation accepted by `expectGeo(...).toHaveMeshIntegrity(...)`
129
129
  GeoSpecMeshIntegrityExpectation.finitePositions (property)
130
130
  GeoSpecMeshIntegrityExpectation.degenerateTriangles (property)
131
131
  GeoSpecMeshIntegrityExpectation.duplicateFaces (property)
132
132
  GeoSpecMeshIntegrityExpectation.watertight (property)
133
133
  GeoSpecMeshIntegrityExpectation.triangleCount (property)
134
- GeoSpecNoDiagnosticsExpectation (type) [1 members] — Diagnostic severities rejected by `expectGeo(...).toHaveNoDiagnostics(...)`
134
+ GeoSpecNoDiagnosticsExpectation (type) [lines 559-565] [1 members] — Diagnostic severities rejected by `expectGeo(...).toHaveNoDiagnostics(...)`
135
135
  GeoSpecNoDiagnosticsExpectation.severities (property)
136
- GeoSpecMinimumWallThicknessExpectation (type) [2 members] — Minimum-wall-thickness expectation accepted by `expectGeo(...).toHaveMinimumWallThickness(...)`
136
+ GeoSpecMinimumWallThicknessExpectation (type) [lines 567-575] [2 members] — Minimum-wall-thickness expectation accepted by `expectGeo(...).toHaveMinimumWallThickness(...)`
137
137
  GeoSpecMinimumWallThicknessExpectation.value (property)
138
138
  GeoSpecMinimumWallThicknessExpectation.tolerance (property)
139
- GeoSpecCircularHolePatternExpectation (type) [6 members] — Circular-hole-pattern expectation accepted by `expectGeo(...).toHaveCircularHolePattern(...)`
139
+ GeoSpecCircularHolePatternExpectation (type) [lines 577-597] [6 members] — Circular-hole-pattern expectation accepted by `expectGeo(...).toHaveCircularHolePattern(...)`
140
140
  GeoSpecCircularHolePatternExpectation.count (property)
141
141
  GeoSpecCircularHolePatternExpectation.holeDiameter (property)
142
142
  GeoSpecCircularHolePatternExpectation.boltCircleDiameter (property)
143
143
  GeoSpecCircularHolePatternExpectation.axis (property)
144
144
  GeoSpecCircularHolePatternExpectation.center (property)
145
145
  GeoSpecCircularHolePatternExpectation.tolerance (property)
146
- GeoSpecFilletFeatureExpectation (type) [3 members] — Fillet-feature expectation accepted by `expectGeo(...).toHaveFilletFeature(...)`
146
+ GeoSpecFilletFeatureExpectation (type) [lines 599-610] [3 members] — Fillet-feature expectation accepted by `expectGeo(...).toHaveFilletFeature(...)`
147
147
  GeoSpecFilletFeatureExpectation.radius (property)
148
148
  GeoSpecFilletFeatureExpectation.selection (property)
149
149
  GeoSpecFilletFeatureExpectation.tolerance (property)
150
- GeoSpecNumericExpectation (type) — Shared scalar expectation used by geometry measurements
151
- GeoSpecPlanarFaceExpectation (type) [4 members] — Planar-face expectation accepted by `expectGeo(...).toHavePlanarFace(...)`
150
+ GeoSpecNumericExpectation (type) [lines 612-619] — Shared scalar expectation used by geometry measurements
151
+ GeoSpecPlanarFaceExpectation (type) [lines 621-635] [4 members] — Planar-face expectation accepted by `expectGeo(...).toHavePlanarFace(...)`
152
152
  GeoSpecPlanarFaceExpectation.normal (property)
153
153
  GeoSpecPlanarFaceExpectation.offset (property)
154
154
  GeoSpecPlanarFaceExpectation.area (property)
155
155
  GeoSpecPlanarFaceExpectation.tolerance (property)
156
- GeoSpecPointExpectation (type) — Point expectation accepted by center and feature matchers
157
- GeoSpecProductStructureExpectation (type) [2 members] — Product-structure expectation accepted by `expectGeo(...).toHaveProductStructure(...)`
156
+ GeoSpecPointExpectation (type) [lines 637-638] — Point expectation accepted by center and feature matchers
157
+ GeoSpecProductStructureExpectation (type) [lines 640-648] [2 members] — Product-structure expectation accepted by `expectGeo(...).toHaveProductStructure(...)`
158
158
  GeoSpecProductStructureExpectation.names (property)
159
159
  GeoSpecProductStructureExpectation.count (property)
160
- GeoSpecSpatialRelationshipExpectation (type) [13 members] — One spatial relationship accepted by `expectGeo(...).toHaveSpatialRelationships(...)`
160
+ GeoSpecSpatialRelationshipExpectation (type) [lines 650-696] [13 members] — One spatial relationship accepted by `expectGeo(...).toHaveSpatialRelationships(...)`
161
161
  GeoSpecSpatialRelationshipExpectation.id (property)
162
162
  GeoSpecSpatialRelationshipExpectation.kind (property)
163
163
  GeoSpecSpatialRelationshipExpectation.subject (property)
@@ -171,14 +171,14 @@ GeoSpecSpatialRelationshipExpectation (type) [13 members] — One spatial relati
171
171
  GeoSpecSpatialRelationshipExpectation.minVolume (property)
172
172
  GeoSpecSpatialRelationshipExpectation.maxVolume (property)
173
173
  GeoSpecSpatialRelationshipExpectation.reason (property)
174
- GeoSpecSpatialRelationshipsExpectation (type) [1 members] — Spatial relationship expectation accepted by `expectGeo(...).toHaveSpatialRelationships(...)`
174
+ GeoSpecSpatialRelationshipsExpectation (type) [lines 698-703] [1 members] — Spatial relationship expectation accepted by `expectGeo(...).toHaveSpatialRelationships(...)`
175
175
  GeoSpecSpatialRelationshipsExpectation.relationships (property)
176
- GeoSpecStepUnitsExpectation (type) [1 members] — STEP unit expectation accepted by `expectGeo(...).toHaveStepUnits(...)`
176
+ GeoSpecStepUnitsExpectation (type) [lines 705-710] [1 members] — STEP unit expectation accepted by `expectGeo(...).toHaveStepUnits(...)`
177
177
  GeoSpecStepUnitsExpectation.unit (property)
178
- GeoSpecSurfaceAreaExpectation (type) [2 members] — Surface-area expectation accepted by `expectGeo(...).toHaveSurfaceArea(...)`
178
+ GeoSpecSurfaceAreaExpectation (type) [lines 712-720] [2 members] — Surface-area expectation accepted by `expectGeo(...).toHaveSurfaceArea(...)`
179
179
  GeoSpecSurfaceAreaExpectation.value (property)
180
180
  GeoSpecSurfaceAreaExpectation.tolerance (property)
181
- GeoSpecTopologyCountsExpectation (type) [8 members] — Topology-count expectation accepted by `expectGeo(...).toHaveTopologyCounts(...)`
181
+ GeoSpecTopologyCountsExpectation (type) [lines 722-748] [8 members] — Topology-count expectation accepted by `expectGeo(...).toHaveTopologyCounts(...)`
182
182
  GeoSpecTopologyCountsExpectation.vertices (property)
183
183
  GeoSpecTopologyCountsExpectation.edges (property)
184
184
  GeoSpecTopologyCountsExpectation.wires (property)
@@ -187,24 +187,24 @@ GeoSpecTopologyCountsExpectation (type) [8 members] — Topology-count expectati
187
187
  GeoSpecTopologyCountsExpectation.solids (property)
188
188
  GeoSpecTopologyCountsExpectation.compounds (property)
189
189
  GeoSpecTopologyCountsExpectation.tolerance (property)
190
- GeoSpecValidBrepExpectation (type) [6 members] — Exact BRep validity expectation accepted by `expectGeo(...).toBeValidBrep(...)`
190
+ GeoSpecValidBrepExpectation (type) [lines 750-774] [6 members] — Exact BRep validity expectation accepted by `expectGeo(...).toBeValidBrep(...)`
191
191
  GeoSpecValidBrepExpectation.maxTolerance (property)
192
192
  GeoSpecValidBrepExpectation.freeBounds (property)
193
193
  GeoSpecValidBrepExpectation.minEdgeLength (property)
194
194
  GeoSpecValidBrepExpectation.sameParameter (property)
195
195
  GeoSpecValidBrepExpectation.closedShells (property)
196
196
  GeoSpecValidBrepExpectation.closedWires (property)
197
- GeoSpecVoidContinuityExpectation (type) [5 members] — Void-continuity expectation accepted by `expectGeo(...).toHaveVoidContinuity(...)`
197
+ GeoSpecVoidContinuityExpectation (type) [lines 776-816] [5 members] — Void-continuity expectation accepted by `expectGeo(...).toHaveVoidContinuity(...)`
198
198
  GeoSpecVoidContinuityExpectation.path (property) — Ordered waypoints (>= 1) known to lie in the void…
199
199
  GeoSpecVoidContinuityExpectation.material (property) — Occurrence names whose solids bound the void
200
200
  GeoSpecVoidContinuityExpectation.minCrossSection (property) — Minimum required bottleneck cross-section (mm²), sampled
201
201
  GeoSpecVoidContinuityExpectation.isolatedFrom (property) — Points that must NOT be reachable from the path void…
202
202
  GeoSpecVoidContinuityExpectation.bounds (property) — Region bounded for the proof (subject frame)
203
- GeoSpecVoidWaypoint (type) — One void-continuity waypoint
204
- GeoSpecVolumeExpectation (type) [2 members] — Volume expectation accepted by `expectGeo(...).toHaveVolume(...)`
203
+ GeoSpecVoidWaypoint (type) [lines 818-821] — One void-continuity waypoint
204
+ GeoSpecVolumeExpectation (type) [lines 823-831] [2 members] — Volume expectation accepted by `expectGeo(...).toHaveVolume(...)`
205
205
  GeoSpecVolumeExpectation.value (property)
206
206
  GeoSpecVolumeExpectation.tolerance (property)
207
- BrepEvidence (type) [11 members] — Basic exact or topology-derived BRep evidence consumed by early feature…
207
+ BrepEvidence (type) [lines 833-1058] [11 members] — Basic exact or topology-derived BRep evidence consumed by early feature…
208
208
  BrepEvidence.validity (property)
209
209
  BrepEvidence.topologyCounts (property)
210
210
  BrepEvidence.boundingBox (property)
@@ -216,31 +216,31 @@ BrepEvidence (type) [11 members] — Basic exact or topology-derived BRep eviden
216
216
  BrepEvidence.chamferFeatures (property)
217
217
  BrepEvidence.filletFeatures (property)
218
218
  BrepEvidence.minimumWallThickness (property)
219
- GeometryFileFormat (type) — Geometry file formats understood by GeoSpec provenance
220
- GeometryCapability (type) [2 members] — Capability exposed by a loaded subject
219
+ GeometryFileFormat (type) [lines 1060-1061] — Geometry file formats understood by GeoSpec provenance
220
+ GeometryCapability (type) [lines 1063-1081] [2 members] — Capability exposed by a loaded subject
221
221
  GeometryCapability.kind (property)
222
222
  GeometryCapability.feature (property)
223
- GeometryDiagnostic (type) [6 members] — Diagnostic emitted by GeoSpec loaders, analyzers, and matchers
223
+ GeometryDiagnostic (type) [lines 1083-1111] [6 members] — Diagnostic emitted by GeoSpec loaders, analyzers, and matchers
224
224
  GeometryDiagnostic.code (property)
225
225
  GeometryDiagnostic.severity (property)
226
226
  GeometryDiagnostic.message (property)
227
227
  GeometryDiagnostic.suggestion (property)
228
228
  GeometryDiagnostic.spatial (property)
229
229
  GeometryDiagnostic.details (property)
230
- GeometryProvenance (type) [6 members] — Provenance recorded by GeoSpec loaders
230
+ GeometryProvenance (type) [lines 1113-1133] [6 members] — Provenance recorded by GeoSpec loaders
231
231
  GeometryProvenance.source (property)
232
232
  GeometryProvenance.unit (property)
233
233
  GeometryProvenance.loader (property)
234
234
  GeometryProvenance.contentHash (property)
235
235
  GeometryProvenance.parameters (property)
236
236
  GeometryProvenance.exportIntent (property)
237
- GeometrySource (type) [5 members] — Source metadata for a loaded geometry subject
237
+ GeometrySource (type) [lines 1135-1152] [5 members] — Source metadata for a loaded geometry subject
238
238
  GeometrySource.kind (property)
239
239
  GeometrySource.format (property)
240
240
  GeometrySource.path (property)
241
241
  GeometrySource.name (property)
242
242
  GeometrySource.byteLength (property)
243
- GeometrySubject (type) [8 members] — Canonical P0 object under test for GeoSpec
243
+ GeometrySubject (type) [lines 1154-1183] [8 members] — Canonical P0 object under test for GeoSpec
244
244
  GeometrySubject.kind (property)
245
245
  GeometrySubject.subjectId (property) — Opaque engine-owned identifier used by every protocol claim
246
246
  GeometrySubject.mesh (property)
@@ -249,14 +249,14 @@ GeometrySubject (type) [8 members] — Canonical P0 object under test for GeoSpe
249
249
  GeometrySubject.provenance (property)
250
250
  GeometrySubject.capabilities (property)
251
251
  GeometrySubject.diagnostics (property)
252
- GeometrySubjectMeshEvidence (type) [2 members] — Wire-safe mesh summary carried by an opaque geometry subject
252
+ GeometrySubjectMeshEvidence (type) [lines 1185-1193] [2 members] — Wire-safe mesh summary carried by an opaque geometry subject
253
253
  GeometrySubjectMeshEvidence.format (property)
254
254
  GeometrySubjectMeshEvidence.stats (property)
255
- MeshEvidence (type) [2 members] — Mesh evidence loaded from geometry bytes or buffers
255
+ MeshEvidence (type) [lines 1195-1203] [2 members] — Mesh evidence loaded from geometry bytes or buffers
256
256
  MeshEvidence.format (property)
257
257
  MeshEvidence.stats (property)
258
- MeshFileFormat (type) — Geometry file formats supported by the P0 mesh loader
259
- MeshQualityStats (type) [8 members] — Triangle quality and scalar mesh metrics used by P0 GeoSpec…
258
+ MeshFileFormat (type) [lines 1205-1206] — Geometry file formats supported by the P0 mesh loader
259
+ MeshQualityStats (type) [lines 1208-1261] [8 members] — Triangle quality and scalar mesh metrics used by P0 GeoSpec…
260
260
  MeshQualityStats.triangleCount (property)
261
261
  MeshQualityStats.nonFiniteVertices (property)
262
262
  MeshQualityStats.degenerateTriangles (property)
@@ -265,7 +265,7 @@ MeshQualityStats (type) [8 members] — Triangle quality and scalar mesh metrics
265
265
  MeshQualityStats.surfaceArea (property)
266
266
  MeshQualityStats.signedVolume (property)
267
267
  MeshQualityStats.centerOfMass (property)
268
- MeshTriangle (type) [7 members] — One triangle from mesh evidence, in geometry document coordinates
268
+ MeshTriangle (type) [lines 1263-1286] [7 members] — One triangle from mesh evidence, in geometry document coordinates
269
269
  MeshTriangle.primitive (property)
270
270
  MeshTriangle.triangleIndex (property)
271
271
  MeshTriangle.a (property)
@@ -273,29 +273,29 @@ MeshTriangle (type) [7 members] — One triangle from mesh evidence, in geometry
273
273
  MeshTriangle.c (property)
274
274
  MeshTriangle.center (property)
275
275
  MeshTriangle.area (property)
276
- StepEvidence (type) [6 members] — STEP/XDE evidence extracted while loading a STEP subject
276
+ StepEvidence (type) [lines 1288-1338] [6 members] — STEP/XDE evidence extracted while loading a STEP subject
277
277
  StepEvidence.schema (property)
278
278
  StepEvidence.unit (property)
279
279
  StepEvidence.productStructure (property)
280
280
  StepEvidence.readStrategy (property)
281
281
  StepEvidence.capabilities (property)
282
282
  StepEvidence.xde (property) — Structured AP242 XDE read result (occurrences, subshape names, datum placements)
283
- Vec3 (type) — Numeric 3D vector
284
- GeoSpecVec3 (type) — Numeric 3D vector
285
- GeoSpecExportRoute (type) — Runtime route metadata used to decide whether a runtime export…
286
- RuntimeBackedModelFormat (type)
287
- RuntimeClientWithRoutes (type) [3 members] — Runtime client shape for route-aware Tau runtimes
283
+ Vec3 (type) [lines 1340-1341] — Numeric 3D vector
284
+ GeoSpecVec3 (type) [lines 1343-1344] — Numeric 3D vector
285
+ GeoSpecExportRoute (type) [lines 1346-1359] — Runtime route metadata used to decide whether a runtime export…
286
+ RuntimeBackedModelFormat (type) [lines 1361-1361]
287
+ RuntimeClientWithRoutes (type) [lines 1363-1385] [3 members] — Runtime client shape for route-aware Tau runtimes
288
288
  RuntimeClientWithRoutes.open (property)
289
289
  RuntimeClientWithRoutes.on (method)
290
290
  RuntimeClientWithRoutes.bestRouteFor (method)
291
- RuntimeExportIntent (type) [3 members] — Resolved runtime export request and provenance for a GeoSpec model…
291
+ RuntimeExportIntent (type) [lines 1387-1398] [3 members] — Resolved runtime export request and provenance for a GeoSpec model…
292
292
  RuntimeExportIntent.options (property)
293
293
  RuntimeExportIntent.provenance (property)
294
294
  RuntimeExportIntent.sourceUnit (property)
295
- RuntimeExportIntentFailure (type) [2 members] — Structured failure returned when a runtime cannot provide the requested…
295
+ RuntimeExportIntentFailure (type) [lines 1400-1408] [2 members] — Structured failure returned when a runtime cannot provide the requested…
296
296
  RuntimeExportIntentFailure.success (property)
297
297
  RuntimeExportIntentFailure.diagnostics (property)
298
- CreateModelLoaderOptions (type) [10 members] — Defaults accepted by {@link import ('./load-model.js').createModelLoader}
298
+ CreateModelLoaderOptions (type) [lines 1410-1462] [10 members] — Defaults accepted by {@link import ('./load-model.js').createModelLoader}
299
299
  CreateModelLoaderOptions.engine (property) — Initialized compiled engine supplied by the host, never selected by…
300
300
  CreateModelLoaderOptions.readSource (property) — Rooted host reader for direct filesystem or URL sources
301
301
  CreateModelLoaderOptions.format (property) — Geometry format to export when an individual call does not…
@@ -306,24 +306,25 @@ CreateModelLoaderOptions (type) [10 members] — Defaults accepted by {@link imp
306
306
  CreateModelLoaderOptions.mesh (property) — Whether STEP loading should also produce mesh evidence
307
307
  CreateModelLoaderOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
308
308
  CreateModelLoaderOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
309
- GeoSpecLoadRegion (type) [2 members] — Axis-aligned crop box in canonical Z-up millimetres
309
+ GeoSpecLoadRegion (type) [lines 1464-1472] [2 members] — Axis-aligned crop box in canonical Z-up millimetres
310
310
  GeoSpecLoadRegion.min (property)
311
311
  GeoSpecLoadRegion.max (property)
312
- GeoSpecModelFormat (type) — Geometry formats accepted by {@link import ('./load-model.js').loadModel}
313
- GeoSpecModelLoader (type) — Function shape used by GeoSpec runners to provide model loading…
314
- ManagedGeoSpecModelLoader (type) [1 members] — A configured loader whose shared runtime can be released with…
312
+ GeoSpecModelFormat (type) [lines 1474-1475] — Geometry formats accepted by {@link import ('./load-model.js').loadModel}
313
+ GeoSpecModelLoader (type) [lines 1477-1478] — Function shape used by GeoSpec runners to provide model loading…
314
+ ManagedGeoSpecModelLoader (type) [lines 1480-1486] [1 members] — A configured loader whose shared runtime can be released with…
315
315
  ManagedGeoSpecModelLoader.dispose (method)
316
- GeoSpecRuntimeClient (type) [2 members] — Runtime client surface consumed by `geospec/model`
316
+ GeoSpecRuntimeClient (type) [lines 1488-1512] [2 members] — Runtime client surface consumed by `geospec/model`
317
317
  GeoSpecRuntimeClient.open (property)
318
318
  GeoSpecRuntimeClient.on (method)
319
- GeoSpecRuntimeClientFactory (type) — Lazy runtime factory consumed by `geospec/model`
320
- GeoSpecRuntimeSourceAdapter (type) [3 members] — Explicit source adapter for formats whose runtime setup is not…
319
+ GeoSpecRuntimeClientFactory (type) [lines 1514-1515] — Lazy runtime factory consumed by `geospec/model`
320
+ GeoSpecRuntimeSourceAdapter (type) [lines 1517-1535] [3 members] — Explicit source adapter for formats whose runtime setup is not…
321
321
  GeoSpecRuntimeSourceAdapter.id (property)
322
322
  GeoSpecRuntimeSourceAdapter.extensions (property)
323
323
  GeoSpecRuntimeSourceAdapter.createRuntime (method)
324
- LoadModelCodeOptions (type) [13 members] — Inline code-CAD model load options
324
+ LoadModelCodeOptions (type) [lines 1537-1620] [14 members] — Inline code-CAD model load options
325
325
  LoadModelCodeOptions.code (property) — Source files keyed by project-relative path
326
326
  LoadModelCodeOptions.file (property) — Entry path to render from {@link code }
327
+ LoadModelCodeOptions.rootDir (property) — Not accepted
327
328
  LoadModelCodeOptions.format (property) — Geometry format to export
328
329
  LoadModelCodeOptions.parameters (property) — Explicit parameters passed to the runtime
329
330
  LoadModelCodeOptions.runtime (property) — Runtime client or lazy runtime factory
@@ -335,8 +336,9 @@ LoadModelCodeOptions (type) [13 members] — Inline code-CAD model load options
335
336
  LoadModelCodeOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
336
337
  LoadModelCodeOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
337
338
  LoadModelCodeOptions.region (property) — Axis-aligned millimetre box the kernel crops the model to before…
338
- LoadModelFileOptions (type) [12 members] — Filesystem-backed model load options
339
- LoadModelFileOptions.file (property) — Project-relative model file to render
339
+ LoadModelFileOptions (type) [lines 1622-1707] [13 members] — Filesystem-backed model load options
340
+ LoadModelFileOptions.file (property) — Model file to render, as a path from the project…
341
+ LoadModelFileOptions.rootDir (property) — Project-relative folder `file` resolves in, for a suite that loads…
340
342
  LoadModelFileOptions.projectPath (property) — Project root used by runtime integrations
341
343
  LoadModelFileOptions.format (property) — Geometry format to export
342
344
  LoadModelFileOptions.parameters (property) — Explicit parameters passed to the runtime
@@ -348,7 +350,8 @@ LoadModelFileOptions (type) [12 members] — Filesystem-backed model load option
348
350
  LoadModelFileOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
349
351
  LoadModelFileOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
350
352
  LoadModelFileOptions.region (property) — Axis-aligned millimetre box the kernel crops the model to before…
351
- LoadModelOptions (type) [7 members] — Options accepted by {@link import ('./load-model.js').loadModel}
353
+ LoadModelOptions (type) [lines 1709-1734] [8 members] — Options accepted by {@link import ('./load-model.js').loadModel}
354
+ LoadModelOptions.rootDir (property) — Project-relative folder `file` resolves in, for a suite that loads…
352
355
  LoadModelOptions.format (property) — Geometry format to export
353
356
  LoadModelOptions.parameters (property) — Explicit parameters passed to the runtime
354
357
  LoadModelOptions.stepStreaming (property) — STEP reader strategy used for STEP exports
@@ -356,9 +359,10 @@ LoadModelOptions (type) [7 members] — Options accepted by {@link import ('./lo
356
359
  LoadModelOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
357
360
  LoadModelOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
358
361
  LoadModelOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
359
- LoadModelSourceOptions (type) [12 members] — Direct geometry-source model load options
362
+ LoadModelSourceOptions (type) [lines 1736-1816] [13 members] — Direct geometry-source model load options
360
363
  LoadModelSourceOptions.source (property) — Geometry bytes, path, browser file/blob, or in-memory mesh buffer
361
364
  LoadModelSourceOptions.resources (property) — Named external resources consumed alongside the direct geometry bytes
365
+ LoadModelSourceOptions.rootDir (property) — Project-relative folder a path `source` and each resource path resolve…
362
366
  LoadModelSourceOptions.format (property) — Source geometry format
363
367
  LoadModelSourceOptions.path (property) — Source path recorded in provenance
364
368
  LoadModelSourceOptions.name (property) — Human-readable source name recorded in provenance
@@ -372,6 +376,6 @@ LoadModelSourceOptions (type) [12 members] — Direct geometry-source model load
372
376
 
373
377
  ## Classes — `api-classes.md`
374
378
 
375
- GeoSpecModelLoadError (class) [2 members] — Error thrown by {@link import ('./load-model.js').loadModel} when geometry cannot be…
379
+ GeoSpecModelLoadError (class) [lines 5-13] [2 members] — Error thrown by {@link import ('./load-model.js').loadModel} when geometry cannot be…
376
380
  GeoSpecModelLoadError.diagnostics (property) — Structured diagnostics explaining why model loading failed
377
381
  GeoSpecModelLoadError.constructor (constructor)