Skip to content

Make runtime and storage use one shared node id space - #4950

Merged
TrueDoctor merged 6 commits into
masterfrom
derived-catalog-node-ids
Nov 14, 2026
Merged

TrueDoctor merged 6 commits into
masterfrom
derived-catalog-node-ids

Conversation

@TrueDoctor

@TrueDoctor TrueDoctor commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Make all document node ids universally unique, aligning their generation with the storage nodes such that we can use storage node ids as runtime ids and skip the runtime -> storage conversion

@github-actions

Copy link
Copy Markdown

This PR's title needs revising to follow the project's conventions:

  • Its opening verb should say what the change does to the software, rather than something the software itself does or becomes able to do (like "Render").
  • It describes how the change works, rather than what users get from it.
  • It's too vague to tell what the change does.

Suggested titles:

Unify the runtime and storage node ID spaces so storage keys nodes by their runtime IDs
Replace hashed storage node IDs with the runtime node IDs, and make built-in node contents read-only until made editable
Use runtime node IDs as the storage node IDs and drop the ORIGINAL_NODE_ID attribute

Editing the title reviews it again.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 41 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

@TrueDoctor TrueDoctor changed the title Make runtime and storage use one shared node id space Make runtime and storage use one shared node ID space Nov 14, 2026
@TrueDoctor TrueDoctor changed the title Make runtime and storage use one shared node ID space Make runtime and storage use one shared node id space Nov 14, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 12 files (changes from recent commits).

Confidence score: 5/5

  • In node-graph/nodes/raster/src/filter.rs, the joined && clauses don’t match this repo’s rustfmt layout. Put each clause on its own line.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="node-graph/nodes/raster/src/filter.rs">

<violation number="1" location="node-graph/nodes/raster/src/filter.rs:232">
P3: This change joins two `&&` clauses onto one line, which is not how rustfmt lays out multi-line `if` conditions in this repo. Put each clause on its own line so the file matches `cargo fmt` output.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread node-graph/nodes/raster/src/filter.rs Outdated
if p >= 0
&& p < max as i32
&& let Some(px) = old_buffer.get_pixel([p as u32, x][pass], [y, p as u32][pass])
&& p < max as i32 && let Some(px) = old_buffer.get_pixel([p as u32, x][pass], [y, p as u32][pass])

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This change joins two && clauses onto one line, which is not how rustfmt lays out multi-line if conditions in this repo. Put each clause on its own line so the file matches cargo fmt output.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At node-graph/nodes/raster/src/filter.rs, line 232:

<comment>This change joins two `&&` clauses onto one line, which is not how rustfmt lays out multi-line `if` conditions in this repo. Put each clause on its own line so the file matches `cargo fmt` output.</comment>

<file context>
@@ -229,8 +229,7 @@ where
 					if p >= 0
-						&& p < max as i32
-						&& let Some(px) = old_buffer.get_pixel([p as u32, x][pass], [y, p as u32][pass])
+						&& p < max as i32 && let Some(px) = old_buffer.get_pixel([p as u32, x][pass], [y, p as u32][pass])
 					{
 						r_sum += px.r() as f64 * weight;
</file context>
Suggested change
&& p < max as i32 && let Some(px) = old_buffer.get_pixel([p as u32, x][pass], [y, p as u32][pass])
&& p < max as i32
&& let Some(px) = old_buffer.get_pixel([p as u32, x][pass], [y, p as u32][pass])

@TrueDoctor
TrueDoctor force-pushed the derived-catalog-node-ids branch from c272a9f to 9a6abce Compare November 14, 2026 11:19
@TrueDoctor
TrueDoctor added this pull request to the merge queue Nov 14, 2026
Merged via the queue into master with commit 86ebb7d Nov 14, 2026
14 of 15 checks passed
@TrueDoctor
TrueDoctor deleted the derived-catalog-node-ids branch November 14, 2026 11:32

This branch was successfully deployed

1 active deployment
graphite-dev (Preview) — 9a6abce2 Deployed Nov 14, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants