Files
nodarium/CHANGELOG.md
T
2026-05-05 21:15:25 +00:00

30 KiB

v0.0.6 (2026-05-05)

Features

  • Upgrade graph source panel and JSON viewer with click-to-copy and improved select handling.
  • Capture system stats in benchmark runs.
  • Split CI into unit and end-to-end pipelines.
  • Add LLM.md documentation.
  • Add 🍀 Planty Tutorial Helper
  • Add a way to group nodes

Node Groups

Node Groups introduce a way to structure graphs into nested, navigable subgraphs for better organization and reuse.

  • Nested graph workflows with full runtime support
  • Group input and output nodes defining clear boundaries
  • Named groups for organization and identification
  • Breadcrumb navigation for navigating nested levels
  • Context-aware UI when editing inside groups
  • Reliable enter/exit transitions with state restoration
  • Ability to ungroup nodes back into the main graph

Planty

Planty is a Clippy-inspired in-app tutorial and guidance system that helps users understand and use the graph editor through contextual assistance.

  • Context-aware hints based on user actions in the graph
  • Step-by-step onboarding flows for core features
  • Inline guidance tied to nodes, sockets, and interactions
  • Lightweight runtime integration without external build requirements

Fixes

  • Fix benchmark execution and CI integration issues
  • Resolve debug node ID mismatch
  • Fix ESLint, TypeScript, Playwright, and test synchronization issues
  • Fix packaging issues in @nodarium/planty and UI library
  • Restore correct graph references after exiting node groups

Refactors

  • Remove graph element handling from graphManager
  • Restrict panel rendering to selected nodes only
  • Move JSON viewer into shared UI package
  • Clean up CI workflows

