altium-toolkit 1.4.0 → 1.4.2
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/README.md
CHANGED
|
@@ -45,6 +45,18 @@ deeply frozen without a redundant defensive graph copy. Parser parameters,
|
|
|
45
45
|
document envelopes, extension fields, and return shapes remain unchanged. See
|
|
46
46
|
the [1.4.0 release notes](docs/release-notes-v1.4.0.md).
|
|
47
47
|
|
|
48
|
+
Version 1.4.1 re-exports the canonical `SelfAdjustingComputation` runtime from
|
|
49
|
+
CircuitJSON Toolkit 1.4.1. Persistent Altium consumers can retain dependency
|
|
50
|
+
traces across input edits without changing parser, document, renderer, or
|
|
51
|
+
native-extension contracts. See the
|
|
52
|
+
[1.4.1 release notes](docs/release-notes-v1.4.1.md).
|
|
53
|
+
|
|
54
|
+
Version 1.4.2 rebuilds project-resolved canonical documents through the
|
|
55
|
+
toolkit-owned validation path and CircuitJSON Toolkit 1.4.2. Large native
|
|
56
|
+
extension graphs retain their proven ownership instead of repeating defensive
|
|
57
|
+
binary classification. See the
|
|
58
|
+
[1.4.2 release notes](docs/release-notes-v1.4.2.md).
|
|
59
|
+
|
|
48
60
|
Default `extensions: 'canonical'` keeps compact Altium summary metadata.
|
|
49
61
|
Request the complete native read model with `extensions: 'full'`,
|
|
50
62
|
`preserveRaw: true`, or `extensions: ['altium.native-model']`. Project batches
|
|
@@ -212,6 +224,8 @@ const legacyCircuitJson = AltiumParser.parseArrayBuffer(file.name, arrayBuffer)
|
|
|
212
224
|
- [API](docs/api.md)
|
|
213
225
|
- [Capabilities](docs/capabilities.md)
|
|
214
226
|
- [Migration from 1.1.41](docs/migration.md)
|
|
227
|
+
- [1.4.2 release notes](docs/release-notes-v1.4.2.md)
|
|
228
|
+
- [1.4.1 release notes](docs/release-notes-v1.4.1.md)
|
|
215
229
|
- [1.4.0 release notes](docs/release-notes-v1.4.0.md)
|
|
216
230
|
- [1.3.0 release notes](docs/release-notes-v1.3.0.md)
|
|
217
231
|
- [1.2.1 release notes](docs/release-notes-v1.2.1.md)
|
package/docs/api.md
CHANGED
|
@@ -13,7 +13,7 @@ the method documents a narrower input.
|
|
|
13
13
|
|
|
14
14
|
## Entrypoints
|
|
15
15
|
|
|
16
|
-
The root exports exactly these
|
|
16
|
+
The root exports exactly these 18 shared classes:
|
|
17
17
|
|
|
18
18
|
- `Parser`, `ProjectLoader`, `CircuitJsonDocument`,
|
|
19
19
|
`CircuitJsonDocumentContext`, `CircuitJsonIndexer`, and `CircuitJsonUnits`
|
|
@@ -22,6 +22,7 @@ The root exports exactly these 17 shared classes:
|
|
|
22
22
|
- `ManufacturingService` and `SimulationService`
|
|
23
23
|
- `PcbScene3dBuilder` and `PcbScene3dPreparator`
|
|
24
24
|
- `ToolkitCapabilities` and `ToolkitError`
|
|
25
|
+
- `SelfAdjustingComputation`
|
|
25
26
|
|
|
26
27
|
Specialized entrypoints are also available:
|
|
27
28
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# altium-toolkit 1.4.1
|
|
2
|
+
|
|
3
|
+
Version 1.4.1 exposes the shared self-adjusting computation runtime throughout
|
|
4
|
+
the ECAD toolkit family while preserving every Altium parsing and rendering
|
|
5
|
+
contract.
|
|
6
|
+
|
|
7
|
+
## Shared incremental runtime
|
|
8
|
+
|
|
9
|
+
- The root entrypoint re-exports `SelfAdjustingComputation` from
|
|
10
|
+
`circuitjson-toolkit` 1.4.1.
|
|
11
|
+
- The runtime records dynamic data and control dependencies, invalidates only
|
|
12
|
+
changed reader traces, replaces stale branches, and reclaims retired graph
|
|
13
|
+
nodes explicitly.
|
|
14
|
+
- Persistent consumers can update mutable input cells and stabilize affected
|
|
15
|
+
computations without rebuilding unrelated derived work.
|
|
16
|
+
|
|
17
|
+
## Compatibility
|
|
18
|
+
|
|
19
|
+
- Parser options, immutable document and project envelopes, native extension
|
|
20
|
+
namespaces, renderer output, workers, and service return shapes are
|
|
21
|
+
unchanged.
|
|
22
|
+
- The release contains no Altium-specific incremental special cases; it shares
|
|
23
|
+
the canonical runtime object used by the other toolkits.
|
|
24
|
+
|
|
25
|
+
## Verification
|
|
26
|
+
|
|
27
|
+
- API tests prove that the root export is the canonical CircuitJSON runtime.
|
|
28
|
+
- Release gates include the complete package suite, formatting, performance
|
|
29
|
+
checks, feature-preservation validation, and npm package dry run.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# altium-toolkit 1.4.2
|
|
2
|
+
|
|
3
|
+
Version 1.4.2 removes redundant immutable-extension validation from canonical
|
|
4
|
+
project document rebuilding. Parser output, project resolution, extension
|
|
5
|
+
selection, and renderer contracts remain unchanged.
|
|
6
|
+
|
|
7
|
+
## Faster project resolution
|
|
8
|
+
|
|
9
|
+
- `AltiumProjectDocumentResolver` rebuilds changed canonical documents through
|
|
10
|
+
the shared toolkit-owned `DocumentResult` boundary.
|
|
11
|
+
- Already proven and frozen native extension graphs retain their identity when
|
|
12
|
+
project parameters update canonical or retained-native schematic text.
|
|
13
|
+
- Defensive binary classification is no longer repeated across every record of
|
|
14
|
+
a large owned extension graph.
|
|
15
|
+
|
|
16
|
+
## Dependency
|
|
17
|
+
|
|
18
|
+
- `circuitjson-toolkit` 1.4.2 supplies the owned-extension reuse and atomic
|
|
19
|
+
cooperative structured-clone finalization behavior.
|
|
20
|
+
- Arbitrary caller data still uses the defensive shared validation path.
|
|
21
|
+
|
|
22
|
+
## Verification
|
|
23
|
+
|
|
24
|
+
- An inspector-backed regression bounds exception-driven binary brand probes
|
|
25
|
+
during a project rebuild.
|
|
26
|
+
- The complete package suite, formatting, performance, feature-preservation,
|
|
27
|
+
and npm dry-run gates verify the release.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "altium-toolkit",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Altium document parsing and non-interactive rendering utilities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"altium",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"check:features": "node scripts/check-feature-preservation.mjs"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"circuitjson-toolkit": "^1.4.
|
|
70
|
+
"circuitjson-toolkit": "^1.4.2",
|
|
71
71
|
"fflate": "^0.8.2"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
@@ -239,13 +239,13 @@ export class AltiumProjectDocumentResolver {
|
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
/**
|
|
242
|
-
* Rebuilds one canonical document through the
|
|
242
|
+
* Rebuilds one canonical document through the toolkit-owned shared boundary.
|
|
243
243
|
* @param {object} document Existing canonical document.
|
|
244
244
|
* @param {{ model?: object[], extensions?: object, statistics?: object }} fields Replacements.
|
|
245
245
|
* @returns {object} Proven immutable document.
|
|
246
246
|
*/
|
|
247
247
|
static #rebuild(document, fields) {
|
|
248
|
-
return DocumentResult.
|
|
248
|
+
return DocumentResult.createValidatedOwned(
|
|
249
249
|
{
|
|
250
250
|
id: document.id,
|
|
251
251
|
model: fields.model || document.model,
|