@field/cascade 0.2.22
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/AGENTS.md +168 -0
- package/ARCHITECTURE.md +137 -0
- package/DESIGN.md +161 -0
- package/LICENSE +21 -0
- package/README.md +229 -0
- package/dist/assets/CodeEditor-DR7u0q7p.css +1 -0
- package/dist/assets/CodeEditor-DoaNEUaM.js +641 -0
- package/dist/assets/CodePanel-B0_2XJ-t.js +2 -0
- package/dist/assets/CodePanel-IT1secyI.css +1 -0
- package/dist/assets/CustomNodeDialog-026lzecD.js +1 -0
- package/dist/assets/CustomNodeDialog-JGYnWY6m.css +1 -0
- package/dist/assets/ExportDialog-DOq0flMV.css +1 -0
- package/dist/assets/ExportDialog-DWN4nhXI.js +358 -0
- package/dist/assets/ProjectSettings-BzT164Yx.js +2 -0
- package/dist/assets/ProjectSettings-DdO9xoQz.css +1 -0
- package/dist/assets/SettingsDialog-CeK7ytpY.css +1 -0
- package/dist/assets/SettingsDialog-DmHb1V0r.js +1 -0
- package/dist/assets/VersionHistoryDialog-CWNmHQ-P.css +1 -0
- package/dist/assets/VersionHistoryDialog-hH6VsXLX.js +3 -0
- package/dist/assets/abap-08VXUWAP.js +1 -0
- package/dist/assets/apex-BWPQTe0t.js +1 -0
- package/dist/assets/azcli-Bc_sGQ0U.js +1 -0
- package/dist/assets/bat-i0X4ZdIN.js +1 -0
- package/dist/assets/bicep-B5-_aFwp.js +2 -0
- package/dist/assets/cameligo-DMUM7wLl.js +1 -0
- package/dist/assets/cascade.jpg +0 -0
- package/dist/assets/clojure-Cm7r79vr.js +1 -0
- package/dist/assets/codicon-Brq4_Ui5.ttf +0 -0
- package/dist/assets/coffee-Ba7i2nA0.js +1 -0
- package/dist/assets/core-Bji4aZUU.js +965 -0
- package/dist/assets/cpp-C7h46wYY.js +1 -0
- package/dist/assets/csharp-BKxtCVv1.js +1 -0
- package/dist/assets/csp-bTuwJoIa.js +1 -0
- package/dist/assets/css-DIMkf-bt.js +3 -0
- package/dist/assets/css.worker-B3ciXF_0.js +93 -0
- package/dist/assets/cssMode-B6Z_Q1Kh.js +1 -0
- package/dist/assets/cypher-CVaqCwHa.js +1 -0
- package/dist/assets/dart-onAF5SnQ.js +1 -0
- package/dist/assets/dockerfile-DZFCIeNp.js +1 -0
- package/dist/assets/ecl-D05T4iGw.js +1 -0
- package/dist/assets/editor-1FQrmyyI.css +1 -0
- package/dist/assets/editor.api-jMoW_43X.js +847 -0
- package/dist/assets/editor.worker-q-txB4vs.js +30 -0
- package/dist/assets/elixir-6RTg0lbw.js +1 -0
- package/dist/assets/flow9-C5_-GSwl.js +1 -0
- package/dist/assets/freemarker2-DvvPV6m5.js +3 -0
- package/dist/assets/fsharp-C8Ef5oNN.js +1 -0
- package/dist/assets/geo-CXmCtzMM.js +2 -0
- package/dist/assets/go-C-y9NEjX.js +1 -0
- package/dist/assets/graphql-fmXr3nnJ.js +1 -0
- package/dist/assets/handlebars-B8rfuSIa.js +1 -0
- package/dist/assets/hcl-CpzslTdj.js +1 -0
- package/dist/assets/html-DyHm6JCp.js +1 -0
- package/dist/assets/html.worker-C93Ht9o9.js +506 -0
- package/dist/assets/htmlMode-E9XLWE5u.js +1 -0
- package/dist/assets/image-BUcQC7PG.js +2076 -0
- package/dist/assets/index-BXYXSdgh.js +224 -0
- package/dist/assets/index-CrNke7SW.css +1 -0
- package/dist/assets/index-client-DN_FvjN8.js +1 -0
- package/dist/assets/ini-sBoK_t0W.js +1 -0
- package/dist/assets/java-BEtHBSE6.js +1 -0
- package/dist/assets/javascript-C_bM5PCN.js +1 -0
- package/dist/assets/json.worker-B2V3pomh.js +62 -0
- package/dist/assets/jsonMode-BdyVS7G4.js +7 -0
- package/dist/assets/julia-Bri6UV-V.js +1 -0
- package/dist/assets/kotlin-BOotOW0E.js +1 -0
- package/dist/assets/legacy-DIu3XRwl.js +2 -0
- package/dist/assets/less-B9JPFI3C.js +2 -0
- package/dist/assets/lexon-CfSJPG6W.js +1 -0
- package/dist/assets/liquid-CDkn3spA.js +1 -0
- package/dist/assets/lspLanguageFeatures-AB5DMAsr.js +4 -0
- package/dist/assets/lua-CsQS60Ue.js +1 -0
- package/dist/assets/m3-D-oSqn_W.js +1 -0
- package/dist/assets/markdown-Cimd5fb3.js +1 -0
- package/dist/assets/mdx-BvH_NjDN.js +1 -0
- package/dist/assets/mips-CIPQ_RoX.js +1 -0
- package/dist/assets/msdax-DauUninz.js +1 -0
- package/dist/assets/mysql-SOo6toE5.js +1 -0
- package/dist/assets/nodeTypeUtils-CweA3NHd.js +1 -0
- package/dist/assets/objective-c-FvmIjYaQ.js +1 -0
- package/dist/assets/pascal-DrH0SRf2.js +1 -0
- package/dist/assets/pascaligo-D-ptJ9y-.js +1 -0
- package/dist/assets/perl-oz_6vUea.js +1 -0
- package/dist/assets/pgsql-DTj74zXo.js +1 -0
- package/dist/assets/php-nr791fC2.js +1 -0
- package/dist/assets/pla-CopQ2nXW.js +1 -0
- package/dist/assets/postiats-43DmfD33.js +1 -0
- package/dist/assets/powerquery-D3hlyOfw.js +1 -0
- package/dist/assets/powershell-DmHpPYUd.js +1 -0
- package/dist/assets/projectSettingsApi-C1WvIwfP.js +1 -0
- package/dist/assets/protobuf-C531GsRP.js +2 -0
- package/dist/assets/pug-Z5eAx3Zn.js +1 -0
- package/dist/assets/python-B7uii4fi.js +1 -0
- package/dist/assets/qsharp-DkqhCAOL.js +1 -0
- package/dist/assets/quill-DjZ69wL_.js +121 -0
- package/dist/assets/r-BwWrilGY.js +1 -0
- package/dist/assets/razor-Z48fWdJc.js +1 -0
- package/dist/assets/redis-ClamHrr6.js +1 -0
- package/dist/assets/redshift-DT7zqm-g.js +1 -0
- package/dist/assets/restructuredtext-BYgofb2h.js +1 -0
- package/dist/assets/ruby-DezsRK8O.js +1 -0
- package/dist/assets/rust-DdL9SqIa.js +1 -0
- package/dist/assets/sb-CcwsVR0C.js +1 -0
- package/dist/assets/scala-DHpiXF5c.js +1 -0
- package/dist/assets/scheme-BeGwcela.js +1 -0
- package/dist/assets/scss-gp-XZpBa.js +3 -0
- package/dist/assets/shell-CC2rA5mh.js +1 -0
- package/dist/assets/solidity-BEEn4gHE.js +1 -0
- package/dist/assets/sophia-CRfGWb83.js +1 -0
- package/dist/assets/sparql-D_Lu-MrJ.js +1 -0
- package/dist/assets/sql-NEE52Syq.js +1 -0
- package/dist/assets/st-DbInun42.js +1 -0
- package/dist/assets/swift-Bxkupp3x.js +1 -0
- package/dist/assets/systemverilog-Bz4Y3fRF.js +1 -0
- package/dist/assets/tcl-DISqw1ZD.js +1 -0
- package/dist/assets/ts.worker-D7T1-Ig5.js +67738 -0
- package/dist/assets/tsMode-BDgacVG4.js +11 -0
- package/dist/assets/twig-De2hgUGE.js +1 -0
- package/dist/assets/typescript-Derb6Oqa.js +1 -0
- package/dist/assets/typespec-B8J7ngcE.js +1 -0
- package/dist/assets/vb-DV3o63ZY.js +1 -0
- package/dist/assets/wgsl-DpFanUEy.js +298 -0
- package/dist/assets/workers-BtoMX_pm.js +1 -0
- package/dist/assets/xml-B1CaFSrG.js +1 -0
- package/dist/assets/yaml-HmIeA0KH.js +1 -0
- package/dist/cli/index.js +11377 -0
- package/dist/cli/index.js.map +7 -0
- package/dist/cli/runtime/io.ts +445 -0
- package/dist/cli/runtime/net.ts +19 -0
- package/dist/cli/runtime/shell.ts +46 -0
- package/dist/cli/runtime/stage.ts +132 -0
- package/dist/contracts/capabilities.d.ts +109 -0
- package/dist/contracts/capabilities.d.ts.map +1 -0
- package/dist/contracts/capabilities.js +11 -0
- package/dist/contracts/capabilities.js.map +1 -0
- package/dist/contracts/color.d.ts +67 -0
- package/dist/contracts/color.d.ts.map +1 -0
- package/dist/contracts/color.js +83 -0
- package/dist/contracts/color.js.map +1 -0
- package/dist/contracts/definition.d.ts +118 -0
- package/dist/contracts/definition.d.ts.map +1 -0
- package/dist/contracts/definition.js +2 -0
- package/dist/contracts/definition.js.map +1 -0
- package/dist/contracts/document.d.ts +50 -0
- package/dist/contracts/document.d.ts.map +1 -0
- package/dist/contracts/document.js +2 -0
- package/dist/contracts/document.js.map +1 -0
- package/dist/contracts/geometry.d.ts +301 -0
- package/dist/contracts/geometry.d.ts.map +1 -0
- package/dist/contracts/geometry.js +604 -0
- package/dist/contracts/geometry.js.map +1 -0
- package/dist/contracts/index.d.ts +8 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +8 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/schema.d.ts +6 -0
- package/dist/contracts/schema.d.ts.map +1 -0
- package/dist/contracts/schema.js +85 -0
- package/dist/contracts/schema.js.map +1 -0
- package/dist/contracts/validate.d.ts +13 -0
- package/dist/contracts/validate.d.ts.map +1 -0
- package/dist/contracts/validate.js +202 -0
- package/dist/contracts/validate.js.map +1 -0
- package/dist/contracts/values.d.ts +100 -0
- package/dist/contracts/values.d.ts.map +1 -0
- package/dist/contracts/values.js +59 -0
- package/dist/contracts/values.js.map +1 -0
- package/dist/graphs/default-orig.cascade +128 -0
- package/dist/graphs/default.cascade +21 -0
- package/dist/index.html +19 -0
- package/dist/runtime/browser.d.ts +3 -0
- package/dist/runtime/browser.d.ts.map +1 -0
- package/dist/runtime/browser.js +12 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/builtins/core/index.d.ts +9 -0
- package/dist/runtime/builtins/core/index.d.ts.map +1 -0
- package/dist/runtime/builtins/core/index.js +21 -0
- package/dist/runtime/builtins/core/index.js.map +1 -0
- package/dist/runtime/builtins/core/random.d.ts +66 -0
- package/dist/runtime/builtins/core/random.d.ts.map +1 -0
- package/dist/runtime/builtins/core/random.js +46 -0
- package/dist/runtime/builtins/core/random.js.map +1 -0
- package/dist/runtime/builtins/core/remap.d.ts +105 -0
- package/dist/runtime/builtins/core/remap.d.ts.map +1 -0
- package/dist/runtime/builtins/core/remap.js +43 -0
- package/dist/runtime/builtins/core/remap.js.map +1 -0
- package/dist/runtime/builtins/core/routing.d.ts +117 -0
- package/dist/runtime/builtins/core/routing.d.ts.map +1 -0
- package/dist/runtime/builtins/core/routing.js +114 -0
- package/dist/runtime/builtins/core/routing.js.map +1 -0
- package/dist/runtime/builtins/core/structural.d.ts +86 -0
- package/dist/runtime/builtins/core/structural.d.ts.map +1 -0
- package/dist/runtime/builtins/core/structural.js +63 -0
- package/dist/runtime/builtins/core/structural.js.map +1 -0
- package/dist/runtime/builtins/geo/copyToPoints.d.ts +58 -0
- package/dist/runtime/builtins/geo/copyToPoints.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/copyToPoints.js +35 -0
- package/dist/runtime/builtins/geo/copyToPoints.js.map +1 -0
- package/dist/runtime/builtins/geo/definitions.d.ts +526 -0
- package/dist/runtime/builtins/geo/definitions.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/definitions.js +182 -0
- package/dist/runtime/builtins/geo/definitions.js.map +1 -0
- package/dist/runtime/builtins/geo/generators.d.ts +94 -0
- package/dist/runtime/builtins/geo/generators.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/generators.js +41 -0
- package/dist/runtime/builtins/geo/generators.js.map +1 -0
- package/dist/runtime/builtins/geo/index.d.ts +23 -0
- package/dist/runtime/builtins/geo/index.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/index.js +35 -0
- package/dist/runtime/builtins/geo/index.js.map +1 -0
- package/dist/runtime/builtins/geo/merge.d.ts +40 -0
- package/dist/runtime/builtins/geo/merge.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/merge.js +24 -0
- package/dist/runtime/builtins/geo/merge.js.map +1 -0
- package/dist/runtime/builtins/geo/namespace.d.ts +15 -0
- package/dist/runtime/builtins/geo/namespace.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/namespace.js +17 -0
- package/dist/runtime/builtins/geo/namespace.js.map +1 -0
- package/dist/runtime/builtins/geo/svgExport.d.ts +130 -0
- package/dist/runtime/builtins/geo/svgExport.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/svgExport.js +50 -0
- package/dist/runtime/builtins/geo/svgExport.js.map +1 -0
- package/dist/runtime/builtins/geo/transform.d.ts +60 -0
- package/dist/runtime/builtins/geo/transform.d.ts.map +1 -0
- package/dist/runtime/builtins/geo/transform.js +32 -0
- package/dist/runtime/builtins/geo/transform.js.map +1 -0
- package/dist/runtime/builtins/index.d.ts +9 -0
- package/dist/runtime/builtins/index.d.ts.map +1 -0
- package/dist/runtime/builtins/index.js +16 -0
- package/dist/runtime/builtins/index.js.map +1 -0
- package/dist/runtime/definition/architecture.d.ts +8 -0
- package/dist/runtime/definition/architecture.d.ts.map +1 -0
- package/dist/runtime/definition/architecture.js +112 -0
- package/dist/runtime/definition/architecture.js.map +1 -0
- package/dist/runtime/definition/extract.d.ts +12 -0
- package/dist/runtime/definition/extract.d.ts.map +1 -0
- package/dist/runtime/definition/extract.js +151 -0
- package/dist/runtime/definition/extract.js.map +1 -0
- package/dist/runtime/error.d.ts +8 -0
- package/dist/runtime/error.d.ts.map +1 -0
- package/dist/runtime/error.js +11 -0
- package/dist/runtime/error.js.map +1 -0
- package/dist/runtime/geometry/attributes.d.ts +65 -0
- package/dist/runtime/geometry/attributes.d.ts.map +1 -0
- package/dist/runtime/geometry/attributes.js +201 -0
- package/dist/runtime/geometry/attributes.js.map +1 -0
- package/dist/runtime/geometry/builder.d.ts +57 -0
- package/dist/runtime/geometry/builder.d.ts.map +1 -0
- package/dist/runtime/geometry/builder.js +153 -0
- package/dist/runtime/geometry/builder.js.map +1 -0
- package/dist/runtime/geometry/copy.d.ts +36 -0
- package/dist/runtime/geometry/copy.d.ts.map +1 -0
- package/dist/runtime/geometry/copy.js +68 -0
- package/dist/runtime/geometry/copy.js.map +1 -0
- package/dist/runtime/geometry/generate.d.ts +43 -0
- package/dist/runtime/geometry/generate.d.ts.map +1 -0
- package/dist/runtime/geometry/generate.js +76 -0
- package/dist/runtime/geometry/generate.js.map +1 -0
- package/dist/runtime/geometry/groups.d.ts +18 -0
- package/dist/runtime/geometry/groups.d.ts.map +1 -0
- package/dist/runtime/geometry/groups.js +69 -0
- package/dist/runtime/geometry/groups.js.map +1 -0
- package/dist/runtime/geometry/index.d.ts +23 -0
- package/dist/runtime/geometry/index.d.ts.map +1 -0
- package/dist/runtime/geometry/index.js +23 -0
- package/dist/runtime/geometry/index.js.map +1 -0
- package/dist/runtime/geometry/matrix.d.ts +26 -0
- package/dist/runtime/geometry/matrix.d.ts.map +1 -0
- package/dist/runtime/geometry/matrix.js +27 -0
- package/dist/runtime/geometry/matrix.js.map +1 -0
- package/dist/runtime/geometry/merge.d.ts +33 -0
- package/dist/runtime/geometry/merge.d.ts.map +1 -0
- package/dist/runtime/geometry/merge.js +185 -0
- package/dist/runtime/geometry/merge.js.map +1 -0
- package/dist/runtime/geometry/primitives.d.ts +41 -0
- package/dist/runtime/geometry/primitives.d.ts.map +1 -0
- package/dist/runtime/geometry/primitives.js +131 -0
- package/dist/runtime/geometry/primitives.js.map +1 -0
- package/dist/runtime/geometry/promote.d.ts +44 -0
- package/dist/runtime/geometry/promote.d.ts.map +1 -0
- package/dist/runtime/geometry/promote.js +203 -0
- package/dist/runtime/geometry/promote.js.map +1 -0
- package/dist/runtime/geometry/resample.d.ts +29 -0
- package/dist/runtime/geometry/resample.d.ts.map +1 -0
- package/dist/runtime/geometry/resample.js +165 -0
- package/dist/runtime/geometry/resample.js.map +1 -0
- package/dist/runtime/geometry/svg.d.ts +91 -0
- package/dist/runtime/geometry/svg.d.ts.map +1 -0
- package/dist/runtime/geometry/svg.js +216 -0
- package/dist/runtime/geometry/svg.js.map +1 -0
- package/dist/runtime/geometry/transform.d.ts +18 -0
- package/dist/runtime/geometry/transform.d.ts.map +1 -0
- package/dist/runtime/geometry/transform.js +56 -0
- package/dist/runtime/geometry/transform.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/node.d.ts +4 -0
- package/dist/runtime/node.d.ts.map +1 -0
- package/dist/runtime/node.js +12 -0
- package/dist/runtime/node.js.map +1 -0
- package/dist/runtime/runtime.d.ts +3 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.js +1198 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/types.d.ts +241 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/shell.d.ts +8 -0
- package/dist/shell.js +54 -0
- package/dist/shell.js.map +7 -0
- package/dist/stage.d.ts +7 -0
- package/dist/stage.js +84 -0
- package/dist/stage.js.map +7 -0
- package/dist/studio/panel.d.ts +48 -0
- package/doc/PROJECT_AUTHORING.md +360 -0
- package/package.json +126 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type { AssetRef, ImageRef, JsonValue, TextureHandle } from "./values.js";
|
|
2
|
+
export interface CascadeAbortSignal {
|
|
3
|
+
readonly aborted: boolean;
|
|
4
|
+
readonly reason?: unknown;
|
|
5
|
+
addEventListener(type: "abort", listener: () => void, options?: {
|
|
6
|
+
once?: boolean;
|
|
7
|
+
}): void;
|
|
8
|
+
removeEventListener(type: "abort", listener: () => void): void;
|
|
9
|
+
}
|
|
10
|
+
export interface ResourceLease<T> {
|
|
11
|
+
readonly value: T;
|
|
12
|
+
release(): void | Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export interface ProgressReporter {
|
|
15
|
+
report(event: {
|
|
16
|
+
progress?: number;
|
|
17
|
+
message?: string;
|
|
18
|
+
detail?: JsonValue;
|
|
19
|
+
}): void;
|
|
20
|
+
}
|
|
21
|
+
export interface FileCapability {
|
|
22
|
+
read(path: string, options: {
|
|
23
|
+
signal: CascadeAbortSignal;
|
|
24
|
+
}): Promise<Uint8Array>;
|
|
25
|
+
write(path: string, data: Uint8Array, options: {
|
|
26
|
+
signal: CascadeAbortSignal;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
list(path: string, options: {
|
|
29
|
+
signal: CascadeAbortSignal;
|
|
30
|
+
}): Promise<readonly string[]>;
|
|
31
|
+
stat(path: string, options: {
|
|
32
|
+
signal: CascadeAbortSignal;
|
|
33
|
+
}): Promise<{
|
|
34
|
+
size: number;
|
|
35
|
+
modifiedAt?: number;
|
|
36
|
+
} | null>;
|
|
37
|
+
}
|
|
38
|
+
export interface AssetCapability {
|
|
39
|
+
read(ref: AssetRef, options: {
|
|
40
|
+
signal: CascadeAbortSignal;
|
|
41
|
+
}): Promise<Uint8Array>;
|
|
42
|
+
write(data: Uint8Array, metadata: {
|
|
43
|
+
mediaType?: string;
|
|
44
|
+
suggestedName?: string;
|
|
45
|
+
}, options: {
|
|
46
|
+
signal: CascadeAbortSignal;
|
|
47
|
+
}): Promise<AssetRef>;
|
|
48
|
+
resolveUrl?(ref: AssetRef | ImageRef): Promise<ResourceLease<string>>;
|
|
49
|
+
}
|
|
50
|
+
export interface MediaCapability {
|
|
51
|
+
decodeImage(ref: ImageRef | AssetRef, options: {
|
|
52
|
+
signal: CascadeAbortSignal;
|
|
53
|
+
}): Promise<ResourceLease<unknown>>;
|
|
54
|
+
encodeImage(value: unknown, encoding: JsonValue, options: {
|
|
55
|
+
signal: CascadeAbortSignal;
|
|
56
|
+
progress: ProgressReporter;
|
|
57
|
+
}): Promise<ImageRef | AssetRef>;
|
|
58
|
+
}
|
|
59
|
+
export interface PythonCapability {
|
|
60
|
+
invoke(request: {
|
|
61
|
+
operation: string;
|
|
62
|
+
input: JsonValue;
|
|
63
|
+
assets?: readonly AssetRef[];
|
|
64
|
+
}, options: {
|
|
65
|
+
signal: CascadeAbortSignal;
|
|
66
|
+
progress: ProgressReporter;
|
|
67
|
+
}): Promise<JsonValue | AssetRef | ImageRef>;
|
|
68
|
+
}
|
|
69
|
+
export interface WebGLCapability {
|
|
70
|
+
createTexture(descriptor: JsonValue, options: {
|
|
71
|
+
signal: CascadeAbortSignal;
|
|
72
|
+
}): Promise<ResourceLease<TextureHandle>>;
|
|
73
|
+
}
|
|
74
|
+
export interface ShellRunResult {
|
|
75
|
+
readonly stdout: string;
|
|
76
|
+
readonly stderr: string;
|
|
77
|
+
readonly code: number | null;
|
|
78
|
+
readonly timedOut: boolean;
|
|
79
|
+
readonly cancelled: boolean;
|
|
80
|
+
readonly outputLimited: boolean;
|
|
81
|
+
}
|
|
82
|
+
export type ShellProcessErrorKind = "nonzero" | "invalid-json" | "spawn" | "timeout" | "cancelled" | "output-limit";
|
|
83
|
+
export declare class ShellProcessError extends Error {
|
|
84
|
+
readonly kind: ShellProcessErrorKind;
|
|
85
|
+
readonly result: ShellRunResult;
|
|
86
|
+
readonly name = "ShellProcessError";
|
|
87
|
+
constructor(kind: ShellProcessErrorKind, result: ShellRunResult, message?: string);
|
|
88
|
+
}
|
|
89
|
+
export interface ShellRunOptions {
|
|
90
|
+
readonly cwd?: string;
|
|
91
|
+
readonly timeout?: number;
|
|
92
|
+
readonly stdin?: string;
|
|
93
|
+
readonly env?: Readonly<Record<string, string>>;
|
|
94
|
+
readonly signal?: CascadeAbortSignal;
|
|
95
|
+
}
|
|
96
|
+
export interface ShellCapability {
|
|
97
|
+
run(command: string, args?: readonly string[], options?: ShellRunOptions): Promise<ShellRunResult>;
|
|
98
|
+
runJson<T = unknown>(command: string, args?: readonly string[], options?: ShellRunOptions): Promise<T>;
|
|
99
|
+
}
|
|
100
|
+
export interface CapabilityMap {
|
|
101
|
+
readonly files: FileCapability;
|
|
102
|
+
readonly assets: AssetCapability;
|
|
103
|
+
readonly media: MediaCapability;
|
|
104
|
+
readonly python: PythonCapability;
|
|
105
|
+
readonly webgl: WebGLCapability;
|
|
106
|
+
readonly shell: ShellCapability;
|
|
107
|
+
}
|
|
108
|
+
export type NodeCapabilityName = keyof CapabilityMap;
|
|
109
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class ShellProcessError extends Error {
|
|
2
|
+
kind;
|
|
3
|
+
result;
|
|
4
|
+
name = "ShellProcessError";
|
|
5
|
+
constructor(kind, result, message = `Shell process failed: ${kind}`) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.kind = kind;
|
|
8
|
+
this.result = result;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAgGA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAG/B;IACA;IAHF,IAAI,GAAG,mBAAmB,CAAC;IACpC,YACW,IAA2B,EAC3B,MAAsB,EAC/B,OAAO,GAAG,yBAAyB,IAAI,EAAE;QAEzC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAAuB;QAC3B,WAAM,GAAN,MAAM,CAAgB;IAIjC,CAAC;CACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Vec4 } from "./values.js";
|
|
2
|
+
/**
|
|
3
|
+
* Colour is a four-component vector, always. Marcus ruled on that 2026-09-04:
|
|
4
|
+
* *"colour should only be a 4 component vector; when a hex/string value is
|
|
5
|
+
* needed we should use conversions with a .toHex and .toString methods."*
|
|
6
|
+
*
|
|
7
|
+
* So `Cd` is `vec4`, a `color` prop is `vec4`, and there is no second
|
|
8
|
+
* representation anywhere in the system. Hex and CSS are *spellings* produced at
|
|
9
|
+
* the edge by the code that has to emit text, which today is the SVG writer and
|
|
10
|
+
* tomorrow is a canvas host or a project reading a palette out of JSON.
|
|
11
|
+
*
|
|
12
|
+
* ## Why a namespace object rather than methods on a colour
|
|
13
|
+
*
|
|
14
|
+
* `.toHex()` on a colour would need a colour to be an object, and a colour is a
|
|
15
|
+
* `Vec4` — a plain readonly array of four numbers. That is not an accident of
|
|
16
|
+
* this file: it is what makes a colour a value the graph can carry, serialize as
|
|
17
|
+
* `[1, 0.5, 0, 1]`, store in a `vec4` port, and share with an attribute's flat
|
|
18
|
+
* `Float64Array` without a conversion. Giving it methods means giving it a
|
|
19
|
+
* prototype, and then a colour that survives a round trip through JSON is no
|
|
20
|
+
* longer a colour. So the operations live beside the type instead of on it, the
|
|
21
|
+
* way `Math` and `JSON` do, and `Color` is both the type and the namespace, the
|
|
22
|
+
* way `Array` is.
|
|
23
|
+
*
|
|
24
|
+
* Components are unit-range `[0, 1]` for red, green, blue and alpha, in that
|
|
25
|
+
* order. Everything here clamps rather than throwing on an out-of-range
|
|
26
|
+
* component, because a colour arriving slightly outside the range is arithmetic
|
|
27
|
+
* rather than an authoring error; a malformed hex *string* is an authoring error
|
|
28
|
+
* and `fromHex` says so.
|
|
29
|
+
*/
|
|
30
|
+
export type Color = Vec4;
|
|
31
|
+
export declare const Color: Readonly<{
|
|
32
|
+
/**
|
|
33
|
+
* `#rgb`, `#rgba`, `#rrggbb` or `#rrggbbaa` to a colour. Alpha defaults to 1
|
|
34
|
+
* when the string carries none. The three- and four-digit shorthands are
|
|
35
|
+
* accepted because CSS accepts them and hand-written palettes use them;
|
|
36
|
+
* anything else throws, since a colour that silently parses to black is the
|
|
37
|
+
* failure this whole ruling exists to remove.
|
|
38
|
+
*/
|
|
39
|
+
fromHex(value: string): Color;
|
|
40
|
+
/** Whether `fromHex` would accept this string. */
|
|
41
|
+
isHex(value: unknown): value is string;
|
|
42
|
+
/**
|
|
43
|
+
* `#rrggbb`, or `#rrggbbaa` with `includeAlpha`. The default drops alpha
|
|
44
|
+
* because eight-digit hex is CSS Color 4 and plotter and vector-editor
|
|
45
|
+
* software of the kind this library exists to feed does not read it. Callers
|
|
46
|
+
* that need the alpha to survive emit it as a separate opacity, which is what
|
|
47
|
+
* the SVG writer does.
|
|
48
|
+
*/
|
|
49
|
+
toHex(color: Color, includeAlpha?: boolean): string;
|
|
50
|
+
/**
|
|
51
|
+
* A CSS colour: `rgb(255, 128, 0)`, or `rgba(255, 128, 0, 0.5)` when alpha is
|
|
52
|
+
* below 1. The legacy comma forms rather than the modern space-separated
|
|
53
|
+
* ones, for the same compatibility reason `toHex` drops alpha by default.
|
|
54
|
+
*/
|
|
55
|
+
toString(color: Color): string;
|
|
56
|
+
/** Alpha on its own, for a renderer that carries opacity separately. */
|
|
57
|
+
alpha(color: Color): number;
|
|
58
|
+
/** The same colour at full alpha. */
|
|
59
|
+
opaque(color: Color): Color;
|
|
60
|
+
/**
|
|
61
|
+
* Four unit components from anything indexable, clamping and defaulting a
|
|
62
|
+
* missing alpha to 1. The reader for a `Cd` attribute's flat array, and the
|
|
63
|
+
* one place that decides what an under-sized colour means.
|
|
64
|
+
*/
|
|
65
|
+
fromComponents(components: ArrayLike<number>, offset?: number, size?: number): Color;
|
|
66
|
+
}>;
|
|
67
|
+
//# sourceMappingURL=color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC;AA6BzB,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;mBACY,MAAM,GAAG,KAAK;IAc7B,kDAAkD;iBACrC,OAAO,GAAG,KAAK,IAAI,MAAM;IAItC;;;;;;OAMG;iBACU,KAAK,2BAAyB,MAAM;IAMjD;;;;OAIG;oBACa,KAAK,GAAG,MAAM;IAO9B,wEAAwE;iBAC3D,KAAK,GAAG,MAAM;IAI3B,qCAAqC;kBACvB,KAAK,GAAG,KAAK;IAI3B;;;;OAIG;+BAEW,SAAS,CAAC,MAAM,CAAC,mCAG5B,KAAK;EAKR,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const HEX = /^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
|
|
2
|
+
function clamp(value) {
|
|
3
|
+
return !Number.isFinite(value) ? 0 : value < 0 ? 0 : value > 1 ? 1 : value;
|
|
4
|
+
}
|
|
5
|
+
function byte(value) {
|
|
6
|
+
return Math.round(clamp(value) * 255);
|
|
7
|
+
}
|
|
8
|
+
function pair(value) {
|
|
9
|
+
return byte(value).toString(16).padStart(2, "0");
|
|
10
|
+
}
|
|
11
|
+
/** `0.5` rather than `0.50000000000000001`, and `1` rather than `1.000`. */
|
|
12
|
+
function unit(value) {
|
|
13
|
+
return String(Number(clamp(value).toFixed(4)));
|
|
14
|
+
}
|
|
15
|
+
function expand(digits) {
|
|
16
|
+
const wide = digits.length <= 4
|
|
17
|
+
? [...digits].map((digit) => `${digit}${digit}`)
|
|
18
|
+
: (digits.match(/../g) ?? []);
|
|
19
|
+
return wide.map((component) => Number.parseInt(component, 16) / 255);
|
|
20
|
+
}
|
|
21
|
+
export const Color = Object.freeze({
|
|
22
|
+
/**
|
|
23
|
+
* `#rgb`, `#rgba`, `#rrggbb` or `#rrggbbaa` to a colour. Alpha defaults to 1
|
|
24
|
+
* when the string carries none. The three- and four-digit shorthands are
|
|
25
|
+
* accepted because CSS accepts them and hand-written palettes use them;
|
|
26
|
+
* anything else throws, since a colour that silently parses to black is the
|
|
27
|
+
* failure this whole ruling exists to remove.
|
|
28
|
+
*/
|
|
29
|
+
fromHex(value) {
|
|
30
|
+
if (!HEX.test(value))
|
|
31
|
+
throw new TypeError(`color/invalid-hex: ${value} is not #rgb, #rgba, #rrggbb or #rrggbbaa`);
|
|
32
|
+
const components = expand(value.slice(1));
|
|
33
|
+
return [
|
|
34
|
+
components[0],
|
|
35
|
+
components[1],
|
|
36
|
+
components[2],
|
|
37
|
+
components[3] ?? 1,
|
|
38
|
+
];
|
|
39
|
+
},
|
|
40
|
+
/** Whether `fromHex` would accept this string. */
|
|
41
|
+
isHex(value) {
|
|
42
|
+
return typeof value === "string" && HEX.test(value);
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* `#rrggbb`, or `#rrggbbaa` with `includeAlpha`. The default drops alpha
|
|
46
|
+
* because eight-digit hex is CSS Color 4 and plotter and vector-editor
|
|
47
|
+
* software of the kind this library exists to feed does not read it. Callers
|
|
48
|
+
* that need the alpha to survive emit it as a separate opacity, which is what
|
|
49
|
+
* the SVG writer does.
|
|
50
|
+
*/
|
|
51
|
+
toHex(color, includeAlpha = false) {
|
|
52
|
+
return `#${pair(color[0])}${pair(color[1])}${pair(color[2])}${includeAlpha ? pair(color[3]) : ""}`;
|
|
53
|
+
},
|
|
54
|
+
/**
|
|
55
|
+
* A CSS colour: `rgb(255, 128, 0)`, or `rgba(255, 128, 0, 0.5)` when alpha is
|
|
56
|
+
* below 1. The legacy comma forms rather than the modern space-separated
|
|
57
|
+
* ones, for the same compatibility reason `toHex` drops alpha by default.
|
|
58
|
+
*/
|
|
59
|
+
toString(color) {
|
|
60
|
+
const channels = `${byte(color[0])}, ${byte(color[1])}, ${byte(color[2])}`;
|
|
61
|
+
return clamp(color[3]) >= 1
|
|
62
|
+
? `rgb(${channels})`
|
|
63
|
+
: `rgba(${channels}, ${unit(color[3])})`;
|
|
64
|
+
},
|
|
65
|
+
/** Alpha on its own, for a renderer that carries opacity separately. */
|
|
66
|
+
alpha(color) {
|
|
67
|
+
return clamp(color[3]);
|
|
68
|
+
},
|
|
69
|
+
/** The same colour at full alpha. */
|
|
70
|
+
opaque(color) {
|
|
71
|
+
return [clamp(color[0]), clamp(color[1]), clamp(color[2]), 1];
|
|
72
|
+
},
|
|
73
|
+
/**
|
|
74
|
+
* Four unit components from anything indexable, clamping and defaulting a
|
|
75
|
+
* missing alpha to 1. The reader for a `Cd` attribute's flat array, and the
|
|
76
|
+
* one place that decides what an under-sized colour means.
|
|
77
|
+
*/
|
|
78
|
+
fromComponents(components, offset = 0, size = 4) {
|
|
79
|
+
const at = (component) => component < size ? clamp(components[offset + component] ?? 0) : 0;
|
|
80
|
+
return [at(0), at(1), at(2), size < 4 ? 1 : at(3)];
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { CapabilityMap, CascadeAbortSignal, NodeCapabilityName, ProgressReporter } from "./capabilities.js";
|
|
2
|
+
import type { CascadeType, CoreType, JsonValue, NamespacedType, SerializableValueForType, ValueForType } from "./values.js";
|
|
3
|
+
export type RuntimeEnvironment = "portable" | "browser" | "server";
|
|
4
|
+
export type CapabilityForEnvironment<E extends RuntimeEnvironment> = E extends "portable" ? "assets" | "media" : E extends "browser" ? "assets" | "media" | "webgl" : "files" | "assets" | "media" | "python" | "shell";
|
|
5
|
+
export type DataTypeForEnvironment<E extends RuntimeEnvironment> = E extends "browser" ? CascadeType : Exclude<CascadeType, "texture">;
|
|
6
|
+
type ControlFor<T extends CascadeType> = T extends "float" ? "number" | "slider" | "range" : T extends "int" ? "int" | "slider" | "range" : T extends "bool" ? "boolean" : T extends "string" ? "text" | "textarea" | "select" : T extends "vec2" | "vec3" | "vec4" | "vec2i" | "vec3i" | "vec4i" ? "vector" : T extends "mat2" | "mat3" | "mat4" ? "matrix" : T extends "color" ? "color" : T extends "image" ? "image" : T extends "asset" ? "asset" | "select" : T extends "texture" ? never : "select";
|
|
7
|
+
type NumericMetadata<T extends CascadeType> = T extends "float" | "int" ? {
|
|
8
|
+
readonly min?: number;
|
|
9
|
+
readonly max?: number;
|
|
10
|
+
readonly step?: number;
|
|
11
|
+
} : {
|
|
12
|
+
readonly min?: never;
|
|
13
|
+
readonly max?: never;
|
|
14
|
+
readonly step?: never;
|
|
15
|
+
};
|
|
16
|
+
type AcceptMetadata<T extends CascadeType> = T extends "image" | "asset" ? {
|
|
17
|
+
readonly accept?: readonly string[];
|
|
18
|
+
} : {
|
|
19
|
+
readonly accept?: never;
|
|
20
|
+
};
|
|
21
|
+
type SelectMetadata<T extends CascadeType> = {
|
|
22
|
+
readonly control?: Exclude<ControlFor<T>, "select">;
|
|
23
|
+
readonly options?: never;
|
|
24
|
+
} | {
|
|
25
|
+
readonly control: Extract<ControlFor<T>, "select">;
|
|
26
|
+
readonly options?: readonly SerializableValueForType<T>[];
|
|
27
|
+
};
|
|
28
|
+
export interface TriggerInputDefinition {
|
|
29
|
+
readonly kind: "trigger";
|
|
30
|
+
readonly description?: string;
|
|
31
|
+
}
|
|
32
|
+
export type DataInputDefinition<T extends CascadeType> = {
|
|
33
|
+
readonly kind: "data";
|
|
34
|
+
readonly type: T;
|
|
35
|
+
readonly default?: SerializableValueForType<T>;
|
|
36
|
+
readonly description?: string;
|
|
37
|
+
readonly variadic?: boolean;
|
|
38
|
+
} & NumericMetadata<T> & AcceptMetadata<T> & SelectMetadata<T>;
|
|
39
|
+
export type InputDefinitionFor<E extends RuntimeEnvironment> = TriggerInputDefinition | {
|
|
40
|
+
[T in DataTypeForEnvironment<E>]: DataInputDefinition<T>;
|
|
41
|
+
}[DataTypeForEnvironment<E>];
|
|
42
|
+
export interface TriggerOutputDefinition {
|
|
43
|
+
readonly kind: "trigger";
|
|
44
|
+
readonly description?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface DataOutputDefinition<T extends CascadeType> {
|
|
47
|
+
readonly kind: "data";
|
|
48
|
+
readonly type: T;
|
|
49
|
+
readonly description?: string;
|
|
50
|
+
}
|
|
51
|
+
export type OutputDefinitionFor<E extends RuntimeEnvironment> = TriggerOutputDefinition | {
|
|
52
|
+
[T in DataTypeForEnvironment<E>]: DataOutputDefinition<T>;
|
|
53
|
+
}[DataTypeForEnvironment<E>];
|
|
54
|
+
export type PropDataType = Exclude<CoreType, "texture"> | NamespacedType;
|
|
55
|
+
export type PropDefinition<T extends PropDataType> = {
|
|
56
|
+
readonly type: T;
|
|
57
|
+
readonly default: SerializableValueForType<T>;
|
|
58
|
+
readonly label?: string;
|
|
59
|
+
readonly description?: string;
|
|
60
|
+
} & NumericMetadata<T> & AcceptMetadata<T> & SelectMetadata<T>;
|
|
61
|
+
export type AnyPropDefinition = {
|
|
62
|
+
[T in PropDataType]: PropDefinition<T>;
|
|
63
|
+
}[PropDataType];
|
|
64
|
+
export interface NodeDefinitionForEnvironment<E extends RuntimeEnvironment> {
|
|
65
|
+
readonly apiVersion: 1;
|
|
66
|
+
readonly runsOn: E;
|
|
67
|
+
/** Declares that authored nodes may use this node as their parent. */
|
|
68
|
+
readonly container?: "subnet";
|
|
69
|
+
readonly capabilities?: readonly CapabilityForEnvironment<E>[];
|
|
70
|
+
readonly label?: string;
|
|
71
|
+
readonly description?: string;
|
|
72
|
+
readonly icon?: string;
|
|
73
|
+
readonly inputs?: Readonly<Record<string, InputDefinitionFor<E>>>;
|
|
74
|
+
readonly outputs?: Readonly<Record<string, OutputDefinitionFor<E>>>;
|
|
75
|
+
readonly props?: Readonly<Record<string, AnyPropDefinition>>;
|
|
76
|
+
}
|
|
77
|
+
export type NodeDefinition = {
|
|
78
|
+
[E in RuntimeEnvironment]: NodeDefinitionForEnvironment<E>;
|
|
79
|
+
}[RuntimeEnvironment];
|
|
80
|
+
export interface TriggerEvent {
|
|
81
|
+
readonly id: `${string}:${number}`;
|
|
82
|
+
readonly runId: string;
|
|
83
|
+
readonly sequence: number;
|
|
84
|
+
readonly payload?: JsonValue;
|
|
85
|
+
readonly source: {
|
|
86
|
+
readonly kind: "external";
|
|
87
|
+
} | Readonly<{
|
|
88
|
+
nodeId: string;
|
|
89
|
+
outputName: string;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
type Entries<D, K extends "inputs" | "outputs" | "props"> = D extends Record<K, infer R> ? R : Record<never, never>;
|
|
93
|
+
type InputValue<I> = I extends TriggerInputDefinition ? TriggerEvent | undefined : I extends DataInputDefinition<infer T> ? I extends {
|
|
94
|
+
readonly variadic: true;
|
|
95
|
+
} ? readonly ValueForType<T>[] : "default" extends keyof I ? ValueForType<T> : ValueForType<T> | undefined : never;
|
|
96
|
+
type OutputValue<O> = O extends TriggerOutputDefinition ? {
|
|
97
|
+
trigger(payload?: JsonValue): void;
|
|
98
|
+
} : O extends DataOutputDefinition<infer T> ? {
|
|
99
|
+
set(value: ValueForType<T>): void;
|
|
100
|
+
} : never;
|
|
101
|
+
export type DeclaredCapabilities<D extends NodeDefinition> = Readonly<Pick<CapabilityMap, D["capabilities"] extends readonly NodeCapabilityName[] ? D["capabilities"][number] : never>>;
|
|
102
|
+
export interface NodeExecutionContext<D extends NodeDefinition> {
|
|
103
|
+
readonly inputs: Readonly<{
|
|
104
|
+
[K in keyof Entries<D, "inputs">]: InputValue<Entries<D, "inputs">[K]>;
|
|
105
|
+
}>;
|
|
106
|
+
readonly outputs: Readonly<{
|
|
107
|
+
[K in keyof Entries<D, "outputs">]: OutputValue<Entries<D, "outputs">[K]>;
|
|
108
|
+
}>;
|
|
109
|
+
readonly props: Readonly<{
|
|
110
|
+
[K in keyof Entries<D, "props">]: Entries<D, "props">[K] extends PropDefinition<infer T> ? ValueForType<T> : never;
|
|
111
|
+
}>;
|
|
112
|
+
readonly capabilities: DeclaredCapabilities<D>;
|
|
113
|
+
readonly signal: CascadeAbortSignal;
|
|
114
|
+
readonly progress: ProgressReporter;
|
|
115
|
+
}
|
|
116
|
+
export type NodeExecute<D extends NodeDefinition = NodeDefinition> = (context: NodeExecutionContext<D>) => void | Promise<void>;
|
|
117
|
+
export {};
|
|
118
|
+
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SerializableValue } from "./values.js";
|
|
2
|
+
export interface CascadeDocumentNode {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly module?: string;
|
|
5
|
+
readonly type?: string;
|
|
6
|
+
readonly parent?: string;
|
|
7
|
+
readonly inputs?: readonly Readonly<{
|
|
8
|
+
name: string;
|
|
9
|
+
defaultValue?: unknown;
|
|
10
|
+
value?: unknown;
|
|
11
|
+
}>[] | Readonly<Record<string, unknown>>;
|
|
12
|
+
readonly props?: Readonly<Record<string, unknown>>;
|
|
13
|
+
}
|
|
14
|
+
export interface CascadeDocumentAnnotation {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly type: string;
|
|
17
|
+
readonly parent?: string;
|
|
18
|
+
readonly position?: readonly [number, number] | Readonly<{
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
}>;
|
|
22
|
+
readonly content?: string;
|
|
23
|
+
readonly src?: string;
|
|
24
|
+
readonly [key: string]: unknown;
|
|
25
|
+
}
|
|
26
|
+
export type CascadeConnectionEndpoint = readonly [string, number, string?];
|
|
27
|
+
export type CascadeDocumentConnection = readonly [CascadeConnectionEndpoint, CascadeConnectionEndpoint] | Readonly<{
|
|
28
|
+
source: Readonly<{
|
|
29
|
+
nodeId: string;
|
|
30
|
+
outputName: string;
|
|
31
|
+
}>;
|
|
32
|
+
target: Readonly<{
|
|
33
|
+
nodeId: string;
|
|
34
|
+
inputName: string;
|
|
35
|
+
}>;
|
|
36
|
+
}>;
|
|
37
|
+
export interface CascadeDocument {
|
|
38
|
+
readonly version?: string;
|
|
39
|
+
readonly nodes: readonly CascadeDocumentNode[];
|
|
40
|
+
readonly annotations?: readonly CascadeDocumentAnnotation[];
|
|
41
|
+
readonly connections?: readonly CascadeDocumentConnection[];
|
|
42
|
+
}
|
|
43
|
+
export interface CascadePreset {
|
|
44
|
+
readonly version: 1;
|
|
45
|
+
readonly nodes: Readonly<Record<string, Readonly<{
|
|
46
|
+
inputs?: Readonly<Record<string, SerializableValue>>;
|
|
47
|
+
props?: Readonly<Record<string, SerializableValue>>;
|
|
48
|
+
}>>>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,QAAQ,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrI,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,yBAAyB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3E,MAAM,MAAM,yBAAyB,GACjC,SAAS,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,GAC/D,QAAQ,CAAC;IACP,MAAM,EAAE,QAAQ,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,MAAM,EAAE,QAAQ,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAEP,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC/C,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;KACrD,CAAC,CAAC,CAAC,CAAC;CACN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":""}
|