geospec 0.1.0-beta.7 → 0.1.0-beta.9

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.
Files changed (80) hide show
  1. package/README.md +41 -8
  2. package/agent/geospec-authoring/SKILL.md +12 -11
  3. package/agent/geospec-authoring/api-functions.md +1 -16
  4. package/agent/geospec-authoring/api-index.md +53 -46
  5. package/agent/geospec-authoring/api-types-2.md +85 -0
  6. package/agent/geospec-authoring/api-types.md +189 -251
  7. package/agent/geospec-authoring/public-api-functions.md +71 -23
  8. package/agent/geospec-authoring/public-api-index.md +243 -191
  9. package/agent/geospec-authoring/public-api-types-2.md +295 -401
  10. package/agent/geospec-authoring/public-api-types-3.md +412 -119
  11. package/agent/geospec-authoring/public-api-types.md +237 -126
  12. package/agent/resources.js +13 -12
  13. package/agent/skills.json +3 -2
  14. package/dist/assertion-client/client.d.mts +3 -1
  15. package/dist/cli/cli.d.mts +48 -0
  16. package/dist/cli/cli.mjs +30 -0
  17. package/dist/cli/index.d.mts +3 -0
  18. package/dist/cli/index.mjs +1 -0
  19. package/dist/cli/main.d.mts +1 -0
  20. package/dist/cli/main.mjs +2 -0
  21. package/dist/cli/node-host.d.mts +26 -0
  22. package/dist/cli/node-host.mjs +1 -0
  23. package/dist/cli/wire-value.mjs +1 -0
  24. package/dist/config/define-config.d.mts +15 -0
  25. package/dist/config/define-config.mjs +2 -0
  26. package/dist/config/index.d.mts +4 -3
  27. package/dist/config/index.mjs +1 -1
  28. package/dist/config/node/load.d.mts +2 -1
  29. package/dist/config/node/load.mjs +1 -1
  30. package/dist/config/read-geospec-config.d.mts +47 -0
  31. package/dist/config/read-geospec-config.mjs +3 -0
  32. package/dist/config/types.d.mts +11 -25
  33. package/dist/config/validate.mjs +1 -1
  34. package/dist/engine/client.d.mts +3 -1
  35. package/dist/mesh/index.d.mts +2 -2
  36. package/dist/model/index.d.mts +3 -3
  37. package/dist/model/index.mjs +1 -1
  38. package/dist/model/mesh-evidence-matchers.d.mts +12 -0
  39. package/dist/model/mesh-evidence-matchers.mjs +1 -0
  40. package/dist/model/native-model-loader.d.mts +8 -8
  41. package/dist/model/native-model-loader.mjs +1 -1
  42. package/dist/model/node/command-exporter.d.mts +33 -0
  43. package/dist/model/node/command-exporter.mjs +1 -0
  44. package/dist/model/node/index.d.mts +2 -0
  45. package/dist/model/node/index.mjs +1 -0
  46. package/dist/model/types.d.mts +111 -63
  47. package/dist/runner/collector.d.mts +0 -2
  48. package/dist/runner/index.d.mts +1 -1
  49. package/dist/runner/native/index.mjs +1 -1
  50. package/dist/runner/native/native-serial-runner.mjs +1 -1
  51. package/dist/runner/node/engine.d.mts +40 -0
  52. package/dist/runner/node/engine.mjs +1 -0
  53. package/dist/runner/node/index.d.mts +5 -0
  54. package/dist/runner/node/index.mjs +1 -0
  55. package/dist/runner/node/node-vm-filesystem.d.mts +22 -0
  56. package/dist/runner/node/node-vm-filesystem.mjs +1 -0
  57. package/dist/runner/node/pool-runner.d.mts +67 -0
  58. package/dist/runner/node/pool-runner.mjs +1 -0
  59. package/dist/runner/node/pool-worker-entry.d.mts +43 -0
  60. package/dist/runner/node/pool-worker-entry.mjs +1 -0
  61. package/dist/runner/pool/events.mjs +1 -0
  62. package/dist/runner/pool/pool-messages.d.mts +2 -10
  63. package/dist/runner/pool/pool.d.mts +36 -0
  64. package/dist/runner/pool/pool.mjs +1 -0
  65. package/dist/runner/pool/shard-planner.mjs +1 -0
  66. package/dist/runner/pool/shard-timings.d.mts +36 -0
  67. package/dist/runner/pool/transport.mjs +1 -0
  68. package/dist/runner/pool/worker-host.d.mts +36 -0
  69. package/dist/runner/pool/worker-host.mjs +1 -0
  70. package/dist/runner/run-geospec-module.mjs +7 -7
  71. package/dist/runner/types.d.mts +9 -10
  72. package/dist/runner/worker/index.d.mts +5 -2
  73. package/dist/runner/worker/index.mjs +1 -1
  74. package/dist/runner/worker/runner-types.d.mts +2 -14
  75. package/dist/runner/worker/serial-runner.mjs +1 -1
  76. package/package.json +28 -5
  77. package/dist/config/tau-project-artifact.d.mts +0 -54
  78. package/dist/config/tau-project-artifact.mjs +0 -3
  79. package/dist/model/export-intent.d.mts +0 -79
  80. package/dist/model/export-intent.mjs +0 -1
