feat: improve help view
Some checks failed
Deploy to GitHub Pages / build_site (push) Failing after 1m24s

This commit is contained in:
max_richter 2024-04-26 19:04:54 +02:00
parent 9d1b631c32
commit 98a4e6e34d
20 changed files with 243 additions and 170 deletions

20
Cargo.lock generated
View File

@ -227,9 +227,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.80" version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e" checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@ -320,14 +320,14 @@ checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.59", "syn 2.0.60",
] ]
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.115" version = "1.0.116"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -361,9 +361,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.59" version = "2.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -418,7 +418,7 @@ dependencies = [
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.59", "syn 2.0.60",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -452,7 +452,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.59", "syn 2.0.60",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -485,7 +485,7 @@ checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.59", "syn 2.0.60",
] ]
[[package]] [[package]]

View File

@ -16,11 +16,11 @@
"@threlte/core": "^7.3.0", "@threlte/core": "^7.3.0",
"@threlte/extras": "^8.11.2", "@threlte/extras": "^8.11.2",
"@threlte/flex": "^1.0.2", "@threlte/flex": "^1.0.2",
"@types/three": "^0.163.0", "@types/three": "^0.164.0",
"@unocss/reset": "^0.59.4", "@unocss/reset": "^0.59.4",
"comlink": "^4.4.1", "comlink": "^4.4.1",
"jsondiffpatch": "^0.6.0", "jsondiffpatch": "^0.6.0",
"three": "^0.163.0" "three": "^0.164.1"
}, },
"devDependencies": { "devDependencies": {
"@iconify-json/tabler": "^1.1.110", "@iconify-json/tabler": "^1.1.110",
@ -32,7 +32,7 @@
"@zerodevx/svelte-json-view": "^1.0.9", "@zerodevx/svelte-json-view": "^1.0.9",
"internal-ip": "^8.0.0", "internal-ip": "^8.0.0",
"svelte": "^4.2.15", "svelte": "^4.2.15",
"svelte-check": "^3.6.9", "svelte-check": "^3.7.0",
"three-inspect": "^0.4.5", "three-inspect": "^0.4.5",
"tslib": "^2.6.2", "tslib": "^2.6.2",
"typescript": "^5.4.5", "typescript": "^5.4.5",
@ -41,6 +41,6 @@
"vite-plugin-comlink": "^4.0.3", "vite-plugin-comlink": "^4.0.3",
"vite-plugin-glsl": "^1.3.0", "vite-plugin-glsl": "^1.3.0",
"vite-plugin-wasm": "^3.3.0", "vite-plugin-wasm": "^3.3.0",
"vitest": "^1.5.1" "vitest": "^1.5.2"
} }
} }

View File

