@metamesh/testkit 0.15.0 → 0.16.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @metamesh/testkit
2
2
 
3
+ ## 0.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - fbd7276: Standardize immutable value interchange on domain names, Data representations, Input construction
8
+ forms, and toData(). Rename vector tuples and transform matrices to Vector2Data/Vector3Data and
9
+ Transform2Data/Transform3Data. Path2Data and Path3Data now preserve dimension, points, and closure;
10
+ path factories accept complete data records as well as coordinate collections. Advance the host
11
+ runtime to major 8 for the new value protocol, and update consumers, examples, and references.
12
+ - 1585391: Add immutable `bounds2()` and `bounds3()` values with fluent measurements, positioned containment,
13
+ and plain-data conversion. Path bounds now return these values. Rename plain bounds records to
14
+ `Bounds2Data` and `Bounds3Data` across geometry, model snapshots, CLI captures, and Testkit contracts.
15
+ Bounds values in recipe inputs and computed data use the runtime 8 value interchange protocol.
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [fbd7276]
20
+ - Updated dependencies [1585391]
21
+ - Updated dependencies [29e19a5]
22
+ - @metamesh/modeling@0.16.0
23
+ - @metamesh/generator-sdk@0.16.0
24
+
3
25
  ## 0.15.0
4
26
 
5
27
  ### Minor Changes
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "formatVersion": 1,
3
3
  "packageName": "@metamesh/testkit",