package/README.md CHANGED
@@ -68,14 +68,47 @@ qualification, and filtered requirements remain outside the demonstrated scope.
68
68
 
69
69
  ### Runner configuration
70
70
 
71
- Install [`@taucad/geospec-engine`](../geospec-engine) for its `geospec` CLI or
72
- Node worker pool. To embed a serial runner, pass a compiled engine to
73
- `createNativeGeoSpecRunner` from `geospec/runner/native`; it builds the native
74
- model loader and releases every admitted subject after each run. These use the
75
- same compiled composition. Other embeddings must qualify their actual binding,
76
- input representation and supported domain; shared authoring syntax alone does
77
- not establish verdict equivalence. The CLI's flags and pool options are
78
- documented in that package's README.
71
+ The `geospec` bin runs a project's specs on the compiled engine from
72
+ [`geospec-engine`](https://github.com/taucad/geospec/tree/main/packages/geospec-engine):
73
+ the native addon when this platform has one, else its WASM build. Models that
74
+ are not STEP or GLB come from the `exporters` the project's `geospec.config.*`
75
+ declares, imported once in each pool worker; without one, such a load refuses
76
+ with `GEOSPEC_EXPORTER_MISSING`.
77
+
78
+ ```bash
79
+ geospec run .
80
+ geospec run . --include "parts/**/*.geospec.ts"
81
+ geospec run . --file main.geospec.ts --test-name-pattern volume
82
+ geospec run . --workers # worker pool, auto-sized
83
+ geospec run . --workers 4 --shard-timeout 600000
84
+ geospec run . --config ci.geospec.config.ts
85
+ geospec run . --json
86
+ ```
87
+
88
+ | Flag | Meaning |
89
+ | --------------------------------------- | --------------------------------------------------------------------------------------------------------- |
90
+ | `--file <path>` | GeoSpec file or directory root; repeatable. Empty input discovers from the project root. |
91
+ | `--include <glob>` / `--exclude <glob>` | Vitest-style file globs; repeatable. Include defaults to `**/*.geospec.{ts,js}`. |
92
+ | `-t`, `--test-name-pattern <re>` | JavaScript regular expression matched against the full `suite > test` name. |
93
+ | `--test-timeout <ms>` | Timeout for each async test callback. |
94
+ | `--workers [n]` | Run in a worker pool. Default is one; omit the count after the flag to request available CPU parallelism. |
95
+ | `--shard-timeout <ms>` | Per-shard **non-verdict** watchdog. Off by default. |
96
+ | `--bail` | Stop after the first red file. Interactive use only — a reward run wants the complete red set. |
97
+ | `--config <path>` | The `geospec.config.*` to use instead of the one in the project root. |
98
+ | `--json` | Print exactly one JSON result document on stdout and nothing else. |
99
+
100
+ A flag replaces the config field of the same name. **The exit code is the
101
+ verdict.** `0` only when the run succeeded; any failure, any run-level issue,
102
+ and an empty selection are all `1`.
103
+
104
+ To embed the pool, use `createGeoSpecNodePoolRunner` from `geospec/runner/node`;
105
+ each worker owns one engine and its own exporters, and live subjects never
106
+ cross worker boundaries. To run serially in this process, pass an engine from
107
+ `createNodeGeoSpecEngine` to `createNativeGeoSpecRunner` from
108
+ `geospec/runner/native`; it builds the native model loader and releases every
109
+ admitted subject after each run. Other embeddings must qualify their actual
110
+ binding, input representation and supported domain; shared authoring syntax
111
+ alone does not establish verdict equivalence.
79
112
 
80
113
  The filters below are the shared vocabulary of the CLI, the embedded runners
81
114
  and the Tau `test_model` tool:
@@ -106,7 +106,7 @@ LoadModelOptions: LoadModelSourceOptions | LoadModelCodeOptions<Code> | LoadMode
106
106
  rootDir?: string
107
107
  // Geometry format to export
108
108
  format?: GeoSpecModelFormat
109
- // Explicit parameters passed to the runtime
109
+ // Explicit parameters passed to the exporter
110
110
  parameters?: Record<string, unknown>
111
111
  // STEP reader strategy used for STEP exports
112
112
  stepStreaming?: StepStreamingMode
@@ -129,6 +129,10 @@ export declare function it(name: string, function_: GeoSpecTestCallback): void;
129
129
  // GeoSpec suite helper used inside VM-executed test modules
130
130
  export declare function describe(name: string, function_: GeoSpecTestCallback): void;
131
131
  skip(name: string, function_?: GeoSpecTestCallback): void;
132
+
133
+ // Alias for {@link it}
134
+ export declare function test(name: string, function_: GeoSpecTestCallback): void;
135
+ skip(name: string, function_?: GeoSpecTestCallback): void;
132
136
  ```
133
137
 
134
138
  ### Types
@@ -467,29 +471,26 @@ GeoSpecVoidWaypoint: Vec3 | {
467
471
  occurrence: string;
468
472
  }
469
473
 
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
474
+ // Direct geometry-source model load options
475
+ LoadModelSourceOptions: {
476
+ // Source geometry format
475
477
  format?: GeoSpecModelFormat
476
- // Explicit parameters passed to the runtime
478
+ // Explicit parameters recorded in provenance
477
479
  parameters?: Record<string, unknown>
478
480
  // Whether STEP loading should also produce mesh evidence
479
481
  mesh?: boolean
480
- // … 10 more members in the API reference: file, rootDir, runtime, sourceAdapters, projectPath, stepStreaming, meshLinearTolerance, meshAngularToleranceDegrees, workUnitLimit, region
482
+ // … 10 more members in the API reference: source, resources, rootDir, path, name, sourceUnit, stepStreaming, meshLinearTolerance, meshAngularToleranceDegrees, workUnitLimit
481
483
  }
482
-
483
- RuntimeBackedModelFormat: Exclude<GeoSpecModelFormat, 'mesh-buffer'>
484
484
  ```
485
485
 
486
486
  ## API reference
487
487
 
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.
488
+ To read any other signature, find its name in `api-index.md`, which lists all 368 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
492
492
  - `api-types.md` — Types
493
+ - `api-types-2.md` — Types (2)
493
494
  - `api-classes.md` — Classes
494
495
 
495
496
  Read ranges, not whole files. Never copy a reference into a source file.
@@ -1,6 +1,6 @@
1
1
  # geospec — Functions
2
2
 
3
- 7 top-level symbols. Signatures are verbatim typescript.
3
+ 6 top-level symbols. Signatures are verbatim typescript.
4
4
 
5
5
  // GeoSpec suite helper used inside VM-executed test modules
6
6
  // describe (function)
@@ -40,18 +40,3 @@ export declare function createModelLoader(defaults: CreateModelLoaderOptions): M
40
40
  // loadModel (function)
41
41
  export declare function loadModel<Code extends Record<string, string> = Record<string, string>>(_options: LoadModelOptions<Code>): Promise<GeoSpecSubject>;
42
42
  // _options: Source, code, or file model load options
43
-
44
- // resolveRuntimeExportIntent (function)
45
- export declare function resolveRuntimeExportIntent(options: {
46
- runtime: GeoSpecRuntimeClient;
47
- format: RuntimeBackedModelFormat;
48
- meshLinearTolerance?: number;
49
- meshAngularToleranceDegrees?: number;
50
- /**
51
- * The kernel that evaluates this source, when the host knows it. Routes are
52
- * then chosen among that kernel's own, so a mesh-only kernel is told its
53
- * BRep matchers are unsupported instead of being sent to another kernel's
54
- * STEP route.
55
- */
56
- kernelId?: string;
57
- }): RuntimeExportIntent | RuntimeExportIntentFailure;
@@ -1,6 +1,6 @@
1
1
  # geospec API index
2
2
 
3
- geospec 0.1.0-beta.7 · 364 symbols · extracted by TypeScript 5.9.3.
3
+ geospec 0.1.0-beta.9 · 368 symbols · extracted by TypeScript 5.9.3.
4
4
 
5
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
 
@@ -15,7 +15,6 @@ test (function) [lines 25-30] [1 members] — Alias for {@link it}
15
15
  test.skip (method)
16
16
  createModelLoader (function) [lines 32-35] — Create a {@link loadModel} function over a host-supplied compiled engine
17
17
  loadModel (function) [lines 37-42] — Load a CAD model into GeoSpec evidence
18
- resolveRuntimeExportIntent (function) [lines 44-57]
19
18
 
20
19
  ## Constants — `api-constants.md`
21
20
 
@@ -282,84 +281,92 @@ StepEvidence (type) [lines 1288-1338] [6 members] — STEP/XDE evidence extracte
282
281
  StepEvidence.xde (property) — Structured AP242 XDE read result (occurrences, subshape names, datum placements)
283
282
  Vec3 (type) [lines 1340-1341] — Numeric 3D vector
284
283
  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
- RuntimeClientWithRoutes.open (property)
289
- RuntimeClientWithRoutes.on (method)
290
- RuntimeClientWithRoutes.bestRouteFor (method)
291
- RuntimeExportIntent (type) [lines 1387-1398] [3 members] — Resolved runtime export request and provenance for a GeoSpec model…
292
- RuntimeExportIntent.options (property)
293
- RuntimeExportIntent.provenance (property)
294
- RuntimeExportIntent.sourceUnit (property)
295
- RuntimeExportIntentFailure (type) [lines 1400-1408] [2 members] — Structured failure returned when a runtime cannot provide the requested…
296
- RuntimeExportIntentFailure.success (property)
297
- RuntimeExportIntentFailure.diagnostics (property)
298
- CreateModelLoaderOptions (type) [lines 1410-1462] [10 members] — Defaults accepted by {@link import ('./load-model.js').createModelLoader}
284
+ CreateModelLoaderOptions (type) [lines 1346-1393] [9 members] — Defaults accepted by {@link import ('./load-model.js').createModelLoader}
299
285
  CreateModelLoaderOptions.engine (property) — Initialized compiled engine supplied by the host, never selected by…
300
286
  CreateModelLoaderOptions.readSource (property) — Rooted host reader for direct filesystem or URL sources
301
287
  CreateModelLoaderOptions.format (property) — Geometry format to export when an individual call does not…
302
- CreateModelLoaderOptions.runtime (property) — Runtime client or lazy runtime factory
303
- CreateModelLoaderOptions.sourceAdapters (property) — Source-specific runtime adapters, e.g
304
- CreateModelLoaderOptions.projectPath (property) — Project root used by runtime integrations
288
+ CreateModelLoaderOptions.exporters (property) — Model exporters for source-kind files
289
+ CreateModelLoaderOptions.projectPath (property) — Absolute project root passed to the exporter
305
290
  CreateModelLoaderOptions.stepStreaming (property) — STEP reader strategy used for STEP sources or exports
306
291
  CreateModelLoaderOptions.mesh (property) — Whether STEP loading should also produce mesh evidence
307
292
  CreateModelLoaderOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
308
293
  CreateModelLoaderOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
309
- GeoSpecLoadRegion (type) [lines 1464-1472] [2 members] — Axis-aligned crop box in canonical Z-up millimetres
294
+ GeoSpecExporterCapabilities (type) [lines 1395-1417] [4 members] — What a {@link GeoSpecModelExporter} declares it can do
295
+ GeoSpecExporterCapabilities.formats (property) — The formats `export` produces
296
+ GeoSpecExporterCapabilities.parameters (property) — Accepts `parameters`
297
+ GeoSpecExporterCapabilities.region (property) — Crops to `region` (an axis-aligned millimetre box) before export
298
+ GeoSpecExporterCapabilities.inlineSources (property) — Accepts `inline` sources, which back `loadModel({ code })`
299
+ GeoSpecExportFormat (type) [lines 1419-1420] — Formats a {@link GeoSpecModelExporter} may produce from a source-kind file
300
+ GeoSpecLoadRegion (type) [lines 1422-1430] [2 members] — Axis-aligned crop box in canonical Z-up millimetres
310
301
  GeoSpecLoadRegion.min (property)
311
302
  GeoSpecLoadRegion.max (property)
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…
303
+ GeoSpecModelArtifact (type) [lines 1432-1475] [7 members] — The bytes an exporter returns, in the canonical Z-up millimetre…
304
+ GeoSpecModelArtifact.bytes (property)
305
+ GeoSpecModelArtifact.format (property)
306
+ GeoSpecModelArtifact.sourceUnit (property) — Unit of raw GLB coordinates
307
+ GeoSpecModelArtifact.resources (property) — External resources the primary bytes reference, by name
308
+ GeoSpecModelArtifact.consumedSources (property) — Every source file the export read, as a path from…
309
+ GeoSpecModelArtifact.diagnostics (property) — Notices from a successful export, admitted with the subject so…
310
+ GeoSpecModelArtifact.exportOptions (property) — The export options the exporter applied, recorded in the load…
311
+ GeoSpecModelExporter (type) [lines 1477-1511] [6 members] — Turns a source-kind model file into GLB or STEP bytes…
312
+ GeoSpecModelExporter.id (property)
313
+ GeoSpecModelExporter.extensions (property)
314
+ GeoSpecModelExporter.capabilities (property)
315
+ GeoSpecModelExporter.export (method)
316
+ GeoSpecModelExporter.revision (method) — The sources an export of `file` would read now, without…
317
+ GeoSpecModelExporter.close (method) — Releases what the exporter created for one scope
318
+ GeoSpecModelExportRequest (type) [lines 1513-1557] [8 members] — One export request
319
+ GeoSpecModelExportRequest.file (property) — Entry file, as a path from the project root
320
+ GeoSpecModelExportRequest.projectPath (property) — Absolute project root the exporter resolves `file` and its imports…
321
+ GeoSpecModelExportRequest.format (property)
322
+ GeoSpecModelExportRequest.parameters (property) — JSON-serialisable parameter values
323
+ GeoSpecModelExportRequest.mesh (property) — Tessellation tolerances for a mesh export
324
+ GeoSpecModelExportRequest.region (property) — Millimetre crop box
325
+ GeoSpecModelExportRequest.inline (property) — Source text keyed by project-relative path
326
+ GeoSpecModelExportRequest.signal (property)
327
+ GeoSpecModelFormat (type) [lines 1559-1560] — Geometry formats accepted by {@link import ('./load-model.js').loadModel}
328
+ GeoSpecModelLoader (type) [lines 1562-1563] — Function shape used by GeoSpec runners to provide model loading…
329
+ ManagedGeoSpecModelLoader (type) [lines 1565-1571] [1 members] — A configured loader whose admissions can be released with its…
315
330
  ManagedGeoSpecModelLoader.dispose (method)
316
- GeoSpecRuntimeClient (type) [lines 1488-1512] [2 members] — Runtime client surface consumed by `geospec/model`
317
- GeoSpecRuntimeClient.open (property)
318
- GeoSpecRuntimeClient.on (method)
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
- GeoSpecRuntimeSourceAdapter.id (property)
322
- GeoSpecRuntimeSourceAdapter.extensions (property)
323
- GeoSpecRuntimeSourceAdapter.createRuntime (method)
324
- LoadModelCodeOptions (type) [lines 1537-1620] [14 members] — Inline code-CAD model load options
331
+ GeoSpecConsumedSources (type) [lines 1573-1577] — The source files one export read, each with its SHA-256…
332
+ LoadModelCodeOptions (type) [lines 1579-1651] [12 members] — Inline code-CAD model load options
325
333
  LoadModelCodeOptions.code (property) — Source files keyed by project-relative path
326
334
  LoadModelCodeOptions.file (property) — Entry path to render from {@link code }
327
335
  LoadModelCodeOptions.rootDir (property) — Not accepted
328
336
  LoadModelCodeOptions.format (property) — Geometry format to export
329
- LoadModelCodeOptions.parameters (property) — Explicit parameters passed to the runtime
330
- LoadModelCodeOptions.runtime (property) — Runtime client or lazy runtime factory
331
- LoadModelCodeOptions.sourceAdapters (property) — Source-specific runtime adapters, e.g
332
- LoadModelCodeOptions.projectPath (property) — Project root used by runtime integrations
337
+ LoadModelCodeOptions.parameters (property) — Explicit parameters passed to the exporter
338
+ LoadModelCodeOptions.projectPath (property) — Absolute project root passed to the exporter
333
339
  LoadModelCodeOptions.stepStreaming (property) — STEP reader strategy used for STEP exports
334
340
  LoadModelCodeOptions.mesh (property) — Whether STEP loading should also produce mesh evidence
335
341
  LoadModelCodeOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
336
342
  LoadModelCodeOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
337
343
  LoadModelCodeOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
338
- LoadModelCodeOptions.region (property) — Axis-aligned millimetre box the kernel crops the model to before…
339
- LoadModelFileOptions (type) [lines 1622-1707] [13 members] — Filesystem-backed model load options
344
+ LoadModelCodeOptions.region (property) — Axis-aligned millimetre box the exporter crops the model to before…
345
+ LoadModelFileOptions (type) [lines 1653-1727] [11 members] — Filesystem-backed model load options
340
346
  LoadModelFileOptions.file (property) — Model file to render, as a path from the project…
341
347
  LoadModelFileOptions.rootDir (property) — Project-relative folder `file` resolves in, for a suite that loads…
342
- LoadModelFileOptions.projectPath (property) — Project root used by runtime integrations
348
+ LoadModelFileOptions.projectPath (property) — Absolute project root passed to the exporter
343
349
  LoadModelFileOptions.format (property) — Geometry format to export
344
- LoadModelFileOptions.parameters (property) — Explicit parameters passed to the runtime
345
- LoadModelFileOptions.runtime (property) — Runtime client or lazy runtime factory
346
- LoadModelFileOptions.sourceAdapters (property) — Source-specific runtime adapters, e.g
350
+ LoadModelFileOptions.parameters (property) — Explicit parameters passed to the exporter
347
351
  LoadModelFileOptions.stepStreaming (property) — STEP reader strategy used for STEP exports
348
352
  LoadModelFileOptions.mesh (property) — Whether STEP loading should also produce mesh evidence
349
353
  LoadModelFileOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
350
354
  LoadModelFileOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
351
355
  LoadModelFileOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
352
- LoadModelFileOptions.region (property) — Axis-aligned millimetre box the kernel crops the model to before…
353
- LoadModelOptions (type) [lines 1709-1734] [8 members] — Options accepted by {@link import ('./load-model.js').loadModel}
356
+ LoadModelFileOptions.region (property) — Axis-aligned millimetre box the exporter crops the model to before…
357
+ LoadModelOptions (type) [lines 1729-1754] [8 members] — Options accepted by {@link import ('./load-model.js').loadModel}
354
358
  LoadModelOptions.rootDir (property) — Project-relative folder `file` resolves in, for a suite that loads…
355
359
  LoadModelOptions.format (property) — Geometry format to export
356
- LoadModelOptions.parameters (property) — Explicit parameters passed to the runtime
360
+ LoadModelOptions.parameters (property) — Explicit parameters passed to the exporter
357
361
  LoadModelOptions.stepStreaming (property) — STEP reader strategy used for STEP exports
358
362
  LoadModelOptions.mesh (property) — Whether STEP loading should also produce mesh evidence
359
363
  LoadModelOptions.meshLinearTolerance (property) — Linear tolerance used while meshing exact BRep evidence
360
364
  LoadModelOptions.meshAngularToleranceDegrees (property) — Angular tolerance in degrees used while meshing exact BRep evidence
361
365
  LoadModelOptions.workUnitLimit (property) — Default work-unit budget for every claim on this subject
362
- LoadModelSourceOptions (type) [lines 1736-1816] [13 members] — Direct geometry-source model load options
366
+
367
+ ## Types (2) — `api-types-2.md`
368
+
369
+ LoadModelSourceOptions (type) [lines 5-85] [13 members] — Direct geometry-source model load options
363
370
  LoadModelSourceOptions.source (property) — Geometry bytes, path, browser file/blob, or in-memory mesh buffer
364
371
  LoadModelSourceOptions.resources (property) — Named external resources consumed alongside the direct geometry bytes
365
372
  LoadModelSourceOptions.rootDir (property) — Project-relative folder a path `source` and each resource path resolve…
@@ -0,0 +1,85 @@
1
+ # geospec — Types (2)
2
+
3
+ 1 top-level symbols. Signatures are verbatim typescript.
4
+
5
+ // Direct geometry-source model load options
6
+ LoadModelSourceOptions: {
7
+ /** Geometry bytes, path, browser file/blob, or in-memory mesh buffer. */
8
+ source: MeshSource | StepSource;
9
+ /** Named external resources consumed alongside the direct geometry bytes. */
10
+ resources?: ReadonlyArray<{
11
+ readonly name: string;
12
+ readonly source: MeshSource | StepSource;
13
+ }>;
14
+ /**
15
+ * Project-relative folder a path `source` and each resource path resolve in. Omitted, they resolve against the
16
+ * project root. Recorded in the load evidence.
17
+ */
18
+ rootDir?: string;
19
+ /** Source geometry format. Defaults to `glb`. */
20
+ format?: GeoSpecModelFormat;
21
+ /** Source path recorded in provenance. */
22
+ path?: string;
23
+ /** Human-readable source name recorded in provenance. */
24
+ name?: string;
25
+ /** Coordinate unit of raw GLB/glTF or mesh-buffer data before canonical millimetre normalization. */
26
+ sourceUnit?: GeoSpecUnit;
27
+ /** Explicit parameters recorded in provenance. */
28
+ parameters?: Record<string, unknown>;
29
+ /** STEP reader strategy used for STEP sources. */
30
+ stepStreaming?: StepStreamingMode;
31
+ /** Whether STEP loading should also produce mesh evidence. Defaults to true. */
32
+ mesh?: boolean;
33
+ /** Linear tolerance used while meshing exact BRep evidence. */
34
+ meshLinearTolerance?: number;
35
+ /** Angular tolerance in degrees used while meshing exact BRep evidence. */
36
+ meshAngularToleranceDegrees?: number;
37
+ /**
38
+ * Default work-unit budget for every claim on this subject: a positive integer no greater than
39
+ * the host's maximum (default `geoSpecMaximumWorkUnitLimit`, 512 000 000). `expectGeo(subject, { workUnitLimit })` overrides
40
+ * it per chain. Recorded in the load evidence; it never changes the exported or admitted bytes.
41
+ */
42
+ workUnitLimit?: number;
43
+ }
44
+
45
+ // Geometry bytes, path, browser file/blob, or in-memory mesh buffer
46
+ source: MeshSource | StepSource
47
+
48
+ // Named external resources consumed alongside the direct geometry bytes
49
+ resources?: ReadonlyArray<{
50
+ readonly name: string;
51
+ readonly source: MeshSource | StepSource;
52
+ }>
53
+
54
+ // Project-relative folder a path `source` and each resource path resolve in
55
+ rootDir?: string
56
+
57
+ // Source geometry format
58
+ format?: GeoSpecModelFormat
59
+
60
+ // Source path recorded in provenance
61
+ path?: string
62
+
63
+ // Human-readable source name recorded in provenance
64
+ name?: string
65
+
66
+ // Coordinate unit of raw GLB/glTF or mesh-buffer data before canonical millimetre normalization
67
+ sourceUnit?: GeoSpecUnit
68
+
69
+ // Explicit parameters recorded in provenance
70
+ parameters?: Record<string, unknown>
71
+
72
+ // STEP reader strategy used for STEP sources
73
+ stepStreaming?: StepStreamingMode
74
+
75
+ // Whether STEP loading should also produce mesh evidence
76
+ mesh?: boolean
77
+
78
+ // Linear tolerance used while meshing exact BRep evidence
79
+ meshLinearTolerance?: number
80
+
81
+ // Angular tolerance in degrees used while meshing exact BRep evidence
82
+ meshAngularToleranceDegrees?: number
83
+
84
+ // Default work-unit budget for every claim on this subject
85
+ workUnitLimit?: number