Commit Graph

3450 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
4f12de68a7 Carry a name-generic attribute's value type as its own row
An attribute's name and its value type separate: `AttrValue` declares
everything `Attribute` does except the name and its name-specific
default, and `Named<X, V>` pairs one with a name the graph supplies.
The value type stays concrete in the signature while the name varies
per instance, so a computed name has nowhere to come from.

`LayoutMeta` gains the name-from-input variant the fold consumes: a
`FieldWrite` template with every facet minted from the concrete type
and only the name left as a placeholder, plus the input position the
name's constant sits at. `fold_name` resolves one, preferring the
census row's descriptor where the name is declared so a known name
keeps its census default. `RecordLayout` carries the folded names so
`set_layout` can resolve offsets without a marker's `NAME`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-09 12:44:36 +00:00
Dennis Kobert
8266a61c52 Pad master era stroke nodes with the trailing paint order input 2026-09-08 19:42:50 +00:00
Dennis Kobert
5faafa1964 Move the paint order input last so master era documents index cleanly 2026-09-08 19:40:15 +00:00
Dennis Kobert
9e6250d0d9 Accept any paint element on the graphic fill and stroke rows 2026-09-08 19:35:27 +00:00
Dennis Kobert
35a34168d7 Accept any paint element on the fill and stroke inputs 2026-09-08 18:54:21 +00:00
Dennis Kobert
a593430e38 Adapt the test surface to our wire kind and no-content graphic 2026-09-08 17:41:29 +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
a854c25eb8 Rebuild the render walk on the new vector and gradient APIs 2026-09-08 15:23:20 +00:00
Dennis Kobert
ff45cf9525 Keep the preprocessor and the type defaults on one wire kind 2026-09-08 15:18:12 +00:00
Dennis Kobert
95ce26e36c Drop the stranded ranked wrappers from the node signatures 2026-09-08 15:16:13 +00:00
Dennis Kobert
c98570fd8a Read the stroke weight from the paint list in the clip path test 2026-09-08 15:14:43 +00:00
Dennis Kobert
694fd05ea0 Match the render metadata collection arity across the render seam 2026-09-08 15:13:45 +00:00
Dennis Kobert
b93b395d2f Speak our record wire kind in the type defaults and artboard exports 2026-09-08 15:11:33 +00:00
Dennis Kobert
8555e6fb79 Drop the superseded rank promotion executor tests and cover brush stroke lists 2026-09-08 15:09:41 +00:00
Dennis Kobert
db9b587f41 Route the render metadata attributes through fill and stroke 2026-09-08 15:06:47 +00:00
Dennis Kobert
985f85baec Adapt the merged tree to our rank model and paint attributes 2026-09-08 15:06:05 +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
b321c094d2 Keep the new assert messages inside the format width 2026-09-08 13:29:09 +00:00
Dennis Kobert
d4768d606f Justify the unsafe sites in the arena, record and graphic glue 2026-09-08 13:23:52 +00:00
Dennis Kobert
148008c695 Refuse a wasm threads build where the Send and Sync impls assume one thread 2026-09-08 13:15:18 +00:00
Dennis Kobert
2b5845464c Rederive the shared source pointer through an unwinding set_layout 2026-09-08 13:15:13 +00:00
Dennis Kobert
5e388cb38f Assert the deep element glue is registered before the executor evaluates 2026-09-08 13:15:06 +00:00
Dennis Kobert
49daf2895e Make Attribute an unsafe trait stating its re-park and glue coupling 2026-09-08 13:14:59 +00:00
Dennis Kobert
682d3dafbd Bound attribute value types Send and Sync 2026-09-08 13:14:59 +00:00
Dennis Kobert
ad03b5b0bf Check a census row against the field before its writer runs 2026-09-08 13:14:33 +00:00
Dennis Kobert
324925aedb Debit the retained hint before the drop glue that may panic 2026-09-08 13:14:18 +00:00
Dennis Kobert
e78a987e3e Bind a park forwarding to the destination arena generation 2026-09-08 13:14:12 +00:00
Dennis Kobert
2c8fa44eb4 Mint arena handles only over bytes the bump reserved 2026-09-08 13:14:12 +00:00
Dennis Kobert
6b22316077 Re-park a cross-arena adopt's payloads into the target arena 2026-09-08 13:11:04 +00:00
Dennis Kobert
98cabee4c6 Rebuild stale rasterize subgraphs at document migration 2026-09-08 12:53:02 +00:00
Dennis Kobert
e0848abc59 Scan item attribute values for groups the ownership gates miss 2026-09-08 12:22:04 +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
df99ab3a72 Guard attribute writes against an uninstalled layout offset 2026-09-07 16:12:01 +00:00
Dennis Kobert
0fc4424a09 State the disjointness a plan's copies require 2026-09-07 16:11:56 +00:00
Dennis Kobert
e9a3199456 State what contains the laundered arena borrow in the flatten test 2026-09-07 16:11:32 +00:00
Dennis Kobert
ef8312806d Serve the probe record the forwarding test finishes 2026-09-07 16:11:32 +00:00
Dennis Kobert
548cbfbf4e Check the claim's layout when replaying an owned record 2026-09-07 16:11:32 +00:00
Dennis Kobert
313c591f70 State from_resident's borrow-window contract at its call sites 2026-09-07 16:11:32 +00:00
Dennis Kobert
f07f708ee8 Back the owned-item tests' lanes with word storage 2026-09-07 16:03:10 +00:00
Dennis Kobert
5f73044b6b Back the repark test's element slot with word storage 2026-09-07 16:03:10 +00:00
Dennis Kobert
11aedd8196 Refuse record layouts wider than the frame tier's alignment 2026-09-07 16:03:10 +00:00
Dennis Kobert
f4f266b1ba Refuse a lift that never filled its layout's fields 2026-09-07 15:56:28 +00:00
Dennis Kobert
77e4e8c894 Bound and order the lanes a serve run records as filled 2026-09-07 15:51:08 +00:00
Dennis Kobert
c231bd0eb8 Check the serve run's lane capacity arithmetic 2026-09-07 15:50:32 +00:00
Dennis Kobert
095e0bb4ff Require content glue for a group's element 2026-09-07 15:39:00 +00:00
Dennis Kobert
369f7db992 Copy records out untyped instead of through a byte slice 2026-09-07 15:38:53 +00:00
Dennis Kobert
79750fb52d Stage attribute default bytes through zeroed storage 2026-09-07 15:38:11 +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