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

@@ -0,0 +1,6 @@
import NodeTemplate from "./NodeTemplate.js"
export default class MetasoundNodeTemplate extends NodeTemplate {
static nodeStyleClasses = ["ueb-node-style-metasound"]
}

View File

@@ -0,0 +1,5 @@
import VariableManagementNodeTemplate from "./VariableMangementNodeTemplate.js"
export default class MetasoundOperationTemplate extends VariableManagementNodeTemplate {
static nodeStyleClasses = ["ueb-node-style-metasound", "ueb-node-style-operation"]
}

View File

@@ -165,7 +165,7 @@ export default class NodeTemplate extends ISelectableDraggableTemplate {
.filter(v => !v.isHidden())
.map(pinEntity => {
this.#hasSubtitle = this.#hasSubtitle
|| pinEntity.PinName === "self" && pinEntity.pinDisplayName() === "Target"
|| pinEntity.PinName === "self" && pinEntity.pinTitle() === "Target"
return this.createPinElement(pinEntity)
})
}

View File

@@ -6,9 +6,14 @@ export default class VariableAccessNodeTemplate extends VariableManagementNodeTe
/** @param {NodeElement} element */
initialize(element) {
super.initialize(element)
if (element.getType() === Configuration.paths.variableGet) {
const type = element.getType()
if (
type === Configuration.paths.variableGet
|| type === Configuration.paths.self
) {
this.element.classList.add("ueb-node-style-getter")
} else if (element.getType() === Configuration.paths.variableSet) {
this.displayName = ""
} else if (type === Configuration.paths.variableSet) {
this.element.classList.add("ueb-node-style-setter")
}
}

View File

@@ -7,25 +7,25 @@ export default class VariableManagementNodeTemplate extends NodeTemplate {
#hasInput = false
#hasOutput = false
#displayName = ""
displayName = ""
static nodeStyleClasses = ["ueb-node-style-glass"]
/** @param {NodeElement} element */
initialize(element) {
super.initialize(element)
this.#displayName = this.element.nodeDisplayName
this.displayName = this.element.nodeDisplayName
}
render() {
return html`
<div class="ueb-node-border">
<div class="ueb-node-wrapper">
${this.#displayName ? html`
${this.displayName ? html`
<div class="ueb-node-top">
<div class="ueb-node-name">
<span class="ueb-node-name-text ueb-ellipsis-nowrap-text">
${this.#displayName}
${this.displayName}
</span>
</div>
</div>