fix: correctly show hide geometries in geometrypool
All checks were successful
Deploy to GitHub Pages / build_site (push) Successful in 2m4s

This commit is contained in:
Max Richter
2025-12-03 22:59:06 +01:00
parent db77a4fd94
commit 548e445eb7
13 changed files with 113 additions and 236 deletions

View File

@@ -16,7 +16,7 @@
inView: boolean;
z: number;
};
let { node, inView, z }: Props = $props();
let { node = $bindable(), inView, z }: Props = $props();
const isActive = $derived(graphState.activeNodeId === node.id);
const isSelected = $derived(graphState.selectedNodes.has(node.id));
@@ -67,4 +67,4 @@
/>
</T.Mesh>
<NodeHtml {node} {inView} {isActive} {isSelected} {z} />
<NodeHtml bind:node {inView} {isActive} {isSelected} {z} />

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import type { NodeInstance, SerializedNode } from "@nodarium/types";
import type { NodeInstance } from "@nodarium/types";
import NodeHeader from "./NodeHeader.svelte";
import NodeParameter from "./NodeParameter.svelte";
import { getGraphState } from "../graph/state.svelte";
@@ -9,7 +9,7 @@
const graphState = getGraphState();
type Props = {
node: SerializedNode | NodeInstance;
node: NodeInstance;
position?: "absolute" | "fixed" | "relative";
isActive?: boolean;
isSelected?: boolean;
@@ -30,15 +30,10 @@
const zOffset = Math.random() - 0.5;
const zLimit = 2 - zOffset;
const parameters =
"state" in node
? Object.entries(node.state?.type?.inputs || {}).filter(
(p) =>
p[1].type !== "seed" &&
!("setting" in p[1]) &&
p[1]?.hidden !== true,
)
: [];
const parameters = Object.entries(node.state?.type?.inputs || {}).filter(
(p) =>
p[1].type !== "seed" && !("setting" in p[1]) && p[1]?.hidden !== true,
);
$effect(() => {
if ("state" in node && !node.state.ref) {

View File

@@ -1,11 +1,11 @@
<script lang="ts">
import { getGraphState } from "../graph/state.svelte.js";
import { createNodePath } from "../helpers/index.js";
import type { NodeInstance, SerializedNode } from "@nodarium/types";
import type { NodeInstance } from "@nodarium/types";
const graphState = getGraphState();
const { node }: { node: NodeInstance | SerializedNode } = $props();
const { node }: { node: NodeInstance } = $props();
function handleMouseDown(event: MouseEvent) {
event.stopPropagation();
@@ -20,8 +20,7 @@
}
const cornerTop = 10;
const rightBump =
"state" in node ? !!node?.state?.type?.outputs?.length : false;
const rightBump = !!node?.state?.type?.outputs?.length;
const aspectRatio = 0.25;
const path = createNodePath({

View File

@@ -1,16 +1,12 @@
<script lang="ts">
import type {
NodeInput as NodeInputType,
NodeInstance,
SerializedNode,
} from "@nodarium/types";
import type { NodeInput, NodeInstance } from "@nodarium/types";
import { createNodePath } from "../helpers/index.js";
import NodeInput from "./NodeInput.svelte";
import NodeInputEl from "./NodeInput.svelte";
import { getGraphManager, getGraphState } from "../graph/state.svelte.js";
type Props = {
node: NodeInstance | SerializedNode;
input: NodeInputType;
node: NodeInstance;
input: NodeInput;
id: string;
isLast?: boolean;
};
@@ -80,7 +76,7 @@
<label for={elementId}>{input.label || id}</label>
{/if}
{#if inputType.external !== true}
<NodeInput {graph} {elementId} bind:node {input} {id} />
<NodeInputEl {graph} {elementId} bind:node {input} {id} />
{/if}
</div>