@tellegen/engine 0.3.0 → 0.4.1
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 +65 -5
- package/dist/data/populated_places.json +7351 -0
- package/dist/generated/{contracts.d.ts → api-types.d.ts} +4 -4
- package/dist/generated/api-types.d.ts.map +1 -0
- package/dist/generated/api-types.js +8 -0
- package/dist/generated/api-types.js.map +1 -0
- package/dist/generated/study-schema.d.ts.map +1 -1
- package/dist/generated/study-schema.js +2 -2
- package/dist/generated/study-schema.js.map +1 -1
- package/dist/generated/{study-contracts.d.ts → study-types.d.ts} +1 -1
- package/dist/generated/study-types.d.ts.map +1 -0
- package/dist/generated/study-types.js +4 -0
- package/dist/generated/study-types.js.map +1 -0
- package/dist/generated/synth-schema.d.ts +2 -0
- package/dist/generated/synth-schema.d.ts.map +1 -0
- package/dist/generated/synth-schema.js +3 -0
- package/dist/generated/synth-schema.js.map +1 -0
- package/dist/generated/synth-types.d.ts +484 -0
- package/dist/generated/synth-types.d.ts.map +1 -0
- package/dist/generated/synth-types.js +4 -0
- package/dist/generated/synth-types.js.map +1 -0
- package/dist/host.d.ts +23 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +60 -22
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +253 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +433 -11
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts +1 -0
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js.map +1 -1
- package/dist/protocol.d.ts +97 -7
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +96 -6
- package/dist/protocol.js.map +1 -1
- package/dist/study-document.d.ts +2 -2
- package/dist/study-document.d.ts.map +1 -1
- package/dist/study-document.js +1 -1
- package/dist/study-document.js.map +1 -1
- package/dist/wasm-pkg/LICENSE +17 -4
- package/dist/wasm-pkg/tellegen.d.ts +171 -6
- package/dist/wasm-pkg/tellegen.js +627 -33
- package/dist/wasm-pkg/tellegen_bg.wasm +0 -0
- package/dist/wasm-pkg/tellegen_bg.wasm.d.ts +32 -2
- package/dist/worker.js +10 -7
- package/dist/worker.js.map +1 -1
- package/package.json +17 -11
- package/dist/generated/contracts.d.ts.map +0 -1
- package/dist/generated/contracts.js +0 -8
- package/dist/generated/contracts.js.map +0 -1
- package/dist/generated/study-contracts.d.ts.map +0 -1
- package/dist/generated/study-contracts.js +0 -4
- package/dist/generated/study-contracts.js.map +0 -1
- package/dist/wasm-pkg/LICENSE-APACHE +0 -201
- package/dist/wasm-pkg/LICENSE-MIT +0 -19
|
@@ -4,11 +4,20 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* A retained fixed-point current-injection session. The prepared network,
|
|
6
6
|
* sparse LU, and last converged voltage remain in this WASM object across
|
|
7
|
-
* load edits.
|
|
7
|
+
* load edits. Ordinary edits return the compact summary; detailed terminal
|
|
8
|
+
* and equipment values are fetched on demand.
|
|
8
9
|
*/
|
|
9
10
|
export class McPfSession {
|
|
10
11
|
free(): void;
|
|
11
12
|
[Symbol.dispose](): void;
|
|
13
|
+
/**
|
|
14
|
+
* Phase timings of the session's parse, preparation, factorization, and first solve.
|
|
15
|
+
*/
|
|
16
|
+
cold_profile(): string;
|
|
17
|
+
/**
|
|
18
|
+
* One bounded page of terminal and equipment values for a bus or element.
|
|
19
|
+
*/
|
|
20
|
+
detail(query_json: string): string;
|
|
12
21
|
/**
|
|
13
22
|
* Materialize the current edited input as PowerIO IR.
|
|
14
23
|
*/
|
|
@@ -17,20 +26,46 @@ export class McPfSession {
|
|
|
17
26
|
* Editable load branches with base and current P/Q values.
|
|
18
27
|
*/
|
|
19
28
|
load_branches(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Edited networks materialized for portable output; ordinary edits build none.
|
|
31
|
+
*/
|
|
32
|
+
materialization_count(): number;
|
|
20
33
|
constructor(module_json: string, options_json: string);
|
|
21
34
|
/**
|
|
22
|
-
*
|
|
23
|
-
|
|
35
|
+
* Phase timings of the most recent solve.
|
|
36
|
+
*/
|
|
37
|
+
profile(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Replace the absolute branch-power edit state, solve with the retained
|
|
40
|
+
* factorization and previous converged voltage, and return the summary.
|
|
24
41
|
*/
|
|
25
42
|
replace_load_powers(edits_json: string): string;
|
|
26
43
|
/**
|
|
27
|
-
* The
|
|
44
|
+
* The complete terminal and equipment result, built on demand. Its size
|
|
45
|
+
* grows with the network; the interactive path uses `summary`/`detail`.
|
|
28
46
|
*/
|
|
29
47
|
result(): string;
|
|
30
48
|
/**
|
|
31
49
|
* Save the current edited point and result without re-solving.
|
|
32
50
|
*/
|
|
33
51
|
snapshot(study_id: string, study_title: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* The compact summary of the current operating point (constant size).
|
|
54
|
+
*/
|
|
55
|
+
summary(): string;
|
|
56
|
+
/**
|
|
57
|
+
* Currents injected into the network as interleaved `[re, im]` amperes.
|
|
58
|
+
*/
|
|
59
|
+
terminal_currents(): Float64Array;
|
|
60
|
+
/**
|
|
61
|
+
* Terminal identities as `[bus, terminal]` pairs in calculation order.
|
|
62
|
+
* They never change for a session, so a host fetches them once.
|
|
63
|
+
*/
|
|
64
|
+
terminal_ids(): string;
|
|
65
|
+
/**
|
|
66
|
+
* Terminal voltages as interleaved `[re, im]` volts (a `Float64Array`).
|
|
67
|
+
*/
|
|
68
|
+
terminal_voltages(): Float64Array;
|
|
34
69
|
}
|
|
35
70
|
|
|
36
71
|
/**
|
|
@@ -138,6 +173,76 @@ export class Study {
|
|
|
138
173
|
solution(): string;
|
|
139
174
|
}
|
|
140
175
|
|
|
176
|
+
/**
|
|
177
|
+
* A synthetic preview as flat arrays: bus `[lon, lat]` pairs, kinds (0 load,
|
|
178
|
+
* 1 substation, 2 generator, 3 converter) and kV in bus order, branch route
|
|
179
|
+
* points, the index where each route starts (one entry more than there are
|
|
180
|
+
* branches) and branch kV.
|
|
181
|
+
*/
|
|
182
|
+
export class SynthPreviewBuffers {
|
|
183
|
+
private constructor();
|
|
184
|
+
free(): void;
|
|
185
|
+
[Symbol.dispose](): void;
|
|
186
|
+
branch_kv(): Float32Array;
|
|
187
|
+
branch_positions(): Float64Array;
|
|
188
|
+
branch_start_indices(): Uint32Array;
|
|
189
|
+
bus_kinds(): Uint8Array;
|
|
190
|
+
bus_kv(): Float32Array;
|
|
191
|
+
bus_positions(): Float64Array;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* A staged synthetic generation: one bounded stage per `advance`, a map
|
|
196
|
+
* preview between stages, and the module, the report and the drop-panel
|
|
197
|
+
* payload once it is done.
|
|
198
|
+
*/
|
|
199
|
+
export class SynthSession {
|
|
200
|
+
free(): void;
|
|
201
|
+
[Symbol.dispose](): void;
|
|
202
|
+
/**
|
|
203
|
+
* Run one stage (one calibration iteration for `calibrate`); returns the
|
|
204
|
+
* `StepOutcome` JSON.
|
|
205
|
+
*/
|
|
206
|
+
advance(): string;
|
|
207
|
+
/**
|
|
208
|
+
* The network as GridFM graphkit JSON (per-unit feature matrices on a
|
|
209
|
+
* 0-based bus index), from `electrify` on.
|
|
210
|
+
*/
|
|
211
|
+
export_gridfm(): string;
|
|
212
|
+
/**
|
|
213
|
+
* The drop-panel payload of the module (the `ingest_case` shape with
|
|
214
|
+
* `module_json`).
|
|
215
|
+
*/
|
|
216
|
+
ingest(): string;
|
|
217
|
+
/**
|
|
218
|
+
* The module as generation 2 PowerIO IR text, with bus locations and
|
|
219
|
+
* branch routes, from `electrify` on.
|
|
220
|
+
*/
|
|
221
|
+
module(): string;
|
|
222
|
+
/**
|
|
223
|
+
* Open a session at the `context` stage. `osm_json` is the Overpass
|
|
224
|
+
* document (one, or a JSON array of documents) for `source: "osm"`.
|
|
225
|
+
*/
|
|
226
|
+
constructor(request_json: string, osm_json?: string | null);
|
|
227
|
+
/**
|
|
228
|
+
* The map preview as `Preview` JSON records.
|
|
229
|
+
*/
|
|
230
|
+
preview(): string;
|
|
231
|
+
/**
|
|
232
|
+
* The map preview as flat arrays for binary map attributes, computed
|
|
233
|
+
* once; read each array, then `free()` the buffers.
|
|
234
|
+
*/
|
|
235
|
+
preview_buffers(): SynthPreviewBuffers;
|
|
236
|
+
/**
|
|
237
|
+
* The `GenerationReport` JSON, partial until the session is done.
|
|
238
|
+
*/
|
|
239
|
+
report(): string;
|
|
240
|
+
/**
|
|
241
|
+
* The stage the next `advance` runs.
|
|
242
|
+
*/
|
|
243
|
+
stage(): string;
|
|
244
|
+
}
|
|
245
|
+
|
|
141
246
|
/**
|
|
142
247
|
* Fill case coordinates from a PowerWorld `.pwd` sibling: substation symbols
|
|
143
248
|
* project to approximate longitude/latitude and join onto buses through the
|
|
@@ -230,6 +335,13 @@ export function ingest_dist_case_bytes(bytes: Uint8Array, format: string): strin
|
|
|
230
335
|
*/
|
|
231
336
|
export function ingest_json_drop(bytes: Uint8Array): string;
|
|
232
337
|
|
|
338
|
+
/**
|
|
339
|
+
* Engine heap accounting: live and peak bytes held by the WASM allocator
|
|
340
|
+
* (peak since the last reset) and the size of linear memory, which only
|
|
341
|
+
* grows. Native builds report zeros.
|
|
342
|
+
*/
|
|
343
|
+
export function memory_stats(): string;
|
|
344
|
+
|
|
233
345
|
/**
|
|
234
346
|
* Parse a case file (MATPOWER, PSS/E RAW, PowerWorld aux, PowerModels or
|
|
235
347
|
* egret JSON) and return `{"network": ..., "diagnostics": [...]}` as JSON.
|
|
@@ -261,6 +373,11 @@ export function parse_geo(bytes: Uint8Array, hint: string): string;
|
|
|
261
373
|
*/
|
|
262
374
|
export function replay_mc_study(snapshot_json: string): string;
|
|
263
375
|
|
|
376
|
+
/**
|
|
377
|
+
* Start a new peak-heap window at the current live size.
|
|
378
|
+
*/
|
|
379
|
+
export function reset_peak_memory(): void;
|
|
380
|
+
|
|
264
381
|
/**
|
|
265
382
|
* Solve a raw BMOPF multiconductor constant-power case. The parser and
|
|
266
383
|
* fixed-point implementation remain in the engine crate; this export only
|
|
@@ -303,12 +420,32 @@ export function study_document_import(bundle_json: string): string;
|
|
|
303
420
|
*/
|
|
304
421
|
export function study_document_run(bundle_json: string, request_json: string, cancelled: Function): Promise<string>;
|
|
305
422
|
|
|
423
|
+
/**
|
|
424
|
+
* Run every stage of a synthetic generation: `{module_json, report, ingest}`.
|
|
425
|
+
*/
|
|
426
|
+
export function synth_generate(request_json: string, osm_json?: string | null): string;
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Load the populated places table every synthetic session of this instance
|
|
430
|
+
* reads (the engine package's `data/populated_places.json`, or any table of
|
|
431
|
+
* `{n, lo, la, p, c}` rows). Returns `{count, sha256}`.
|
|
432
|
+
*/
|
|
433
|
+
export function synth_load_places(bytes: Uint8Array): string;
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* The Overpass QL queries for a synthetic request's region: a JSON array, two
|
|
437
|
+
* entries when the region crosses the antimeridian.
|
|
438
|
+
*/
|
|
439
|
+
export function synth_overpass_queries(request_json: string): string;
|
|
440
|
+
|
|
306
441
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
307
442
|
|
|
308
443
|
export interface InitOutput {
|
|
309
444
|
readonly memory: WebAssembly.Memory;
|
|
310
445
|
readonly __wbg_mcpfsession_free: (a: number, b: number) => void;
|
|
311
446
|
readonly __wbg_study_free: (a: number, b: number) => void;
|
|
447
|
+
readonly __wbg_synthpreviewbuffers_free: (a: number, b: number) => void;
|
|
448
|
+
readonly __wbg_synthsession_free: (a: number, b: number) => void;
|
|
312
449
|
readonly apply_display_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
313
450
|
readonly apply_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
314
451
|
readonly apply_layout: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
@@ -320,16 +457,26 @@ export interface InitOutput {
|
|
|
320
457
|
readonly ingest_dist_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
321
458
|
readonly ingest_dist_case_bytes: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
322
459
|
readonly ingest_json_drop: (a: number, b: number) => [number, number, number, number];
|
|
460
|
+
readonly mcpfsession_cold_profile: (a: number) => [number, number, number, number];
|
|
461
|
+
readonly mcpfsession_detail: (a: number, b: number, c: number) => [number, number, number, number];
|
|
323
462
|
readonly mcpfsession_input_module: (a: number) => [number, number, number, number];
|
|
324
463
|
readonly mcpfsession_load_branches: (a: number) => [number, number, number, number];
|
|
464
|
+
readonly mcpfsession_materialization_count: (a: number) => number;
|
|
325
465
|
readonly mcpfsession_new: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
466
|
+
readonly mcpfsession_profile: (a: number) => [number, number, number, number];
|
|
326
467
|
readonly mcpfsession_replace_load_powers: (a: number, b: number, c: number) => [number, number, number, number];
|
|
327
468
|
readonly mcpfsession_result: (a: number) => [number, number, number, number];
|
|
328
469
|
readonly mcpfsession_snapshot: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
470
|
+
readonly mcpfsession_summary: (a: number) => [number, number, number, number];
|
|
471
|
+
readonly mcpfsession_terminal_currents: (a: number) => [number, number];
|
|
472
|
+
readonly mcpfsession_terminal_ids: (a: number) => [number, number, number, number];
|
|
473
|
+
readonly mcpfsession_terminal_voltages: (a: number) => [number, number];
|
|
474
|
+
readonly memory_stats: () => [number, number];
|
|
329
475
|
readonly parse_case: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
330
476
|
readonly parse_display: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
331
477
|
readonly parse_geo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
332
478
|
readonly replay_mc_study: (a: number, b: number) => [number, number, number, number];
|
|
479
|
+
readonly reset_peak_memory: () => void;
|
|
333
480
|
readonly solve_mc_bmopf: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
334
481
|
readonly solve_mc_module: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
335
482
|
readonly solve_mc_study: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
@@ -350,8 +497,26 @@ export interface InitOutput {
|
|
|
350
497
|
readonly study_save_module: (a: number) => [number, number, number, number];
|
|
351
498
|
readonly study_save_solution_module: (a: number) => [number, number, number, number];
|
|
352
499
|
readonly study_solution: (a: number) => [number, number, number, number];
|
|
353
|
-
readonly
|
|
354
|
-
readonly
|
|
500
|
+
readonly synth_generate: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
501
|
+
readonly synth_load_places: (a: number, b: number) => [number, number, number, number];
|
|
502
|
+
readonly synth_overpass_queries: (a: number, b: number) => [number, number, number, number];
|
|
503
|
+
readonly synthpreviewbuffers_branch_kv: (a: number) => [number, number];
|
|
504
|
+
readonly synthpreviewbuffers_branch_positions: (a: number) => [number, number];
|
|
505
|
+
readonly synthpreviewbuffers_branch_start_indices: (a: number) => [number, number];
|
|
506
|
+
readonly synthpreviewbuffers_bus_kinds: (a: number) => [number, number];
|
|
507
|
+
readonly synthpreviewbuffers_bus_kv: (a: number) => [number, number];
|
|
508
|
+
readonly synthpreviewbuffers_bus_positions: (a: number) => [number, number];
|
|
509
|
+
readonly synthsession_advance: (a: number) => [number, number, number, number];
|
|
510
|
+
readonly synthsession_export_gridfm: (a: number) => [number, number, number, number];
|
|
511
|
+
readonly synthsession_ingest: (a: number) => [number, number, number, number];
|
|
512
|
+
readonly synthsession_module: (a: number) => [number, number, number, number];
|
|
513
|
+
readonly synthsession_new: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
514
|
+
readonly synthsession_preview: (a: number) => [number, number, number, number];
|
|
515
|
+
readonly synthsession_preview_buffers: (a: number) => number;
|
|
516
|
+
readonly synthsession_report: (a: number) => [number, number, number, number];
|
|
517
|
+
readonly synthsession_stage: (a: number) => [number, number];
|
|
518
|
+
readonly wasm_bindgen__convert__closures_____invoke__h1c534e945ee6d3b6: (a: number, b: number, c: any) => [number, number];
|
|
519
|
+
readonly wasm_bindgen__convert__closures_____invoke__h67ba427e9454f1d8: (a: number, b: number, c: any, d: any) => void;
|
|
355
520
|
readonly __wbindgen_exn_store: (a: number) => void;
|
|
356
521
|
readonly __externref_table_alloc: () => number;
|
|
357
522
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|