4
- "packageVersion": "0.15.0",
4
+ "packageVersion": "0.16.0",
5
5
  "documents": [
6
6
  {
7
7
  "id": "testkit/guide/testing",
@@ -2,7 +2,7 @@
2
2
 
3
3
  Byte-verified local font selections and a reusable Generator service-preparation adapter.
4
4
 
5
- Import from `@metamesh/testkit/font-fixtures` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit/font-fixtures` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Byte-verified local font selections and a reusable Generator service-preparation adapter. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Fixture provider matching createGeneratorTestRunner's asynchronous service boundary.
4
4
 
5
- Import from `@metamesh/testkit/font-fixtures` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit/font-fixtures` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Fixture provider matching createGeneratorTestRunner's asynchronous service boundary. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Node-only local descriptor loader. Paths resolve beside the descriptor; bytes never come from a catalog.
4
4
 
5
- Import from `@metamesh/testkit/font-fixtures` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit/font-fixtures` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Node-only local descriptor loader. Paths resolve beside the descriptor; bytes never come from a catalog. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A checked-in immutable font fixture; no catalog or network is used by the test harness.
4
4
 
5
- Import from `@metamesh/testkit/fonts` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit/fonts` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A checked-in immutable font fixture; no catalog or network is used by the test harness. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Prepares the same synchronous text service used by Studio, from reproducible fixture bytes.
4
4
 
5
- Import from `@metamesh/testkit/fonts` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit/fonts` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Prepares the same synchronous text service used by Studio, from reproducible fixture bytes. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Parameter or assertion failure, or a generated snapshot owned separately from its runner.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Parameter or assertion failure, or a generated snapshot owned separately from its runner. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A lazy reusable Generator test session; dispose the runner and every returned snapshot separately.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A lazy reusable Generator test session; dispose the runner and every returned snapshot separately. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Fixed host resources and optional asynchronous asset preparation.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Fixed host resources and optional asynchronous asset preparation. */
@@ -2,13 +2,13 @@
2
2
 
3
3
  Physical expectations for a closed mesh; omitted facts are not asserted.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Physical expectations for a closed mesh; omitted facts are not asserted. */
9
9
  export interface MeshMeasurementExpectation {
10
10
  /** Axis-aligned XYZ bounds in millimetres. */
11
- readonly bounds?: Bounds3;
11
+ readonly bounds?: Bounds3Data;
12
12
  /** Oriented enclosed volume in cubic millimetres; outward winding is positive. */
13
13
  readonly signedVolume?: number;
14
14
  /** Sum of triangle areas in square millimetres. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Absolute nonnegative comparison allowances; each omitted tolerance defaults to zero.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Absolute nonnegative comparison allowances; each omitted tolerance defaults to zero. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Creates a lazy runner for one generation program without loading assets or an engine.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Creates a lazy runner for one generation program without loading assets or an engine. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Analyzes current buffers, requires closed oriented edge topology, and checks selected physical facts with explicit absolute tolerances. Returns fresh measurements without initializing an engine. These facts do not prove geometric equivalence or absence of self-intersections.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  Throws unless a definition already has the canonical package-serializable representation.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Throws unless a definition already has the canonical package-serializable representation. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Throws unless defaults strictly decode and equal the defaults derived from the definition.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Throws unless defaults strictly decode and equal the defaults derived from the definition. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Checks finalized parts without measurement facts, retaining shared snapshot resources and placement. Runs mesh reconstruction/finalization synchronously using the supplied engine. Strictly checks unknown wire data and reconstructs its meshes using the supplied engine. Initializes the shared test engine lazily, then applies the same wire and mesh checks.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  Checks preset metadata. Validate domain assertions through the generation test runner.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Checks preset metadata. Validate domain assertions through the generation test runner. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Returns the shared test engine, initializing it only on first request. Runner construction does not call this function.
4
4
 
5
- Import from `@metamesh/testkit` (@metamesh/testkit@0.15.0).
5
+ Import from `@metamesh/testkit` (@metamesh/testkit@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -1,8 +1,8 @@
1
- import { type Bounds3, type TriangleMesh, type TriangleMeshAnalysis } from "@metamesh/modeling/geometry";
1
+ import { type Bounds3Data, type TriangleMesh, type TriangleMeshAnalysis } from "@metamesh/modeling/geometry";
2
2
  /** Physical expectations for a closed mesh; omitted facts are not asserted. */
3
3
  export interface MeshMeasurementExpectation {
4
4
  /** Axis-aligned XYZ bounds in millimetres. */
5
- readonly bounds?: Bounds3;
5
+ readonly bounds?: Bounds3Data;
6
6
  /** Oriented enclosed volume in cubic millimetres; outward winding is positive. */
7
7
  readonly signedVolume?: number;
8
8
  /** Sum of triangle areas in square millimetres. */
@@ -1 +1 @@
1
- {"version":3,"file":"measurements.d.ts","sourceRoot":"","sources":["../src/measurements.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,+EAA+E;AAC/E,MAAM,WAAW,0BAA0B;IACzC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED,2FAA2F;AAC3F,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAaD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,0BAA0B,EACpC,UAAU,GAAE,yBAA8B,GACzC,oBAAoB,CAqDtB"}
1
+ {"version":3,"file":"measurements.d.ts","sourceRoot":"","sources":["../src/measurements.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,+EAA+E;AAC/E,MAAM,WAAW,0BAA0B;IACzC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED,2FAA2F;AAC3F,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAaD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,0BAA0B,EACpC,UAAU,GAAE,yBAA8B,GACzC,oBAAoB,CAqDtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamesh/testkit",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "Runner-neutral MetaMesh model and Generator testing helpers, assertions, and local font fixtures.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -38,13 +38,13 @@
38
38
  "registry": "https://registry.npmjs.org/"
39
39
  },
40
40
  "peerDependencies": {
41
- "@metamesh/generator-sdk": "0.15.0",
42
- "@metamesh/modeling": "0.15.0"
41
+ "@metamesh/generator-sdk": "0.16.0",
42
+ "@metamesh/modeling": "0.16.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@metamesh/config": "0.0.0",
46
- "@metamesh/generator-sdk": "0.15.0",
47
- "@metamesh/modeling": "0.15.0",
46
+ "@metamesh/generator-sdk": "0.16.0",
47
+ "@metamesh/modeling": "0.16.0",
48
48
  "vitest": "^5.0.5",
49
49
  "@types/node": "^24.19.2",
50
50
  "typescript": "6.0.3"