Dennis Kobert
41fa0ba955
Keep the name placeholder out of the kernel entirely
...
A name input declares where a placeholder's name is wired and nothing
more. The name is spent resolving the layout when the graph compiles, so
the kernel neither declares it nor is passed it; the return type's
`Named<X, V>` is the only tie between the write slot and the folded name.
The wire is untouched: the input keeps its declared position and crosses
as constant text, so a document's input order is unchanged. The
placeholder stays a concrete token, so it adds no generic for the node
to carry and none to go unconstrained.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-09-09 12:46:31 +00:00
Dennis Kobert
81d72b159b
Write an attribute under a name the graph supplies
...
`Named<X>` in parameter position declares where a placeholder's name is
wired, and the macro gives that input constant text; `Attr<Named<X, V>>`
in the return writes under it. The kernel is handed the bare placeholder,
since the name is spent resolving the layout and a folded offset is all
the write needs, so the hot path matches a marker node's exactly.
A name-generic write names its value type through the wired generic,
which only an implementations row resolves, so those nodes emit their
layout meta per row rather than sharing one across rows.
`write_attribute` is the catalog's set half, restoring the identifier
master's documents carry with its input positions. Its name input is a
constant, so those documents resolve without migration, and the reset
marker that stood in for the missing node retires with it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-09-09 12:45:42 +00:00
Dennis Kobert
f59ceba19f
Merge origin/master into the async record refactor
...
Scaffolding merge for the reconcile; the final series to master is
authored fresh. Rank plumbing resolves to our axis-IR model, the node
macro and the LaneSource render walk stay ours, master's vector
restructure and gradient vocabulary are adopted, and the paint and
appearance adoption is deliberately deferred behind our fill and stroke
markers.
2026-09-08 15:03:57 +00:00
Dennis Kobert
f237a5ee50
Claim the carrier's frame before the lazy cursor snapshot
2026-09-08 12:22:04 +00:00
Dennis Kobert
9f0e0ebc96
Clear the remaining clippy warnings on the diff surface
2026-09-06 16:25:17 +00:00
Dennis Kobert
6cdab6b95d
Drop docs naming mechanisms that do not exist
2026-09-06 15:58:40 +00:00
Dennis Kobert
e92faf763d
Correct docs that misstate what the code does
2026-09-06 15:58:01 +00:00
Dennis Kobert
9d3abe385f
Sweep the data-flow wire and edge wording to input and source
2026-09-06 15:14:55 +00:00
Dennis Kobert
d80651e85c
Rename ElementEdge to ElementInput
2026-09-06 15:13:32 +00:00
Dennis Kobert
a16a4c6354
Rename RecordEdgeInput to RecordInput
2026-09-06 15:13:22 +00:00
Dennis Kobert
d294d75198
Rename DerivedRecordEdge to DerivedRecordInput
2026-09-06 15:12:54 +00:00
Dennis Kobert
8f7d3936f8
Rename serve_edge to serve_input
2026-09-06 15:12:46 +00:00
Dennis Kobert
30573e6eb6
Condense the narrative comments to their constraints
2026-09-05 13:12:17 +00:00
Dennis Kobert
40efbc3261
Name the generic-carry predicate for what it now covers
2026-09-05 12:23:34 +00:00
Dennis Kobert
39ce55ab61
Convert rasterize to an async record source with an owned merged-layers write
2026-09-05 12:17:06 +00:00
Dennis Kobert
3e1a9a1acf
Let an async source write an owned attribute through its claim
2026-09-05 11:58:02 +00:00
Dennis Kobert
29052a58db
Let async source kernels write attributes through their frame claim
2026-08-29 23:00:17 +00:00
Dennis Kobert
641fcc88c6
Read declared attributes through one core-types helper
2026-08-29 20:16:17 +00:00
Dennis Kobert
41d295f140
Tie a record view to the storage it points into
2026-08-29 20:14:44 +00:00
Dennis Kobert
a955d6b458
Run cargo fmt
2026-08-29 18:40:02 +00:00
Dennis Kobert
97bc10e4c3
Pass frame space by argument and delete the record stack
2026-08-29 18:33:23 +00:00
Timon
5457b4faec
Remove now obsolete disable-registration special case from node macro ( #4484 )
2026-08-29 15:58:14 +02:00
Dennis Kobert
3af6834d3c
Flip the Node trait from eval onto the frame claim's serve
2026-08-29 12:26:46 +00:00
Dennis Kobert
aef750153b
Claim the node frame once and close every exit through its drop
2026-08-28 19:11:38 +00:00
Dennis Kobert
f4d37524c8
Structure record stack rewinds as scope guards and make reserve unsafe
2026-08-28 18:02:50 +00:00
Dennis Kobert
1ef7c9c2c2
Support author-named serving lifetimes in the node macro
2026-08-28 13:30:06 +00:00
Dennis Kobert
d452ac0de1
Hoist a batch input only where the compiler proves it cannot vary per lane
2026-08-25 20:09:12 +00:00
Dennis Kobert
5176bfd331
Query per-copy extents with the same chain shape the value path builds
2026-08-25 16:36:49 +00:00
Dennis Kobert
2c84bb478f
Derive pushed index levels per input and pop them when lifting requirements
2026-08-24 17:06:07 +00:00
Dennis Kobert
2448157af8
Close the memoize frame on a valueless materialization and trace node exits
2026-08-24 14:11:46 +00:00
Dennis Kobert
d70eae205d
Quiet the clippy type-complexity and closure lints on the record kernels
2026-08-24 11:07:14 +00:00
Dennis Kobert
d38c767312
Gather a chosen subject lane through a Lane output and convert pack_strips
2026-08-24 08:22:25 +00:00
Dennis Kobert
b03e4fb215
Let record nodes take element-consuming lazy inputs and convert map_points
2026-08-23 19:28:27 +00:00
Dennis Kobert
511b4da9f5
Convert the raster std and adjustments families to element kernels and keep the unit primary's slot
2026-08-23 16:52:43 +00:00
Dennis Kobert
893cbfe450
Close the frame on interrupt exits and rewind extent value queries
2026-08-23 08:31:39 +00:00
Dennis Kobert
3fb8b10f80
Cache materialized spans per context and size emitter extents from the subject query
2026-08-23 00:57:37 +00:00
Dennis Kobert
c4b22c03b9
Size extent-path materialization by the total flat span
2026-08-22 20:59:37 +00:00
Dennis Kobert
a2918887f6
Collapse the whole subject wire in materialized folds
2026-08-22 19:11:48 +00:00
Dennis Kobert
e9a18a6437
Emit boolean results as elements with parked attributes
2026-08-22 17:29:51 +00:00
Dennis Kobert
c0f50d41d7
Drop the manual extent overrides in favor of the derivation
2026-08-22 15:55:49 +00:00
Dennis Kobert
0b2aa3798a
Derive extent forwarding for level-preserving passthroughs
2026-08-22 15:34:22 +00:00
Dennis Kobert
157c011953
Pick hashed element glue in the macro emissions
2026-08-21 18:21:38 +00:00
Dennis Kobert
b610eede20
Carry ranked element generics as struct parameters
2026-08-21 13:14:49 +00:00
Dennis Kobert
21f671555a
Derive lower-bound extents for leveled outputs and drop the map extent fns
2026-08-21 12:37:57 +00:00
Dennis Kobert
951059aa3a
Drain lower-bound reducer subjects by guess-and-double
2026-08-21 12:36:41 +00:00
Dennis Kobert
e68254eff3
Carry an extent hint on batch returns
2026-08-21 12:32:57 +00:00
Dennis Kobert
cb46be0430
Emit the reducer extent shift and the flat-span materialization
2026-08-19 21:43:14 +00:00
Dennis Kobert
d1d50ec469
Classify routing sources through IList nesting
2026-08-18 11:02:25 +00:00
Dennis Kobert
00e08359a3
Park droppable elements in the record tail store
2026-08-18 10:06:11 +00:00
Dennis Kobert
082fb5d959
Hoist non-lazy inputs in the default batch implementation
2026-08-18 08:53:38 +00:00