@ -1,16 +1,17 @@
<script lang="ts"> <script lang="ts">
import type { Node, NodeRegistry } from "@nodes/types"; import type { NodeDefinition, NodeRegistry } from "@nodes/types";
import { onMount } from "svelte"; import { onMount } from "svelte";
let mx = 0; let mx = 0;
let my = 0; let my = 0;
let node: Node | undefined = undefined; let node: NodeDefinition | undefined = undefined;
let input: string | undefined = undefined; let input: string | undefined = undefined;
let wrapper: HTMLDivElement; let wrapper: HTMLDivElement;
export let registry: NodeRegistry; export let registry: NodeRegistry;
let width = 0;
function handleMouseOver(ev: MouseEvent) { function handleMouseOver(ev: MouseEvent) {
let target = ev.target as HTMLElement | null; let target = ev.target as HTMLElement | null;
@ -18,7 +19,7 @@
my = ev.clientY; my = ev.clientY;
if (!target) return; if (!target) return;
const closest = target.closest("[data-node-type]"); const closest = target?.closest?.("[data-node-type]");
if (!closest) { if (!closest) {
node = undefined; node = undefined;
@ -33,7 +34,7 @@
return; return;
} }
node = registry.getNode(nodeType); node = registry.getNode(nodeType);
input = nodeInput; input = nodeInput || undefined;
} }
onMount(() => { onMount(() => {
@ -47,16 +48,35 @@
<svelte:window on:mousemove={handleMouseOver} /> <svelte:window on:mousemove={handleMouseOver} />
<div <div
class="help-wrapper" class="help-wrapper p-4"
class:visible={node} class:visible={node}
style="--my:{my}px; --mx:{mx}px;" bind:clientWidth={width}
style="--my:{my}px; --mx:{Math.min(mx, window.innerWidth - width - 20)}px;"
bind:this={wrapper} bind:this={wrapper}
> >
{#if node} <p class="m-0 text-light opacity-40 flex items-center gap-3 mb-4">
<span class="i-tabler-help block w-4 h-4"></span>
{node?.id.split("/").at(-1) || "Help"}
{#if input} {#if input}
{input} <span>> {input}</span>
{:else} {/if}
{node.id} </p>
{#if node}
<div class="mb-4">
{#if input}
{node?.inputs?.[input]?.description || input}
{:else if node?.meta?.description}
{node?.meta?.description}
{:else}
<div class="text-xs opacity-30 mb-4">{node.id}</div>
{/if}
</div>
{#if !input}
<div>
<span class="i-tabler-arrow-right opacity-30">-></span>
{node?.outputs?.map((o) => o).join(", ") ?? "nothing"}
</div>
{/if} {/if}
{/if} {/if}
</div> </div>
@ -66,13 +86,11 @@
position: fixed; position: fixed;
pointer-events: none; pointer-events: none;
transform: translate(var(--mx), var(--my)); transform: translate(var(--mx), var(--my));
background: red; background: var(--layer-1);
padding: 10px; border-radius: 5px;
top: 0px; top: 10px;
left: 0px; left: 10px;
width: 50px; border: 1px solid var(--outline);
height: 50px;
border: 1px solid black;
z-index: 1000; z-index: 1000;
display: none; display: none;
} }

View File

@ -197,7 +197,7 @@ export class GraphManager extends EventEmitter<{ "save": Graph, "result": any, "
for (const key in type.inputs) { for (const key in type.inputs) {
let settingId = type.inputs[key].setting; let settingId = type.inputs[key].setting;
if (settingId) { if (settingId) {
settingTypes[settingId] = type.inputs[key]; settingTypes[settingId] = { __node_type: type.id, __node_input: key, ...type.inputs[key] };
if (settingValues[settingId] === undefined && "value" in type.inputs[key]) { if (settingValues[settingId] === undefined && "value" in type.inputs[key]) {
settingValues[settingId] = type.inputs[key].value; settingValues[settingId] = type.inputs[key].value;
} }

View File

@ -673,6 +673,8 @@
}); });
function handleMouseUp(event: MouseEvent) { function handleMouseUp(event: MouseEvent) {
if (!mouseDown) return;
const activeNode = manager.getNode($activeNodeId); const activeNode = manager.getNode($activeNodeId);
const clickedNodeId = getNodeIdFromEvent(event); const clickedNodeId = getNodeIdFromEvent(event);
@ -870,7 +872,7 @@
}); });
</script> </script>
<svelte:window on:mousemove={handleMouseMove} /> <svelte:window on:mousemove={handleMouseMove} on:mouseup={handleMouseUp} />
<div <div
on:wheel={handleMouseScroll} on:wheel={handleMouseScroll}
@ -881,7 +883,6 @@
tabindex="0" tabindex="0"
bind:clientWidth={width} bind:clientWidth={width}
bind:clientHeight={height} bind:clientHeight={height}
on:mouseup={handleMouseUp}
on:dragenter={handleDragEnter} on:dragenter={handleDragEnter}
on:dragover={handlerDragOver} on:dragover={handlerDragOver}
on:dragexit={handleDragEnd} on:dragexit={handleDragEnd}

View File

@ -36,12 +36,7 @@ export async function getNode(id: `${string}/${string}/${string}`) {
if (!definition) return null; if (!definition) return null;
const { inputs, outputs } = definition; return definition;
try {
return { id, inputs, outputs }
} catch (e) {
console.log("Failed to parse input types for node", { id });
}
} }

View File

@ -36,7 +36,7 @@
let isRunning = false; let isRunning = false;
const task = useTask(() => { const task = useTask(() => {
let length = center.clone().sub(controls.target).length(); let length = center.clone().sub(controls.target).length();
if (length < 0.01) { if (length < 0.01 || !centerCamera) {
isRunning = false; isRunning = false;
task.stop(); task.stop();
return; return;

View File

@ -2,13 +2,25 @@
import type { Node, NodeInput } from "@nodes/types"; import type { Node, NodeInput } from "@nodes/types";
import NestedSettings from "./NestedSettings.svelte"; import NestedSettings from "./NestedSettings.svelte";
import { writable } from "svelte/store"; import { writable } from "svelte/store";
import type { GraphManager } from "$lib/graph-interface/graph-manager"; import type { GraphManager } from "$lib/graph-interface/graph-manager";
export let manager: GraphManager;
export let node: Node | undefined;
function filterInputs(inputs: Record<string, NodeInput>) { function filterInputs(inputs: Record<string, NodeInput>) {
return Object.fromEntries( return Object.fromEntries(
Object.entries(inputs).filter(([key, value]) => { Object.entries(inputs)
return value.hidden === true; .filter(([key, value]) => {
}), return value.hidden === true;
})
.map(([key, value]) => {
//@ts-ignore
value.__node_type = node?.tmp?.type.id;
//@ts-ignore
value.__node_input = key;
return [key, value];
}),
); );
} }
@ -26,14 +38,12 @@
return writable(store); return writable(store);
} }
export let manager: GraphManager;
export let node: Node | undefined;
let nodeDefinition: Record<string, NodeInput> | undefined; let nodeDefinition: Record<string, NodeInput> | undefined;
$: nodeDefinition = node?.tmp?.type $: nodeDefinition = node?.tmp?.type
? filterInputs(node.tmp.type.inputs) ? filterInputs(node.tmp.type.inputs)
: undefined; : undefined;
$: store = node ? createStore(node.props, nodeDefinition) : undefined; $: store = node ? createStore(node.props, nodeDefinition) : undefined;
$: console.log(nodeDefinition, store);
let lastPropsHash = ""; let lastPropsHash = "";
function updateNode() { function updateNode() {

View File

@ -27,7 +27,6 @@
function isNodeInput(v: Input | Nested): v is Input { function isNodeInput(v: Input | Nested): v is Input {
return v && "type" in v; return v && "type" in v;
} }
console.log({ settings, store });
</script> </script>
{#if $store} {#if $store}
@ -35,7 +34,11 @@
{@const value = settings[key]} {@const value = settings[key]}
<div class="wrapper" class:first-level={depth === 0}> <div class="wrapper" class:first-level={depth === 0}>
{#if value !== undefined && isNodeInput(value)} {#if value !== undefined && isNodeInput(value)}
<div class="input input-{settings[key].type}"> <div
class="input input-{settings[key].type}"
data-node-type={value?.__node_type || null}
data-node-input={value?.__node_input || null}
>
{#if value.type === "button"} {#if value.type === "button"}
<button on:click={() => value?.callback?.()} <button on:click={() => value?.callback?.()}
>{value.label || key}</button >{value.label || key}</button

View File

@ -1,15 +1,20 @@
{ {
"id": "max/plantarium/branch", "id": "max/plantarium/branch",
"meta": {
"description": "Generates branches on a path"
},
"outputs": [ "outputs": [
"path" "path"
], ],
"inputs": { "inputs": {
"plant": { "plant": {
"type": "path", "type": "path",
"description": "The path to place the branches on.",
"external": true "external": true
}, },
"length": { "length": {
"type": "float", "type": "float",
"description": "The length of the branches.",
"min": 0, "min": 0,
"max": 3, "max": 3,
"step": 0.05, "step": 0.05,
@ -17,6 +22,7 @@
}, },
"thickness": { "thickness": {
"type": "float", "type": "float",
"description": "The thickness of the branches.",
"min": 0, "min": 0,
"max": 1, "max": 1,
"step": 0.01, "step": 0.01,
@ -24,6 +30,7 @@
}, },
"offsetSingle": { "offsetSingle": {
"type": "float", "type": "float",
"description": "Used to offset every second branch",
"min": 0, "min": 0,
"hidden": true, "hidden": true,
"max": 1, "max": 1,
@ -33,6 +40,7 @@
"lowestBranch": { "lowestBranch": {
"type": "float", "type": "float",
"hidden": true, "hidden": true,
"description": "How low should the branches start. 0 is the bottom, 1 is the top.",
"min": 0, "min": 0,
"max": 1, "max": 1,
"step": 0.01, "step": 0.01,
@ -40,6 +48,7 @@
}, },
"highestBranch": { "highestBranch": {
"type": "float", "type": "float",
"description": "How high should the branches start. 0 is the bottom, 1 is the top.",
"hidden": true, "hidden": true,
"min": 0, "min": 0,
"max": 1, "max": 1,
@ -55,12 +64,14 @@
}, },
"amount": { "amount": {
"type": "integer", "type": "integer",
"description": "The amount of branches to generate.",
"min": 0, "min": 0,
"max": 64, "max": 64,
"value": 10 "value": 10
}, },
"resolution_curve": { "resolution_curve": {
"type": "integer", "type": "integer",
"description": "The resolution of the curve.",
"value": 32, "value": 32,
"min": 3, "min": 3,
"max": 64, "max": 64,
@ -68,6 +79,7 @@
}, },
"rotation": { "rotation": {
"type": "float", "type": "float",
"description": "The rotation of the branches.",
"hidden": true, "hidden": true,
"min": 0, "min": 0,
"max": 360, "max": 360,

View File

@ -1,11 +1,15 @@
{ {
"id": "max/plantarium/stem", "id": "max/plantarium/stem",
"meta": {
"description": "Creates a stem"
},
"outputs": [ "outputs": [
"path" "path"
], ],
"inputs": { "inputs": {
"origin": { "origin": {
"type": "vec3", "type": "vec3",
"description": "The origin of the stem",
"value": [ "value": [
0, 0,
0, 0,
@ -15,20 +19,24 @@
}, },
"amount": { "amount": {
"type": "integer", "type": "integer",
"description": "The amount of stems to produce",
"min": 1, "min": 1,
"max": 64, "max": 64,
"value": 1 "value": 1
}, },
"length": { "length": {
"type": "float", "type": "float",
"description": "How long the stem should be",
"value": 5 "value": 5
}, },
"thickness": { "thickness": {
"type": "float", "type": "float",
"description": "How thick the stem should be",
"value": 0.2 "value": 0.2
}, },
"resolution_curve": { "resolution_curve": {
"type": "integer", "type": "integer",
"description": "How many points along the length of the stem should be created",
"value": 32, "value": 32,
"min": 3, "min": 3,
"max": 64, "max": 64,

View File

@ -3,6 +3,12 @@
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"main": "src/index.ts", "main": "src/index.ts",
"exports": {
".": {
"import": "./src/index.ts",
"require": "./src/index.ts"
}
},
"keywords": [], "keywords": [],
"author": "", "author": "",
"license": "ISC", "license": "ISC",

View File

@ -129,10 +129,22 @@ pub enum NodeInput {
path(NodeInputPath), path(NodeInputPath),
} }
#[derive(Serialize, Deserialize)]
pub struct NodeDefinitionMeta {
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
}
#[derive(Serialize, Deserialize)] #[derive(Serialize, Deserialize)]
pub struct NodeDefinition { pub struct NodeDefinition {
pub id: String, pub id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub meta: Option<NodeDefinitionMeta>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<HashMap<String, NodeInput>>, pub inputs: Option<HashMap<String, NodeInput>>,

View File

@ -50,6 +50,7 @@ export type Socket = {
position: [number, number]; position: [number, number];
}; };
export type Edge = [Node, number, Node, string]; export type Edge = [Node, number, Node, string];
export type Graph = { export type Graph = {

View File

@ -45,11 +45,11 @@
"histoire": "^0.17.17", "histoire": "^0.17.17",
"publint": "^0.2.7", "publint": "^0.2.7",
"svelte": "^4.2.15", "svelte": "^4.2.15",
"svelte-check": "^3.6.9", "svelte-check": "^3.7.0",
"tslib": "^2.6.2", "tslib": "^2.6.2",
"typescript": "^5.4.5", "typescript": "^5.4.5",
"vite": "^5.2.10", "vite": "^5.2.10",
"vitest": "^1.5.1" "vitest": "^1.5.2"
}, },
"svelte": "./dist/index.js", "svelte": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",

View File

@ -52,7 +52,7 @@ body {
/* Secondary color */ /* Secondary color */
--secondary-color: #6c757d; --secondary-color: #6c757d;
--layer-0: var(--neutral-900); --layer-0: var(--neutral-800);
--layer-1: var(--neutral-500); --layer-1: var(--neutral-500);
--layer-2: var(--neutral-400); --layer-2: var(--neutral-400);
--layer-3: var(--neutral-200); --layer-3: var(--neutral-200);

View File

@ -8,6 +8,13 @@
export let max = 1; export let max = 1;
export let id = ""; export let id = "";
if (min > max) {
[min, max] = [max, min];
}
if (value > max) {
max = value;
}
function strip(input: number) { function strip(input: number) {
return +parseFloat(input + "").toPrecision(2); return +parseFloat(input + "").toPrecision(2);
} }

View File

@ -14,6 +14,6 @@
}, },
"devDependencies": { "devDependencies": {
"vite": "^5.2.10", "vite": "^5.2.10",
"vitest": "^1.5.1" "vitest": "^1.5.2"
} }
} }

View File

@ -116,8 +116,8 @@ function createWrapper() {
var r1 = getInt32Memory0()[retptr / 4 + 1]; var r1 = getInt32Memory0()[retptr / 4 + 1];
deferred1_0 = r0; deferred1_0 = r0;
deferred1_1 = r1; deferred1_1 = r1;
const string = getStringFromWasm0(r0, r1); const rawDefinition = getStringFromWasm0(r0, r1);
return JSON.parse(string) as NodeDefinition; return JSON.parse(rawDefinition) as NodeDefinition;
} finally { } finally {
wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_add_to_stack_pointer(16);
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);

View File

@ -21,16 +21,16 @@ importers:
version: 2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)))(svelte@4.2.15)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)) version: 2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)))(svelte@4.2.15)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))
'@threlte/core': '@threlte/core':
specifier: ^7.3.0 specifier: ^7.3.0
version: 7.3.0(svelte@4.2.15)(three@0.163.0) version: 7.3.0(svelte@4.2.15)(three@0.164.1)
'@threlte/extras': '@threlte/extras':
specifier: ^8.11.2 specifier: ^8.11.2
version: 8.11.2(@types/three@0.163.0)(svelte@4.2.15)(three@0.163.0) version: 8.11.2(@types/three@0.164.0)(svelte@4.2.15)(three@0.164.1)
'@threlte/flex': '@threlte/flex':
specifier: ^1.0.2 specifier: ^1.0.2
version: 1.0.2(svelte@4.2.15)(three@0.163.0) version: 1.0.2(svelte@4.2.15)(three@0.164.1)
'@types/three': '@types/three':
specifier: ^0.163.0 specifier: ^0.164.0
version: 0.163.0 version: 0.164.0
'@unocss/reset': '@unocss/reset':
specifier: ^0.59.4 specifier: ^0.59.4
version: 0.59.4 version: 0.59.4
@ -41,8 +41,8 @@ importers:
specifier: ^0.6.0 specifier: ^0.6.0
version: 0.6.0 version: 0.6.0
three: three:
specifier: ^0.163.0 specifier: ^0.164.1
version: 0.163.0 version: 0.164.1
devDependencies: devDependencies:
'@iconify-json/tabler': '@iconify-json/tabler':
specifier: ^1.1.110 specifier: ^1.1.110
@ -72,11 +72,11 @@ importers:
specifier: ^4.2.15 specifier: ^4.2.15
version: 4.2.15 version: 4.2.15
svelte-check: svelte-check:
specifier: ^3.6.9 specifier: ^3.7.0
version: 3.6.9(@babel/core@7.24.4)(postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(sass@1.75.0)(svelte@4.2.15) version: 3.7.0(@babel/core@7.24.4)(postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(sass@1.75.0)(svelte@4.2.15)
three-inspect: three-inspect:
specifier: ^0.4.5 specifier: ^0.4.5
version: 0.4.5(@types/three@0.163.0)(three@0.163.0) version: 0.4.5(@types/three@0.164.0)(three@0.164.1)
tslib: tslib:
specifier: ^2.6.2 specifier: ^2.6.2
version: 2.6.2 version: 2.6.2
@ -99,8 +99,8 @@ importers:
specifier: ^3.3.0 specifier: ^3.3.0
version: 3.3.0(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)) version: 3.3.0(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))
vitest: vitest:
specifier: ^1.5.1 specifier: ^1.5.2
version: 1.5.1(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0) version: 1.5.2(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0)
nodes/max/plantarium/box: {} nodes/max/plantarium/box: {}
@ -179,8 +179,8 @@ importers:
specifier: ^4.2.15 specifier: ^4.2.15
version: 4.2.15 version: 4.2.15
svelte-check: svelte-check:
specifier: ^3.6.9 specifier: ^3.7.0
version: 3.6.9(@babel/core@7.24.4)(postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(sass@1.75.0)(svelte@4.2.15) version: 3.7.0(@babel/core@7.24.4)(postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(sass@1.75.0)(svelte@4.2.15)
tslib: tslib:
specifier: ^2.6.2 specifier: ^2.6.2
version: 2.6.2 version: 2.6.2
@ -191,8 +191,8 @@ importers:
specifier: ^5.2.10 specifier: ^5.2.10
version: 5.2.10(@types/node@20.12.7)(sass@1.75.0) version: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
vitest: vitest:
specifier: ^1.5.1 specifier: ^1.5.2
version: 1.5.1(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0) version: 1.5.2(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0)
packages/utils: packages/utils:
dependencies: dependencies:
@ -204,8 +204,8 @@ importers:
specifier: ^5.2.10 specifier: ^5.2.10
version: 5.2.10(@types/node@20.12.7)(sass@1.75.0) version: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
vitest: vitest:
specifier: ^1.5.1 specifier: ^1.5.2
version: 1.5.1(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0) version: 1.5.2(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0)
packages: packages:
@ -970,8 +970,8 @@ packages:
'@types/stats.js@0.17.3': '@types/stats.js@0.17.3':
resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==} resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
'@types/three@0.163.0': '@types/three@0.164.0':
resolution: {integrity: sha512-uIdDhsXRpQiBUkflBS/i1l3JX14fW6Ot9csed60nfbZNXHDTRsnV2xnTVwXcgbvTiboAR4IW+t+lTL5f1rqIqA==} resolution: {integrity: sha512-SFDofn9dJVrE+1DKta7xj7lc4ru7B3S3yf10NsxOserW57aQlB6GxtAS1UK5To3LfEMN5HUHMu3n5v+M5rApgA==}
'@types/webxr@0.5.15': '@types/webxr@0.5.15':
resolution: {integrity: sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw==} resolution: {integrity: sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw==}
@ -1120,20 +1120,20 @@ packages:
peerDependencies: peerDependencies:
vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0
'@vitest/expect@1.5.1': '@vitest/expect@1.5.2':
resolution: {integrity: sha512-w3Bn+VUMqku+oWmxvPhTE86uMTbfmBl35aGaIPlwVW7Q89ZREC/icfo2HBsEZ3AAW6YR9lObfZKPEzstw9tJOQ==} resolution: {integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==}
'@vitest/runner@1.5.1': '@vitest/runner@1.5.2':
resolution: {integrity: sha512-mt372zsz0vFR7L1xF/ert4t+teD66oSuXoTyaZbl0eJgilvyzCKP1tJ21gVa8cDklkBOM3DLnkE1ljj/BskyEw==} resolution: {integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==}
'@vitest/snapshot@1.5.1': '@vitest/snapshot@1.5.2':
resolution: {integrity: sha512-h/1SGaZYXmjn6hULRBOlqam2z4oTlEe6WwARRzLErAPBqljAs6eX7tfdyN0K+MpipIwSZ5sZsubDWkCPAiVXZQ==} resolution: {integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==}
'@vitest/spy@1.5.1': '@vitest/spy@1.5.2':
resolution: {integrity: sha512-vsqczk6uPJjmPLy6AEtqfbFqgLYcGBe9BTY+XL8L6y8vrGOhyE23CJN9P/hPimKXnScbqiZ/r/UtUSOQ2jIDGg==} resolution: {integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==}
'@vitest/utils@1.5.1': '@vitest/utils@1.5.2':
resolution: {integrity: sha512-92pE17bBXUxA0Y7goPcvnATMCuq4NQLOmqsG0e2BtzRi7KLwZB5jpiELi/8ybY8IQNWemKjSD5rMoO7xTdv8ug==} resolution: {integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==}
'@zerodevx/svelte-json-view@1.0.9': '@zerodevx/svelte-json-view@1.0.9':
resolution: {integrity: sha512-2KKxBfDxEo7lM/kJSy+m1PdLAp5Q9c5nB6OYVBg7oWPdCLXB9JVH1Ytxn2hkqTn77m9MobqGI1fz9FFOTPONfA==} resolution: {integrity: sha512-2KKxBfDxEo7lM/kJSy+m1PdLAp5Q9c5nB6OYVBg7oWPdCLXB9JVH1Ytxn2hkqTn77m9MobqGI1fz9FFOTPONfA==}
@ -1598,8 +1598,8 @@ packages:
ee-first@1.1.1: ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
electron-to-chromium@1.4.747: electron-to-chromium@1.4.749:
resolution: {integrity: sha512-+FnSWZIAvFHbsNVmUxhEqWiaOiPMcfum1GQzlWCg/wLigVtshOsjXHyEFfmt6cFK6+HkS3QOJBv6/3OPumbBfw==} resolution: {integrity: sha512-LRMMrM9ITOvue0PoBrvNIraVmuDbJV5QC9ierz/z5VilMdPOVMjOtpICNld3PuXuTZ3CHH/UPxX9gHhAPwi+0Q==}
emoji-regex@8.0.0: emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@ -2820,8 +2820,8 @@ packages:
resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
engines: {node: '>=8'} engines: {node: '>=8'}
react-is@18.2.0: react-is@18.3.0:
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} resolution: {integrity: sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==}
read-pkg-up@7.0.1: read-pkg-up@7.0.1:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
@ -3128,8 +3128,8 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
svelte-check@3.6.9: svelte-check@3.7.0:
resolution: {integrity: sha512-hDQrk3L0osX07djQyMiXocKysTLfusqi8AriNcCiQxhQR49/LonYolcUGMtZ0fbUR8HTR198Prrgf52WWU9wEg==} resolution: {integrity: sha512-Va6sGL4Vy4znn0K+vaatk98zoBvG2aDee4y3r5X4S80z8DXfbACHvdLlyXa4C4c5tQzK9H0Uq2pbd20wH3ucjQ==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
@ -3203,8 +3203,8 @@ packages:
peerDependencies: peerDependencies:
svelte: ^4.0.0 svelte: ^4.0.0
svelte2tsx@0.7.6: svelte2tsx@0.7.7:
resolution: {integrity: sha512-awHvYsakyiGjRqqSOhb2F+qJ6lUT9klQe0UQofAcdHNaKKeDHA8kEZ8zYKGG3BiDPurKYMGvH5/lZ+jeIoG7yQ==} resolution: {integrity: sha512-HAIxtk5TUHXvCRKApKfxoh1BGT85S/17lS3DvbfxRKFd+Ghr5YScqBvd+sU+p7vJFw48LNkzdFk+ooNVk3e4kA==}
peerDependencies: peerDependencies:
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
typescript: ^4.9.4 || ^5.0.0 typescript: ^4.9.4 || ^5.0.0
@ -3243,8 +3243,8 @@ packages:
peerDependencies: peerDependencies:
three: '>=0.151' three: '>=0.151'
three@0.163.0: three@0.164.1:
resolution: {integrity: sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==} resolution: {integrity: sha512-iC/hUBbl1vzFny7f5GtqzVXYjMJKaTPxiCxXfrvVdBi1Sf+jhd1CAkitiFwC7mIBFCo3MrDLJG97yisoaWig0w==}
time-span@5.1.0: time-span@5.1.0:
resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==}
@ -3464,8 +3464,8 @@ packages:
engines: {node: '>=v14.18.0'} engines: {node: '>=v14.18.0'}
hasBin: true hasBin: true
vite-node@1.5.1: vite-node@1.5.2:
resolution: {integrity: sha512-HNpfV7BrAsjkYVNWIcPleJwvJmydJqqJRrRbpoQ/U7QDwJKyEzNa4g5aYg8MjXJyKsk29IUCcMLFRcsEvqUIsA==} resolution: {integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true hasBin: true
@ -3522,15 +3522,15 @@ packages:
vite: vite:
optional: true optional: true
vitest@1.5.1: vitest@1.5.2:
resolution: {integrity: sha512-3GvBMpoRnUNbZRX1L3mJCv3Ou3NAobb4dM48y8k9ZGwDofePpclTOyO+lqJFKSQpubH1V8tEcAEw/Y3mJKGJQQ==} resolution: {integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
'@edge-runtime/vm': '*' '@edge-runtime/vm': '*'
'@types/node': ^18.0.0 || >=20.0.0 '@types/node': ^18.0.0 || >=20.0.0
'@vitest/browser': 1.5.1 '@vitest/browser': 1.5.2
'@vitest/ui': 1.5.1 '@vitest/ui': 1.5.2
happy-dom: '*' happy-dom: '*'
jsdom: '*' jsdom: '*'
peerDependenciesMeta: peerDependenciesMeta:
@ -4482,7 +4482,7 @@ snapshots:
sade: 1.8.1 sade: 1.8.1
semver: 7.6.0 semver: 7.6.0
svelte: 4.2.15 svelte: 4.2.15
svelte2tsx: 0.7.6(svelte@4.2.15)(typescript@5.4.5) svelte2tsx: 0.7.7(svelte@4.2.15)(typescript@5.4.5)
transitivePeerDependencies: transitivePeerDependencies:
- typescript - typescript
@ -4509,39 +4509,39 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@threejs-kit/instanced-sprite-mesh@2.4.7(@types/three@0.163.0)(three@0.163.0)': '@threejs-kit/instanced-sprite-mesh@2.4.7(@types/three@0.164.0)(three@0.164.1)':
dependencies: dependencies:
diet-sprite: 0.0.1 diet-sprite: 0.0.1
earcut: 2.2.4 earcut: 2.2.4
maath: 0.10.7(@types/three@0.163.0)(three@0.163.0) maath: 0.10.7(@types/three@0.164.0)(three@0.164.1)
three: 0.163.0 three: 0.164.1
three-instanced-uniforms-mesh: 0.49.1(three@0.163.0) three-instanced-uniforms-mesh: 0.49.1(three@0.164.1)
troika-three-utils: 0.49.0(three@0.163.0) troika-three-utils: 0.49.0(three@0.164.1)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/three' - '@types/three'
'@threlte/core@7.3.0(svelte@4.2.15)(three@0.163.0)': '@threlte/core@7.3.0(svelte@4.2.15)(three@0.164.1)':
dependencies: dependencies:
mitt: 3.0.1 mitt: 3.0.1
svelte: 4.2.15 svelte: 4.2.15
three: 0.163.0 three: 0.164.1
'@threlte/extras@8.11.2(@types/three@0.163.0)(svelte@4.2.15)(three@0.163.0)': '@threlte/extras@8.11.2(@types/three@0.164.0)(svelte@4.2.15)(three@0.164.1)':
dependencies: dependencies:
'@threejs-kit/instanced-sprite-mesh': 2.4.7(@types/three@0.163.0)(three@0.163.0) '@threejs-kit/instanced-sprite-mesh': 2.4.7(@types/three@0.164.0)(three@0.164.1)
svelte: 4.2.15 svelte: 4.2.15
three: 0.163.0 three: 0.164.1
three-mesh-bvh: 0.7.4(three@0.163.0) three-mesh-bvh: 0.7.4(three@0.164.1)
three-perf: 1.0.10(three@0.163.0) three-perf: 1.0.10(three@0.164.1)
troika-three-text: 0.49.1(three@0.163.0) troika-three-text: 0.49.1(three@0.164.1)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/three' - '@types/three'
'@threlte/flex@1.0.2(svelte@4.2.15)(three@0.163.0)': '@threlte/flex@1.0.2(svelte@4.2.15)(three@0.164.1)':
dependencies: dependencies:
mitt: 3.0.1 mitt: 3.0.1
svelte: 4.2.15 svelte: 4.2.15
three: 0.163.0 three: 0.164.1
yoga-layout: 2.0.1 yoga-layout: 2.0.1
'@tootallnate/once@2.0.0': {} '@tootallnate/once@2.0.0': {}
@ -4604,7 +4604,7 @@ snapshots:
'@types/stats.js@0.17.3': {} '@types/stats.js@0.17.3': {}
'@types/three@0.163.0': '@types/three@0.164.0':
dependencies: dependencies:
'@tweenjs/tween.js': 23.1.1 '@tweenjs/tween.js': 23.1.1
'@types/stats.js': 0.17.3 '@types/stats.js': 0.17.3
@ -4853,29 +4853,29 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
'@vitest/expect@1.5.1': '@vitest/expect@1.5.2':
dependencies: dependencies:
'@vitest/spy': 1.5.1 '@vitest/spy': 1.5.2
'@vitest/utils': 1.5.1 '@vitest/utils': 1.5.2
chai: 4.4.1 chai: 4.4.1
'@vitest/runner@1.5.1': '@vitest/runner@1.5.2':
dependencies: dependencies:
'@vitest/utils': 1.5.1 '@vitest/utils': 1.5.2
p-limit: 5.0.0 p-limit: 5.0.0
pathe: 1.1.2 pathe: 1.1.2
'@vitest/snapshot@1.5.1': '@vitest/snapshot@1.5.2':
dependencies: dependencies:
magic-string: 0.30.10 magic-string: 0.30.10
pathe: 1.1.2 pathe: 1.1.2
pretty-format: 29.7.0 pretty-format: 29.7.0
'@vitest/spy@1.5.1': '@vitest/spy@1.5.2':
dependencies: dependencies:
tinyspy: 2.2.1 tinyspy: 2.2.1
'@vitest/utils@1.5.1': '@vitest/utils@1.5.2':
dependencies: dependencies:
diff-sequences: 29.6.3 diff-sequences: 29.6.3
estree-walker: 3.0.3 estree-walker: 3.0.3
@ -5023,7 +5023,7 @@ snapshots:
browserslist@4.23.0: browserslist@4.23.0:
dependencies: dependencies:
caniuse-lite: 1.0.30001612 caniuse-lite: 1.0.30001612
electron-to-chromium: 1.4.747 electron-to-chromium: 1.4.749
node-releases: 2.0.14 node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0) update-browserslist-db: 1.0.13(browserslist@4.23.0)
@ -5054,9 +5054,9 @@ snapshots:
camelcase@5.3.1: {} camelcase@5.3.1: {}
camera-controls@2.8.3(three@0.163.0): camera-controls@2.8.3(three@0.164.1):
dependencies: dependencies:
three: 0.163.0 three: 0.164.1
caniuse-lite@1.0.30001612: {} caniuse-lite@1.0.30001612: {}
@ -5371,7 +5371,7 @@ snapshots:
ee-first@1.1.1: {} ee-first@1.1.1: {}
electron-to-chromium@1.4.747: {} electron-to-chromium@1.4.749: {}
emoji-regex@8.0.0: {} emoji-regex@8.0.0: {}
@ -6361,10 +6361,10 @@ snapshots:
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
maath@0.10.7(@types/three@0.163.0)(three@0.163.0): maath@0.10.7(@types/three@0.164.0)(three@0.164.1):
dependencies: dependencies:
'@types/three': 0.163.0 '@types/three': 0.164.0
three: 0.163.0 three: 0.164.1
magic-string@0.30.10: magic-string@0.30.10:
dependencies: dependencies:
@ -6734,7 +6734,7 @@ snapshots:
dependencies: dependencies:
'@jest/schemas': 29.6.3 '@jest/schemas': 29.6.3
ansi-styles: 5.2.0 ansi-styles: 5.2.0
react-is: 18.2.0 react-is: 18.3.0
pseudomap@1.0.2: {} pseudomap@1.0.2: {}
@ -6754,7 +6754,7 @@ snapshots:
quick-lru@4.0.1: {} quick-lru@4.0.1: {}
react-is@18.2.0: {} react-is@18.3.0: {}
read-pkg-up@7.0.1: read-pkg-up@7.0.1:
dependencies: dependencies:
@ -7087,7 +7087,7 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {} supports-preserve-symlinks-flag@1.0.0: {}
svelte-check@3.6.9(@babel/core@7.24.4)(postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(sass@1.75.0)(svelte@4.2.15): svelte-check@3.7.0(@babel/core@7.24.4)(postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.38))(postcss@8.4.38)(sass@1.75.0)(svelte@4.2.15):
dependencies: dependencies:
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.25
chokidar: 3.6.0 chokidar: 3.6.0
@ -7165,7 +7165,7 @@ snapshots:
tweakpane: 4.0.3 tweakpane: 4.0.3
tweakpane-plugin-waveform: 1.0.0(tweakpane@4.0.3) tweakpane-plugin-waveform: 1.0.0(tweakpane@4.0.3)
svelte2tsx@0.7.6(svelte@4.2.15)(typescript@5.4.5): svelte2tsx@0.7.7(svelte@4.2.15)(typescript@5.4.5):
dependencies: dependencies:
dedent-js: 1.0.1 dedent-js: 1.0.1
pascal-case: 3.1.2 pascal-case: 3.1.2
@ -7195,39 +7195,39 @@ snapshots:
text-table@0.2.0: {} text-table@0.2.0: {}
three-inspect@0.4.5(@types/three@0.163.0)(three@0.163.0): three-inspect@0.4.5(@types/three@0.164.0)(three@0.164.1):
dependencies: dependencies:
'@changesets/cli': 2.27.1 '@changesets/cli': 2.27.1
'@floating-ui/dom': 1.6.3 '@floating-ui/dom': 1.6.3
'@mdi/js': 7.4.47 '@mdi/js': 7.4.47
'@threlte/core': 7.3.0(svelte@4.2.15)(three@0.163.0) '@threlte/core': 7.3.0(svelte@4.2.15)(three@0.164.1)
'@threlte/extras': 8.11.2(@types/three@0.163.0)(svelte@4.2.15)(three@0.163.0) '@threlte/extras': 8.11.2(@types/three@0.164.0)(svelte@4.2.15)(three@0.164.1)
camera-controls: 2.8.3(three@0.163.0) camera-controls: 2.8.3(three@0.164.1)
flexible-tree: 0.1.6 flexible-tree: 0.1.6
svelte: 4.2.15 svelte: 4.2.15
svelte-splitpanes: 0.8.0(svelte@4.2.15) svelte-splitpanes: 0.8.0(svelte@4.2.15)
svelte-tweakpane-ui: 1.2.4(svelte@4.2.15) svelte-tweakpane-ui: 1.2.4(svelte@4.2.15)
three: 0.163.0 three: 0.164.1
three-perf: 1.0.10(three@0.163.0) three-perf: 1.0.10(three@0.164.1)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/three' - '@types/three'
three-instanced-uniforms-mesh@0.49.1(three@0.163.0): three-instanced-uniforms-mesh@0.49.1(three@0.164.1):
dependencies: dependencies:
three: 0.163.0 three: 0.164.1
troika-three-utils: 0.49.0(three@0.163.0) troika-three-utils: 0.49.0(three@0.164.1)
three-mesh-bvh@0.7.4(three@0.163.0): three-mesh-bvh@0.7.4(three@0.164.1):
dependencies: dependencies:
three: 0.163.0 three: 0.164.1
three-perf@1.0.10(three@0.163.0): three-perf@1.0.10(three@0.164.1):
dependencies: dependencies:
three: 0.163.0 three: 0.164.1
troika-three-text: 0.47.2(three@0.163.0) troika-three-text: 0.47.2(three@0.164.1)
tweakpane: 3.1.10 tweakpane: 3.1.10
three@0.163.0: {} three@0.164.1: {}
time-span@5.1.0: time-span@5.1.0:
dependencies: dependencies:
@ -7274,29 +7274,29 @@ snapshots:
trim-newlines@3.0.1: {} trim-newlines@3.0.1: {}
troika-three-text@0.47.2(three@0.163.0): troika-three-text@0.47.2(three@0.164.1):
dependencies: dependencies:
bidi-js: 1.0.3 bidi-js: 1.0.3
three: 0.163.0 three: 0.164.1
troika-three-utils: 0.47.2(three@0.163.0) troika-three-utils: 0.47.2(three@0.164.1)
troika-worker-utils: 0.47.2 troika-worker-utils: 0.47.2
webgl-sdf-generator: 1.1.1 webgl-sdf-generator: 1.1.1
troika-three-text@0.49.1(three@0.163.0): troika-three-text@0.49.1(three@0.164.1):
dependencies: dependencies:
bidi-js: 1.0.3 bidi-js: 1.0.3
three: 0.163.0 three: 0.164.1
troika-three-utils: 0.49.0(three@0.163.0) troika-three-utils: 0.49.0(three@0.164.1)
troika-worker-utils: 0.49.0 troika-worker-utils: 0.49.0
webgl-sdf-generator: 1.1.1 webgl-sdf-generator: 1.1.1
troika-three-utils@0.47.2(three@0.163.0): troika-three-utils@0.47.2(three@0.164.1):
dependencies: dependencies:
three: 0.163.0 three: 0.164.1
troika-three-utils@0.49.0(three@0.163.0): troika-three-utils@0.49.0(three@0.164.1):
dependencies: dependencies:
three: 0.163.0 three: 0.164.1
troika-worker-utils@0.47.2: {} troika-worker-utils@0.47.2: {}
@ -7478,7 +7478,7 @@ snapshots:
- supports-color - supports-color
- terser - terser
vite-node@1.5.1(@types/node@20.12.7)(sass@1.75.0): vite-node@1.5.2(@types/node@20.12.7)(sass@1.75.0):
dependencies: dependencies:
cac: 6.7.14 cac: 6.7.14
debug: 4.3.4 debug: 4.3.4
@ -7528,13 +7528,13 @@ snapshots:
optionalDependencies: optionalDependencies:
vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
vitest@1.5.1(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0): vitest@1.5.2(@types/node@20.12.7)(jsdom@24.0.0)(sass@1.75.0):
dependencies: dependencies:
'@vitest/expect': 1.5.1 '@vitest/expect': 1.5.2
'@vitest/runner': 1.5.1 '@vitest/runner': 1.5.2
'@vitest/snapshot': 1.5.1 '@vitest/snapshot': 1.5.2
'@vitest/spy': 1.5.1 '@vitest/spy': 1.5.2
'@vitest/utils': 1.5.1 '@vitest/utils': 1.5.2
acorn-walk: 8.3.2 acorn-walk: 8.3.2
chai: 4.4.1 chai: 4.4.1
debug: 4.3.4 debug: 4.3.4
@ -7548,7 +7548,7 @@ snapshots:
tinybench: 2.8.0 tinybench: 2.8.0
tinypool: 0.8.4 tinypool: 0.8.4
vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)
vite-node: 1.5.1(@types/node@20.12.7)(sass@1.75.0) vite-node: 1.5.2(@types/node@20.12.7)(sass@1.75.0)
why-is-node-running: 2.2.2 why-is-node-running: 2.2.2
optionalDependencies: optionalDependencies:
'@types/node': 20.12.7 '@types/node': 20.12.7