Chores

  • Upgrade dependencies via pnpm upgrade
  • Add SvelteKit sync before E2E tests
  • Remove flaky screenshot artifacts
  • General formatting, linting, and test maintenance

  • 82c2f08 chore: cleanup changelog
  • a00db40 fix: dont crash when no groups exist
  • 2d9eb0c fix: make planty work
  • 954f572 Merge pull request 'feat: initial node groups' (#44) from feat/group-node-own into main
  • 63d5b80 chore: pnpm format
  • 3e32ca4 feat: ungroup nodes
  • f0cb12a chore: fix some type issues
  • 1d60090 chore: fixup graph manager tests
  • 5b55056 chore: remove graph element in graphManager
  • e2c2b1a chore: remove e2e test screenshots (too flaky)
  • 7f082ad feat: implement node sockets ui
  • ed11195 chore: refactor graphStack to be simpler
  • 8ad62cf feat: add node group breadcrumbs
  • bff140a feat: show different ui when inside group
  • 85e2fd1 fix: use correct id for debug node
  • 5beb031 fix: broken format command for @nodarium/planty
  • 83e0e47 refactor: only show group/node panel when selected
  • 106797d feat: make group input/output node work
  • 1a56ba9 damn dude
  • 703f531 chore: make eslint and playwright happy
  • 0ed22f2 chore: pnpm upgrade
  • 733b0a2 chore: sync sveltekit app before e2e
  • 8f60816 chore: sync sveltekit app before e2e
  • cd7b51d chore: sync sveltekit app before e2e
  • 6c9cd15 chore: sync sveltekit app before e2e
  • db5ee8b fix: make eslint happy
  • a6b9ca4 feat: capture system stats in benchmark
  • d4910ab chore: pnpm format
  • e695c76 chore: make eslint happy
  • 2a54fa7 feat: add name to groups
  • 6d5cac6 feat(ui): click-to-copy on node values in jsonviewer
  • 3ee074b feat(ui): make inputselect also handle value+label options
  • 59a1e63 feat: add unit tests for graph state
  • 317d155 fix: graph correctly restore html refs after exiting node group
  • 78439b1 fix: make benchmark work
  • ef217b1 feat: some updates
  • 7499b80 fix: make the runtime work with groups
  • a5b663f feat(ci): split e2e and unit tests
  • 0550670 feat: let claude fix ci
  • 63188e5 feat: let claude fix ci
  • 4572d30 feat: let claude refactor ci
  • ccc376d feat: store total vertices/faces in benchmarkl
  • 7e432e9 chore: update ci workflow
  • 01f5837 feat: make more node group features work
  • 6ef5dc2 chore: move jsonviewer into ui package
  • 3450d70 docs: add LLM.md
  • 731b9e9 feat: upgrade graph source panel
  • 72f07d0 feat: initial node groups
  • a56e8f4 feat(ci): install openssh client
  • 1257274 fix(planty): remove debug span
  • 7aa9979 chore: update e2e tests
  • fc35a68 fix: dont package ui library
  • aba6f03 fix: dont package ui library
  • 2d6fd00 fix: dont package ui library
  • d231946 fix: remove unused imports
  • e2f4a24 fix(planty): make sure config is completely static
  • 58d39cd feat: improve planty ux
  • 7ebb129 feat(app): make zoom in nicer
  • 23f65a1 fix: remove unused header div
  • acdc582 feat: use ui and planty without build
  • 7a3e9eb chore: update test screenshot
  • be82312 chore: update test screenshot
  • 84f67e9 fix: update planty types
  • 491e345 feat: build planty in post install
  • ba501b2 fix: correct tsconfig for planty
  • 7d76b9e fix: mark planty as type:module
  • 5d4e2e9 fix: make formatter happy
  • 4de15b1 feat: wire up planty with nodarium/app
  • 168e6fc feat: update some node default settings
  • c0eb75d feat: new planty package
  • 2ec9bfc feat(ci): compress benchmark data
  • c975206 fix(ci): use older upload-artifact action
  • 6475790 fix(ci): build nodes before benchmarking
  • 580ec73 ci: run benchmark in ci

v0.0.5 (2026-02-13)

Features

  • Implement debug node with full runtime integration, wildcard (*) inputs, variable-height nodes and parameters, and a quick-connect shortcut.
  • Add color-coded node sockets and edges to visually indicate data types.
  • Recursively merge localState with the initial state to safely handle outdated settings stored in localStorage when the settings schema changes.
  • Clamp the Add Menu to the viewport.
  • Add application favicon.
  • Consolidate all developer settings into a single Advanced Mode setting.

Fixes

  • Fix InputNumber arrow visibility in the light theme.
  • Correct changelog formatting issues.

Chores

  • Add pnpm qa pre-commit command.
  • Run linting and type checks before build in CI.
  • Sign release commits with a PGP key.
  • General formatting, lint/type cleanup, test snapshot updates, and .gitignore maintenance.

  • f16ba26 fix(ci): still trying to get gpg to work
  • cc6b832 fix(ci): trying to get gpg to work
  • dd5fd5b fix(ci): better add updates to package.json
  • 38d0fff chore: update ci image
  • bce06da ci: add gpg-agent to ci image
  • af585d5 feat: use new ci image with gpg
  • 0aa73a2 feat: install gpg in ci image
  • c1ae702 feat: add color to sockets
  • 4c7b03d feat: add gradient mesh line
  • 144e8cc fix: correctly highlight possible outputs
  • 12ff9c1 Merge pull request 'feat/debug-node' (#41) from feat/debug-node into main
  • 8d3ffe8 Merge branch 'main' into feat/debug-node
  • 95ec93e feat: better handle ctrl+shift clicks and selections
  • d39185e feat: add "pnpm qa" command to check before commit
  • 81580cc fix: cleanup some type errors
  • bf6f632 feat: add shortcut to quick connect to debug
  • e098be6 fix: also execute all nodes before debug node
  • ec13850 fix: make debug node work with runtime
  • 15e08a8 feat: implement debug node
  • 48cee58 chore: update test snapshots
  • 3235cae chore: fix lint and typecheck errors
  • 3f44072 feat: implement variable height for node shader
  • da09f8b refactor: move debug node into runtime
  • ddc3b4c feat: allow variable height node parameters
  • 2690fc8 chore: gitignore pnpm-store
  • 072ab90 feat: add initial debug node
  • e23cad2 feat: add "*" datatype for inputs for debug node
  • 5b5c63c fix(ui): make arrows on inputnumber visible on lighttheme
  • c9021f2 refactor: merge all dev settings into one setting
  • 9eecdd4 Merge pull request 'feat: merge localState recursively with initial' (#38) from feat/debug-node into main
  • 7e71a41 feat: merge localState recursively with initial
  • 07cd9e8 feat: clamp AddMenu to viewport
  • a31a49a ci: lint and typecheck before build
  • 850d641 chore: pnpm format
  • ee5ca81 ci: sign release commits with pgp key
  • 22a1183 fix(ci): correctly format changelog
  • b5ce572 chore: format favicon svg
  • 102130c feat: add favicon
  • 1668a2e chore: format changelog.md

v0.0.4 (2026-02-10)

Features

  • Added shape and leaf nodes, including rotation support.
  • Added high-contrast light theme and improved overall node readability.
  • Enhanced UI with dots background, clearer details, and consistent node coloring.
  • Improved changelog display and parsing robustness.

Fixes

  • Fixed UI issues (backside rendering, missing types, linter errors).
  • Improved CI handling of commit messages and changelog placement.

Chores

  • Simplified CI quality checks.
  • Updated dprint linters.
  • Refactored changelog code.

  • 51de3ce fix(ci): update changelog before building
  • 8d403ba Merge pull request 'feat/shape-node' (#36) from feat/shape-node into main
  • 6bb3011 Merge remote-tracking branch 'origin/main' into feat/shape-node
  • 02eee5f fix: disable macro logs in wasm
  • 4f48a51 feat(nodes): add rotation to instance node
  • 97199ac feat(nodes): implement leaf node
  • f36f0cb feat(ui): show circles only when hovering InputShape
  • ed3d48e fix(runtime): correctly encode 2d shape for wasm nodes
  • c610d6c fix(app): show backside in three instances
  • 8865b9b feat(node): initial leaf / shape nodes
  • 235ee5d fix(app): wrong linter errors in changelog
  • 23a4857 feat(app): dots background for node interface
  • e89a46e feat(app): add error page
  • cefda41 feat(theme): optimize node readability
  • 21d0f0d feat: add high-contrast-light theme
  • 4620245 ci: simplify ci quality checks
  • 0f4239d ci: simplify ci quality checks
  • d9c9bb5 fix(theme): allow raw html in head style
  • 18802fd fix(ui): add missing types
  • b1cbd23 feat(app): use same color for node outline and header
  • 33f10da feat(ui): make details stand out
  • af5b3b2 fix: make sure that CHANGELOG.md is in correct place
  • 64d75b9 feat(ui): add InputColor and custom theme
  • 2e6466c chore: update dprint linters
  • 20d8e2a feat(theme): improve light theme a bit
  • 715e1d0 feat(theme): merge edge and connection color
  • 07e2826 feat(ui): improve colors of input shape
  • e0ad97b feat(ui): highlight circle on hover on InputShape
  • 93df4a1 fix(ci): handle newline in commit messages for git.json
  • d661a4e feat(ui): improve InputShape ux
  • c7f808c wip
  • 72d6cd6 feat(ui): add initial InputShape element
  • 615f2d3 feat(ui): allow custom snippets in ui section header
  • 2fadb68 refactor: make changelog code simpler
  • 9271d3a fix(app): handle error while parsing commit
  • 13c83ef fix(app): handle error while parsing changelog
  • e44b73b feat: optimize changelog display
  • 979e9fd feat: improve changelog readbility
  • 544500e chore: remove pgp from changelog
  • aaebbc4 fix: some stuff with ci

v0.0.3 (2026-02-07)

Features

  • Edge dragging now highlights valid connection sockets, improving graph editing clarity.
  • InputNumber supports snapping to predefined values while holding Alt.
  • Changelog is accessible directly from the sidebar and now includes git metadata and a list of commits.

Fixes

  • Fixed incorrect socket highlighting when an edge already existed.
  • Corrected initialization of InputNumber values outside min/max bounds.
  • Fixed initialization of nested vec3 inputs.
  • Multiple CI fixes to ensure reliable builds, correct environment variables, and proper image handling.

Maintenance / CI

  • Significant CI and Dockerfile cleanup and optimization.
  • Improved git metadata generation during builds.
  • Dependency updates, formatting, and test snapshot updates.

  • f8a2a95 chore: clean CHANGELOG.md
  • c9dd143 fix(ci): correctly add release notes from tag to changelog
  • 898dd49 fix(ci): correctly copy changelog to build output
  • 9fb69d7 feat: show commits since last release in changelog
  • bafbcca fix: wrong socket was highlighted when dragging node
  • 8ad9e55 feat: highlight possible sockets when dragging edge
  • 11eaeb7 feat(app): display some git metadata in changelog
  • 74c2978 chore: cleanup git.json a bit
  • 4fdc247 ci: update build.sh to correct git.json
  • c3f8b4b ci: debug available env vars
  • 67591c0 chore: pnpm format
  • de1f9d6 feat(ui): change inputnumber to snap to values when alt is pressed
  • 6acce72 fix(ui): correctly initialize InputNumber
  • cf8943b chore: pnpm update
  • 9e03d36 chore: use newest ci image
  • fd7268d ci: make dockerfile work
  • 6358c22 ci: use tagged own image for ci
  • 655b6a1 ci: make dockerfile work
  • 37b2bdc ci: update ci Dockerfile to work
  • 94e01d4 ci: correctly build and push ci image
  • 35f5177 feat: try to optimize the Dockerfile
  • ac2c61f ci: use actual git url in ci
  • ef3d462 fix(ci): build before testing
  • 703da32 ci: automatically build ci image and store locally
  • 1dae472 ci: add a git.json metadata file during build
  • 09fdfb8 chore: update test screenshots
  • 04b63cc feat: add changelog to sidebar
  • cb6a356 feat(ci): also cache cargo stuff
  • 9c9f3ba fix(ci): use GITHUB_instead of GITEA_ for env vars
  • 08dda2b chore: pnpm format
  • 059129a fix(ci): deploy prs and main
  • 437c9f4 feat(ci): add list of all commits to changelog entry
  • 48bf447 docs: straighten up changelog a bit
  • 548fa4f fix(app): correctly initialize vec3 inputs in nestedsettings

v0.0.2 (2026-02-04)

Fixes


  • fix(ci): actually deploy on tags
  • fix(app): correctly handle false value in settings

v0.0.1 (2026-02-03)

chore: format