From 13c83efdb962a6578ade59f10cc574fef0e17534 Mon Sep 17 00:00:00 2001 From: release-bot Date: Sun, 8 Feb 2026 21:00:30 +0100 Subject: [PATCH 01/12] fix(app): handle error while parsing changelog --- app/src/lib/sidebar/panels/Changelog.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/lib/sidebar/panels/Changelog.svelte b/app/src/lib/sidebar/panels/Changelog.svelte index a828840..6d280b9 100644 --- a/app/src/lib/sidebar/panels/Changelog.svelte +++ b/app/src/lib/sidebar/panels/Changelog.svelte @@ -52,7 +52,7 @@ const match = line.match(regex); if (!match) { - throw new Error('Invalid commit line format'); + return undefined; } const [, sha, link, description] = match; -- 2.49.1 From 2fadb6802de640d692fdab7d654311df0d7b4836 Mon Sep 17 00:00:00 2001 From: release-bot Date: Sun, 8 Feb 2026 21:58:01 +0100 Subject: [PATCH 02/12] refactor: make changelog code simpler --- app/src/lib/sidebar/panels/Changelog.svelte | 23 ++++----------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/app/src/lib/sidebar/panels/Changelog.svelte b/app/src/lib/sidebar/panels/Changelog.svelte index 6d280b9..3c11f41 100644 --- a/app/src/lib/sidebar/panels/Changelog.svelte +++ b/app/src/lib/sidebar/panels/Changelog.svelte @@ -22,25 +22,10 @@ ]); function detectCommitType(commit: string) { - if (commit.startsWith('fix:') || commit.startsWith('fix(')) { - return 'fix'; - } - - if (commit.startsWith('feat:') || commit.startsWith('feat(')) { - return 'feat'; - } - - if (commit.startsWith('chore:') || commit.startsWith('chore(')) { - return 'chore'; - } - if (commit.startsWith('docs:') || commit.startsWith('docs(')) { - return 'docs'; - } - if (commit.startsWith('refactor:') || commit.startsWith('refactor(')) { - return 'refactor'; - } - if (commit.startsWith('ci:') || commit.startsWith('ci(')) { - return 'ci'; + for (const key of typeMap.keys()) { + if (commit.startsWith(key)) { + return key; + } } return ''; } -- 2.49.1 From 615f2d3c4866a9e85f3eca398f3f02100c4df355 Mon Sep 17 00:00:00 2001 From: release-bot Date: Sun, 8 Feb 2026 21:59:00 +0100 Subject: [PATCH 03/12] feat(ui): allow custom snippets in ui section header --- packages/ui/src/routes/Section.svelte | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/routes/Section.svelte b/packages/ui/src/routes/Section.svelte index 360b120..0e039b7 100644 --- a/packages/ui/src/routes/Section.svelte +++ b/packages/ui/src/routes/Section.svelte @@ -1,8 +1,9 @@ + + + +
+ + + + + {#if mirror} + {#each mirrorPoints(points) as point, i (i + '-' + point[0] + '-' + point[1])} + + + {/each} + {/if} + + {#each points as point, i (i + '-' + point[0] + '-' + point[1])} + + + {/each} + +
+ + diff --git a/packages/ui/src/routes/+page.svelte b/packages/ui/src/routes/+page.svelte index bb69ecd..6a04005 100644 --- a/packages/ui/src/routes/+page.svelte +++ b/packages/ui/src/routes/+page.svelte @@ -1,6 +1,14 @@ @@ -195,24 +182,30 @@ {#if mirror} - {#each mirrorPoints(points) as point, i (i + '-' + point[0] + '-' + point[1])} + + {#each Array(points.length / 2) as _, i (i)} + {@const x = mirrorPoints(points)[i * 2]} + {@const y = mirrorPoints(points)[i * 2 + 1]} {/each} {/if} - {#each points as point, i (i + '-' + point[0] + '-' + point[1])} + + {#each Array(points.length / 2) as _, i (i)} + {@const x = points[i * 2]} + {@const y = points[i * 2 + 1]} @@ -229,6 +222,7 @@ svg { height: 100%; width: 100%; + overflow: visible; } circle { diff --git a/packages/ui/src/routes/+page.svelte b/packages/ui/src/routes/+page.svelte index 6a04005..4838720 100644 --- a/packages/ui/src/routes/+page.svelte +++ b/packages/ui/src/routes/+page.svelte @@ -108,7 +108,7 @@

{JSON.stringify(points)}

{/snippet} - +
-- 2.49.1 From d661a4e4a9dfa6c9c73b5e24a3edcf56e1bbf48c Mon Sep 17 00:00:00 2001 From: release-bot Date: Sun, 8 Feb 2026 23:59:39 +0100 Subject: [PATCH 06/12] feat(ui): improve InputShape ux Allow interactions in mirrored side aswell. Use rightclick to delete circles. --- nodes/max/plantarium/shape/src/input.json | 1 + packages/ui/src/lib/inputs/InputShape.svelte | 255 ++++++++++--------- 2 files changed, 131 insertions(+), 125 deletions(-) diff --git a/nodes/max/plantarium/shape/src/input.json b/nodes/max/plantarium/shape/src/input.json index 40fae13..2b27295 100644 --- a/nodes/max/plantarium/shape/src/input.json +++ b/nodes/max/plantarium/shape/src/input.json @@ -6,6 +6,7 @@ "inputs": { "shape": { "type": "shape", + "internal": true, "value": [ 47.8, 100, diff --git a/packages/ui/src/lib/inputs/InputShape.svelte b/packages/ui/src/lib/inputs/InputShape.svelte index b070445..e07f002 100644 --- a/packages/ui/src/lib/inputs/InputShape.svelte +++ b/packages/ui/src/lib/inputs/InputShape.svelte @@ -1,59 +1,103 @@ - +
@@ -179,15 +199,14 @@ aria-label="Interactive 2D Shape Editor" onmousedown={handleMouseDown} > - - + + {#if mirror} - - {#each Array(points.length / 2) as _, i (i)} - {@const x = mirrorPoints(points)[i * 2]} - {@const y = mirrorPoints(points)[i * 2 + 1]} + {#each groupedPoints as p, i (i)} + {@const x = 100 - p[0]} + {@const y = p[1]} - {#each Array(points.length / 2) as _, i (i)} - {@const x = points[i * 2]} - {@const y = points[i * 2 + 1]} + {#each groupedPoints as p, i (i)} @@ -227,15 +241,6 @@ circle { fill: var(--color-layer-2); - } - - circle.active { - stroke: var(--color-layer-3); - stroke-width: 0.5px; - } - - circle.disabled { - pointer-events: none; - z-index: -1; + cursor: pointer; } -- 2.49.1 From 93df4a19ff816e2bdfa093594721f0829f84c9e6 Mon Sep 17 00:00:00 2001 From: release-bot Date: Mon, 9 Feb 2026 00:09:28 +0100 Subject: [PATCH 07/12] fix(ci): handle newline in commit messages for git.json --- .gitea/scripts/build.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/scripts/build.sh b/.gitea/scripts/build.sh index f26717c..01542d4 100755 --- a/.gitea/scripts/build.sh +++ b/.gitea/scripts/build.sh @@ -21,6 +21,8 @@ else COMMITS_SINCE_LAST_RELEASE="0" fi +commit_message=$(git log -1 --pretty=%B | tr -d '\n' | sed 's/"/\\"/g') + cat >app/static/git.json <app/static/git.json < Date: Mon, 9 Feb 2026 00:21:58 +0100 Subject: [PATCH 08/12] feat(ui): highlight circle on hover on InputShape --- packages/ui/src/lib/inputs/InputShape.svelte | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/lib/inputs/InputShape.svelte b/packages/ui/src/lib/inputs/InputShape.svelte index e07f002..92bce08 100644 --- a/packages/ui/src/lib/inputs/InputShape.svelte +++ b/packages/ui/src/lib/inputs/InputShape.svelte @@ -177,8 +177,8 @@ ev.preventDefault(); ev.stopImmediatePropagation(); const index = parseInt(indexText); - points.splice(index * 2, 2); draggingIndex = undefined; + points.splice(index * 2, 2); } } @@ -199,7 +199,7 @@ aria-label="Interactive 2D Shape Editor" onmousedown={handleMouseDown} > - + {#if mirror} {#each groupedPoints as p, i (i)} @@ -242,5 +242,11 @@ circle { fill: var(--color-layer-2); cursor: pointer; + stroke: transparent; + transition: stroke 0.2s ease; + stroke-width: 0.5px; + } + circle:hover { + stroke: var(--color-layer-3); } -- 2.49.1 From 07e2826f16dafa6a07377c9fb591168fa5c2abcf Mon Sep 17 00:00:00 2001 From: release-bot Date: Mon, 9 Feb 2026 00:52:35 +0100 Subject: [PATCH 09/12] feat(ui): improve colors of input shape --- packages/ui/src/lib/app.css | 2 +- packages/ui/src/lib/inputs/InputShape.svelte | 27 +++++++++++++++----- packages/ui/src/routes/+page.svelte | 6 +++-- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/packages/ui/src/lib/app.css b/packages/ui/src/lib/app.css index 5d459e7..167cf69 100644 --- a/packages/ui/src/lib/app.css +++ b/packages/ui/src/lib/app.css @@ -113,7 +113,7 @@ html.theme-light { --color-layer-0: var(--neutral-100); --color-layer-1: var(--neutral-100); --color-layer-2: var(--neutral-200); - --color-layer-3: var(--neutral-500); + --color-layer-3: var(--neutral-300); --color-active: #000000; --color-selected: #c65a19; --color-connection: #888; diff --git a/packages/ui/src/lib/inputs/InputShape.svelte b/packages/ui/src/lib/inputs/InputShape.svelte index 92bce08..cee61f3 100644 --- a/packages/ui/src/lib/inputs/InputShape.svelte +++ b/packages/ui/src/lib/inputs/InputShape.svelte @@ -121,6 +121,11 @@ let vx = (mouseDown[0] - ev.clientX) * (100 / svgRect.width); let vy = (mouseDown[1] - ev.clientY) * (100 / svgRect.height); + if (ev.shiftKey) { + vx /= 10; + vy /= 10; + } + let x = downCirclePosition[0] + ((isMirroredEvent ? 1 : -1) * vx); let y = downCirclePosition[1] - vy; @@ -200,16 +205,17 @@ onmousedown={handleMouseDown} > - + {#if mirror} {#each groupedPoints as p, i (i)} {@const x = 100 - p[0]} {@const y = p[1]} {/each} @@ -217,10 +223,11 @@ {#each groupedPoints as p, i (i)} {/each} @@ -231,6 +238,10 @@ .wrapper { width: 100%; aspect-ratio: 1; + background-color: var(--color-layer-2); + padding: 15px; + border-radius: 5px; + outline: solid thin var(--color-outline); } svg { @@ -240,13 +251,15 @@ } circle { - fill: var(--color-layer-2); cursor: pointer; stroke: transparent; - transition: stroke 0.2s ease; - stroke-width: 0.5px; + transition: fill 0.2s ease; + stroke-width: 1px; + stroke: var(--color-layer-3); + fill: var(--color-layer-2); } + circle.active, circle:hover { - stroke: var(--color-layer-3); + fill: var(--color-layer-3); } diff --git a/packages/ui/src/routes/+page.svelte b/packages/ui/src/routes/+page.svelte index 4838720..a20c344 100644 --- a/packages/ui/src/routes/+page.svelte +++ b/packages/ui/src/routes/+page.svelte @@ -19,7 +19,7 @@ let selectValue = $state(0); const d = $derived(options[selectValue]); let checked = $state(false); - let mirrorShape = $state(false); + let mirrorShape = $state(true); let detailsOpen = $state(false); let points = $state([]); @@ -108,7 +108,9 @@

{JSON.stringify(points)}

{/snippet} - +
+ +
-- 2.49.1 From 715e1d095b8a77feb0cf66bbb444baf0f163adcb Mon Sep 17 00:00:00 2001 From: release-bot Date: Mon, 9 Feb 2026 01:35:41 +0100 Subject: [PATCH 10/12] feat(theme): merge edge and connection color --- app/src/lib/graph-interface/edges/Edge.svelte | 8 ++++---- app/src/lib/graph-interface/graph/colors.svelte.ts | 2 +- app/src/lib/settings/NestedSettings.svelte | 2 +- packages/ui/src/lib/app.css | 7 ++----- packages/ui/src/lib/inputs/InputShape.svelte | 2 +- packages/ui/src/routes/+page.svelte | 1 - 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/app/src/lib/graph-interface/edges/Edge.svelte b/app/src/lib/graph-interface/edges/Edge.svelte index 884e90e..db7a1f9 100644 --- a/app/src/lib/graph-interface/edges/Edge.svelte +++ b/app/src/lib/graph-interface/edges/Edge.svelte @@ -2,19 +2,19 @@ import { colors } from '../graph/colors.svelte'; const circleMaterial = new MeshBasicMaterial({ - color: colors.edge.clone(), + color: colors.connection.clone(), toneMapped: false }); - let lineColor = $state(colors.edge.clone().convertSRGBToLinear()); + let lineColor = $state(colors.connection.clone().convertSRGBToLinear()); $effect.root(() => { $effect(() => { if (appSettings.value.theme === undefined) { return; } - circleMaterial.color = colors.edge.clone().convertSRGBToLinear(); - lineColor = colors.edge.clone().convertSRGBToLinear(); + circleMaterial.color = colors.connection.clone().convertSRGBToLinear(); + lineColor = colors.connection.clone().convertSRGBToLinear(); }); }); diff --git a/app/src/lib/graph-interface/graph/colors.svelte.ts b/app/src/lib/graph-interface/graph/colors.svelte.ts index 6f1f5a9..9f85c6b 100644 --- a/app/src/lib/graph-interface/graph/colors.svelte.ts +++ b/app/src/lib/graph-interface/graph/colors.svelte.ts @@ -9,7 +9,7 @@ const variables = [ 'outline', 'active', 'selected', - 'edge' + 'connection' ] as const; function getColor(variable: (typeof variables)[number]) { diff --git a/app/src/lib/settings/NestedSettings.svelte b/app/src/lib/settings/NestedSettings.svelte index 0b7d6ff..aa59a24 100644 --- a/app/src/lib/settings/NestedSettings.svelte +++ b/app/src/lib/settings/NestedSettings.svelte @@ -211,7 +211,7 @@ .first-level.input { padding-left: 1em; padding-right: 1em; - padding-bottom: 1px; + padding-bottom: 0.5px; gap: 3px; } diff --git a/packages/ui/src/lib/app.css b/packages/ui/src/lib/app.css index 167cf69..652ede7 100644 --- a/packages/ui/src/lib/app.css +++ b/packages/ui/src/lib/app.css @@ -11,7 +11,6 @@ @source inline("{hover:,}{bg-,outline-,text-,}selected"); @source inline("{hover:,}{bg-,outline-,text-,}outline{!,}"); @source inline("{hover:,}{bg-,outline-,text-,}connection"); -@source inline("{hover:,}{bg-,outline-,text-,}edge"); @source inline("{hover:,}{bg-,outline-,text-,}text"); /* fira-code-300 - latin */ @@ -72,7 +71,6 @@ --color-outline: var(--neutral-400); --color-connection: #333333; - --color-edge: var(--connection, var(--color-outline)); --color-text: var(--neutral-200); } @@ -89,14 +87,13 @@ html { --color-layer-0: var(--neutral-900); --color-layer-1: var(--neutral-500); --color-layer-2: var(--neutral-400); - --color-layer-3: var(--neutral-200); + --color-layer-3: var(--neutral-300); --color-active: #ffffff; --color-selected: #c65a19; - --color-outline: var(--neutral-400); + --color-outline: #3e3e3e; --color-connection: #333333; - --color-edge: var(--connection, var(--color-outline)); --color-text-color: var(--neutral-200); } diff --git a/packages/ui/src/lib/inputs/InputShape.svelte b/packages/ui/src/lib/inputs/InputShape.svelte index cee61f3..48593f2 100644 --- a/packages/ui/src/lib/inputs/InputShape.svelte +++ b/packages/ui/src/lib/inputs/InputShape.svelte @@ -239,7 +239,7 @@ width: 100%; aspect-ratio: 1; background-color: var(--color-layer-2); - padding: 15px; + padding: 7px; border-radius: 5px; outline: solid thin var(--color-outline); } diff --git a/packages/ui/src/routes/+page.svelte b/packages/ui/src/routes/+page.svelte index a20c344..3ed1faf 100644 --- a/packages/ui/src/routes/+page.svelte +++ b/packages/ui/src/routes/+page.svelte @@ -51,7 +51,6 @@ 'selected', 'outline', 'connection', - 'edge', 'text' ]; -- 2.49.1 From 20d8e2abedf0de30299d947575afef9c8ffd61d9 Mon Sep 17 00:00:00 2001 From: release-bot Date: Mon, 9 Feb 2026 01:57:32 +0100 Subject: [PATCH 11/12] feat(theme): improve light theme a bit --- app/src/lib/performance/Monitor.svelte | 2 +- packages/ui/src/lib/app.css | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/lib/performance/Monitor.svelte b/app/src/lib/performance/Monitor.svelte index 022269c..d396539 100644 --- a/app/src/lib/performance/Monitor.svelte +++ b/app/src/lib/performance/Monitor.svelte @@ -86,7 +86,7 @@ position: absolute; } svg { - height: 124px; + height: 126px; margin: 24px 0px; border-top: solid thin var(--color-outline); border-bottom: solid thin var(--color-outline); diff --git a/packages/ui/src/lib/app.css b/packages/ui/src/lib/app.css index 652ede7..c35d7aa 100644 --- a/packages/ui/src/lib/app.css +++ b/packages/ui/src/lib/app.css @@ -76,6 +76,7 @@ } html { + --neutral-050: #f0f0f0; --neutral-100: #e7e7e7; --neutral-200: #cecece; --neutral-300: #7c7c7c; @@ -107,7 +108,7 @@ body { html.theme-light { --color-text: var(--neutral-800); --color-outline: var(--neutral-300); - --color-layer-0: var(--neutral-100); + --color-layer-0: var(--neutral-050); --color-layer-1: var(--neutral-100); --color-layer-2: var(--neutral-200); --color-layer-3: var(--neutral-300); -- 2.49.1 From 2e6466ceca1d2131581d1862e93c756affdf6cd6 Mon Sep 17 00:00:00 2001 From: release-bot Date: Mon, 9 Feb 2026 01:58:05 +0100 Subject: [PATCH 12/12] chore: update dprint linters --- .dprint.jsonc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.dprint.jsonc b/.dprint.jsonc index 7fedc9c..ab96722 100644 --- a/.dprint.jsonc +++ b/.dprint.jsonc @@ -47,13 +47,13 @@ "**/target", ], "plugins": [ - "https://plugins.dprint.dev/typescript-0.95.13.wasm", + "https://plugins.dprint.dev/typescript-0.95.15.wasm", "https://plugins.dprint.dev/json-0.21.1.wasm", - "https://plugins.dprint.dev/markdown-0.20.0.wasm", + "https://plugins.dprint.dev/markdown-0.21.1.wasm", "https://plugins.dprint.dev/toml-0.7.0.wasm", "https://plugins.dprint.dev/dockerfile-0.3.3.wasm", "https://plugins.dprint.dev/g-plane/markup_fmt-v0.25.3.wasm", - "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.1.wasm", + "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.6.0.wasm", "https://plugins.dprint.dev/exec-0.6.0.json@a054130d458f124f9b5c91484833828950723a5af3f8ff2bd1523bd47b83b364", ], } -- 2.49.1