Skip to content

Tags: nodebox/nodebox

Tags

archive/claude/nodebox-desktop-web-unify-kf5csw

Toggle archive/claude/nodebox-desktop-web-unify-kf5csw's commit message

Verified

This commit was signed with the committer’s verified signature.
claude Claude
Document the pixel layer, and ship a document that uses it

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmRim6UaWVrpa37gF429YF

v3.1.0

Toggle v3.1.0's commit message
NodeBox 3.1.0

archive/desktop-integration-handoff

Toggle archive/desktop-integration-handoff's commit message
Add desktop integration session handoff doc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

archive/electron-app

Toggle archive/electron-app's commit message
Sync viewer mode to rendered output type

Add viewer availability state and automatic switching between visual/data modes based on the currently rendered node output.

- Renderer state: introduce preferredGeometryViewerMode and visualViewerAvailable, persist visual availability in main hydration.
- Sync logic: add syncViewerModeForRender to ui-slice to enable/disable visual mode and restore previous geometry preference when visual output returns.
- UI: disable the Visual tab when visual viewer is unavailable and add test IDs/ARIA attributes to support e2e tests.
- Data viewer: refactor DataViewer into GeometryTable/ValuesTable, add EmptyState, value formatting utilities and color swatches for value lists.
- App: detect rendered child and renderResult to drive viewer mode syncing.
- Rust (nodebox-electron): add output display string formatting (output_display_strings, format_data_row), minor JSON shaping and formatting refactors to include output values for the frontend.
- Tests: add end-to-end tests for viewer mode transitions and a unit test suite for ui-slice behavior.

These changes ensure non-graphical outputs force the data viewer and that returning geometry restores the previous visual preference.

archive/port-to-typescript

Toggle archive/port-to-typescript's commit message
Increase coordinate tolerance to 10.0 (1% of canvas)

Cross-implementation transform chains accumulate floating-point
differences up to ~6px. A tolerance of 10.0 on a 1000px canvas (1%)
is visually imperceptible and appropriate for golden master comparison.

Golden test score: 20/42 testable (48%), +Copy

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

archive/claude/add-ndbx-file-association-DJwhY

Toggle archive/claude/add-ndbx-file-association-DJwhY's commit message

Verified

This commit was signed with the committer’s verified signature.
claude Claude
Handle macOS file-open events by injecting application:openFiles: int…

…o winit's delegate.

winit 0.30.12's NSApplicationDelegate doesn't implement application:openFiles:,
so macOS shows an error when double-clicking .ndbx files. This uses raw ObjC
runtime calls (class_addMethod) to inject the method into the delegate's class
during the eframe creation callback — after the delegate exists but before
Apple Events are dispatched. File paths are stored in a global Mutex and polled
each frame in update().

Handles both cold start (file double-clicked to launch app) and warm start
(file double-clicked while app is already running). No new crate dependencies.

https://claude.ai/code/session_01NXut6FX3rsrwY1mDyjUadn

archive/rust-zinc-theme

Toggle archive/rust-zinc-theme's commit message
Switch theme from Tailwind Slate to Zinc color palette

archive/claude/add-gui-screenshots-DCfZk

Toggle archive/claude/add-gui-screenshots-DCfZk's commit message

Verified

This commit was signed with the committer’s verified signature.
claude Claude
Add GUI screenshot tests for visual regression testing

Enable egui_kittest snapshot + wgpu features and add 11 screenshot
tests covering parameter panels, network view, menus, dialogs, view
options, toolbar controls, and node selection. Baseline snapshots are
generated via lavapipe (software Vulkan) and stored in tests/snapshots/.

Run UPDATE_SNAPSHOTS=true cargo test to regenerate baselines after
intentional UI changes.

https://claude.ai/code/session_01GGwHMrAJCeG9Lff5mWv75t

archive/claude/add-e2e-gui-tests-mi8uO

Toggle archive/claude/add-e2e-gui-tests-mi8uO's commit message

Verified

This commit was signed with the committer’s verified signature.
claude Claude
Add E2E GUI tests for the Rust/egui GUI

Two tiers of E2E tests that simulate complete user workflows:

1. State-level workflow tests (e2e_workflow_tests.rs) — 9 tests exercising
   AppState + evaluate_network: create/render/delete nodes, multi-node
   pipelines, undo/redo, parameter changes, save/load round-trips, and
   connection cleanup.

2. App-level E2E tests (app_e2e_tests.rs) — 6 tests using NodeBoxApp
   directly with update_for_testing() for full frame-cycle simulation
   including change detection, history management, and evaluation.

Also:
- Remove #[cfg(test)] from NodeBoxApp test constructors so they're
  available from integration tests
- Add rust-test CI job running cargo test --no-default-features

https://claude.ai/code/session_01DgqWM7ChctkRrvFVA6LMsx

archive/claude/implement-nodes-java-rust-CnCbV

Toggle archive/claude/implement-nodes-java-rust-CnCbV's commit message

Verified

This commit was signed with the committer’s verified signature.
claude Claude
Add golden SVG test generation for node implementations

- Create comprehensive Java test (CoreVectorFunctionsTest) that renders all
  core vector functions to SVG for comparison
- Create Rust golden file generator (golden_files.rs) that renders all
  nodebox-ops nodes to SVG
- Add nodebox-ops as dev dependency for nodebox-svg examples
- Both generators produce comparable SVG output for:
  - Generators: ellipse, rect, line, arc, grid, polygon, star, quad_curve
  - Filters: align, colorize, copy, fit, group, skew, snap, translate,
    scale, rotate, reflect, wiggle, stack, point_on_path
  - Complex examples: spiral, radial_pattern, grid_of_shapes

All nodebox-core, nodebox-ops, nodebox-svg tests pass.

https://claude.ai/code/session_01K8qMt26WPSaTg52d1gJcSH