Commit Graph

220 Commits

Author SHA1 Message Date
Dennis Kobert
db9a59aa7d Fold attribute names out of their constant inputs when the graph compiles
`compute_layouts` resolves every name-from-input write against the text
its name input carries, so a folded meta is indistinguishable from a
marker node's and the layout holds a `&'static str` from there on. That
leaves nowhere for a name to be computed, which is the whole of the
rule: a name input that is not a constant is refused right here, per
node, with the path the editor pins its diagnostic to.

One name carries one value type, checked across the census and the
names a node folds together, so no graph can declare one field at two
widths. `compute_layouts` returns those refusals rather than panicking.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-09 12:44:42 +00:00
Dennis Kobert
33b20d6329 Bring the editor onto the reconciled node catalog and paint carrier 2026-09-08 16:33:52 +00:00
Dennis Kobert
3830ace926 Reach a compiling workspace on the merged tree 2026-09-08 16:11:30 +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
Keavon Chambers
e725f55043 Relicense Graphite under the dual MIT/Apache-2.0 license (#4208)
Relicense under dual MIT/Apache-2.0
2026-09-06 23:57:37 -07:00
Dennis Kobert
02f9cf3e6b Rename generic_record_edge_type to generic_record_source_type 2026-09-06 16:27:25 +00:00
Dennis Kobert
33f7257e47 Rename record_edge_type to record_source_type 2026-09-06 16:27:11 +00:00
Dennis Kobert
92adc524ca Rename EdgeHandle to SourceHandle 2026-09-06 16:26:03 +00:00
Dennis Kobert
9f0e0ebc96 Clear the remaining clippy warnings on the diff surface 2026-09-06 16:25:17 +00:00
Dennis Kobert
a911bcc165 Justify the three clippy lints that must stand 2026-09-06 16:24:53 +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
305c36fb25 Reattach docs to the items they describe 2026-09-06 15:57:05 +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
fdde760259 Drop the unread kernel field from the intent IR 2026-09-05 13:11:45 +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
277641d27e Delete the plain edge kind 2026-08-29 10:07:10 +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
Timon
96cc520c4b Improve texture caching by allowing weak refs and more formats (#4447)
* Destroy GPU textures when the last reference drops

* Request pooled textures synchronously

* Pool cached textures by format

* Add the owned GPU buffer type

* Route the remaining GPU allocations through the executor

* Add weak texture parking to the texture cache

* Raise the texture cache budget to 1GB for native and 512MB for wasm
2026-08-27 15:19:00 +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
9cf037e992 Treat Modify bounds as transparent and drop the redundant fold-context validation 2026-08-25 11:04:57 +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
027218f16c Declare which index levels a node reads and nullify the rest 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
73897111d0 Stop declaring derived index injection as a context feature 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