Niagara and Metasound nodes WIP

* Keep track of entities

* Fix renaming

* Niagara variables wip

* Several niagara decode and test

* Move nodeTemplate code to dedicated file, self node added

* Move node decoding functions to dedicated files

* Move pin decoding logic to dedicated files

* Accept space separated keys in objects

* Build

* Prevent a crash in case of incomplete object

* Avoid creating objects unnecessarily

* types formatting

* Initial metasound style

* Common pcg nodes colors

* Fix string serialization

* Metasound new styles and fixes

* More metasound styles and colors

* WIP

* Several fixes

* More tests and fixes

* Clean gitignore
This commit is contained in:
barsdeveloper
2024-05-20 12:56:36 +02:00
committed by GitHub
parent 08e2e8edd8
commit a5813d0b4d
72 changed files with 6903 additions and 4879 deletions

View File

@@ -1,12 +1,12 @@
/**
* @template T
* @typedef {new (...args: any) => T} AnyConstructor
*/
* @template T
* @typedef {new (...args: any) => T} AnyConstructor
*/
/**
* @template {Attribute} T
* @typedef {AnyConstructor<T> & EntityConstructor | StringConstructor | NumberConstructor | BigIntConstructor
* | BooleanConstructor | ArrayConstructor | MirroredEntityConstructor<T>} AttributeConstructor
*/
* | BooleanConstructor | ArrayConstructor | MirroredEntityConstructor<T>} AttributeConstructor
*/
/**
* @typedef {[Number, Number]} Coordinates
* @typedef {IEntity | String | Number | BigInt | Boolean | Array} TerminalAttribute
@@ -56,10 +56,10 @@
/**
* @template T
* @typedef {T extends [infer A] ? DescribedType<A>
* : T extends [infer A, ...infer B] ? (DescribedType<A> | DescribedTypesFromArray<B>)
* : any
* } DescribedTypesFromArray
**/
* : T extends [infer A, ...infer B] ? (DescribedType<A> | DescribedTypesFromArray<B>)
* : any
* } DescribedTypesFromArray
**/
/**
* @template T
* @typedef {T extends AnyConstructor<infer R>
@@ -128,7 +128,6 @@
* @typedef {import("./js/element/PinElement.js").default} PinElement
* @typedef {import("./js/element/SelectorElement.js").default} SelectorElement
* @typedef {import("./js/element/WindowElement.js").default} WindowElement
* @typedef {import("./js/entity/Base64ObjectsEncoded.js").default} Base64ObjectsEncoded
* @typedef {import("./js/entity/ByteEntity.js").default} ByteEntity
* @typedef {import("./js/entity/ColorChannelEntity.js").default} ColorChannelEntity
* @typedef {import("./js/entity/ComputedType.js").default} ComputedType