Compare commits
5 Commits
feat/remov
...
cdef71265e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cdef71265e | ||
|
450262b4ae
|
|||
|
11de746c01
|
|||
|
83cb2bd950
|
|||
|
|
f5cea555cd |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@ node_modules/
|
||||
# Added by cargo
|
||||
|
||||
/target
|
||||
.direnv/
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%sveltekit.assets%/svelte.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<script defer src="https://umami.max-richter.dev/script.js" data-website-id="585c442b-0524-4874-8955-f9853b44b17e"></script>
|
||||
%sveltekit.head%
|
||||
<title>Nodes</title>
|
||||
<script>
|
||||
|
||||
2
app/src/lib/config.ts
Normal file
2
app/src/lib/config.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
import { PUBLIC_ANALYTIC_SCRIPT } from "$env/static/public";
|
||||
export const ANALYTIC_SCRIPT = PUBLIC_ANALYTIC_SCRIPT;
|
||||
@@ -64,7 +64,7 @@ export class MemoryRuntimeExecutor implements RuntimeExecutor {
|
||||
|
||||
constructor(
|
||||
private registry: NodeRegistry,
|
||||
private cache?: SyncCache<Int32Array>,
|
||||
public cache?: SyncCache<Int32Array>,
|
||||
) {
|
||||
this.cache = undefined;
|
||||
}
|
||||
|
||||
@@ -13,6 +13,22 @@ const executor = new MemoryRuntimeExecutor(nodeRegistry, cache);
|
||||
const performanceStore = createPerformanceStore();
|
||||
executor.perf = performanceStore;
|
||||
|
||||
export async function setUseRegistryCache(useCache: boolean) {
|
||||
if (useCache) {
|
||||
nodeRegistry.cache = indexDbCache;
|
||||
} else {
|
||||
nodeRegistry.cache = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
export async function setUseRuntimeCache(useCache: boolean) {
|
||||
if (useCache) {
|
||||
executor.cache = cache;
|
||||
} else {
|
||||
executor.cache = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
export async function executeGraph(
|
||||
graph: Graph,
|
||||
settings: Record<string, unknown>,
|
||||
|
||||
@@ -11,5 +11,11 @@ export class WorkerRuntimeExecutor implements RuntimeExecutor {
|
||||
async getPerformanceData() {
|
||||
return this.worker.getPerformanceData();
|
||||
}
|
||||
set useRuntimeCache(useCache: boolean) {
|
||||
this.worker.setUseRuntimeCache(useCache);
|
||||
}
|
||||
set useRegistryCache(useCache: boolean) {
|
||||
this.worker.setUseRegistryCache(useCache);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -87,6 +87,19 @@ export const AppSettingTypes = {
|
||||
label: "Show Graph Source",
|
||||
value: false,
|
||||
},
|
||||
cache: {
|
||||
title: "Cache",
|
||||
useRuntimeCache: {
|
||||
type: "boolean",
|
||||
label: "Node Results",
|
||||
value: true,
|
||||
},
|
||||
useRegistryCache: {
|
||||
type: "boolean",
|
||||
label: "Node Source",
|
||||
value: true,
|
||||
},
|
||||
},
|
||||
stressTest: {
|
||||
title: "Stress Test",
|
||||
amount: {
|
||||
|
||||
@@ -2,7 +2,14 @@
|
||||
import "@nodarium/ui/app.css";
|
||||
import "../app.css";
|
||||
import type { Snippet } from "svelte";
|
||||
import * as config from "$lib/config";
|
||||
const { children } = $props<{ children?: Snippet }>();
|
||||
</script>
|
||||
|
||||
{@render children?.()}
|
||||
|
||||
<svelte:head>
|
||||
{#if config.ANALYTIC_SCRIPT}
|
||||
{@html config.ANALYTIC_SCRIPT}
|
||||
{/if}
|
||||
</svelte:head>
|
||||
|
||||
@@ -42,6 +42,25 @@
|
||||
appSettings.value.debug.useWorker ? workerRuntime : memoryRuntime,
|
||||
);
|
||||
|
||||
$effect(() => {
|
||||
workerRuntime.useRegistryCache =
|
||||
appSettings.value.debug.cache.useRuntimeCache;
|
||||
workerRuntime.useRuntimeCache =
|
||||
appSettings.value.debug.cache.useRegistryCache;
|
||||
|
||||
if (appSettings.value.debug.cache.useRegistryCache) {
|
||||
nodeRegistry.cache = registryCache;
|
||||
} else {
|
||||
nodeRegistry.cache = undefined;
|
||||
}
|
||||
|
||||
if (appSettings.value.debug.cache.useRuntimeCache) {
|
||||
memoryRuntime.cache = runtimeCache;
|
||||
} else {
|
||||
memoryRuntime.cache = undefined;
|
||||
}
|
||||
});
|
||||
|
||||
let activeNode = $state<NodeInstance | undefined>(undefined);
|
||||
let scene = $state<Group>(null!);
|
||||
|
||||
|
||||
27
flake.lock
generated
Normal file
27
flake.lock
generated
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
41
flake.nix
Normal file
41
flake.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = {nixpkgs, ...}: let
|
||||
systems = ["aarch64-darwin" "x86_64-linux"];
|
||||
eachSystem = function:
|
||||
nixpkgs.lib.genAttrs systems (system:
|
||||
function {
|
||||
inherit system;
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
});
|
||||
in {
|
||||
devShells = eachSystem ({pkgs, ...}: {
|
||||
default = pkgs.mkShellNoCC {
|
||||
packages = [
|
||||
# general deps
|
||||
pkgs.nodejs_24
|
||||
pkgs.pnpm_10
|
||||
|
||||
# wasm/rust stuff
|
||||
pkgs.rustc
|
||||
pkgs.cargo
|
||||
pkgs.rust-analyzer
|
||||
pkgs.rustfmt
|
||||
pkgs.wasm-bindgen-cli
|
||||
pkgs.wasm-pack
|
||||
pkgs.lld
|
||||
|
||||
# frontend
|
||||
pkgs.vscode-langservers-extracted
|
||||
pkgs.typescript-language-server
|
||||
pkgs.prettier
|
||||
pkgs.tailwindcss-language-server
|
||||
pkgs.svelte-language-server
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -16,7 +16,7 @@ export class RemoteNodeRegistry implements NodeRegistry {
|
||||
|
||||
constructor(
|
||||
private url: string,
|
||||
private cache?: AsyncCache<ArrayBuffer | string>,
|
||||
public cache?: AsyncCache<ArrayBuffer | string>,
|
||||
) { }
|
||||
|
||||
async fetchJson(url: string, skipCache = false) {
|
||||
|
||||
Reference in New Issue
Block a user