Dennis Kobert
bc29166d4c
Add the rank-model repeat on points flattening every points row
2026-08-17 09:26:59 +00:00
Dennis Kobert
0f3e3f7337
Materialize ranked non-subject inputs whole and expose them to extent overrides
2026-08-17 09:26:59 +00:00
Keavon Chambers
d63362718f
Split 'To Graphic' and 'Wrap Graphic' into the 'As Graphic' type assertion and 'Into Group' reducer nodes ( #4441 )
...
* Split 'To Graphic' and 'Wrap Graphic' into the 'As Graphic' type assertion and 'Into Group' reducer nodes
* Make 'Into Group' reduce List<DVec2> not Item<DVec2>
* Reset the Merge definition for every legacy alias of its coercion nodes
* Improve test
2026-08-17 02:19:59 -07:00
Dennis Kobert
a03db0ac6c
Decompose the flat index over the content extent in structure creators
2026-08-17 08:09:27 +00:00
Keavon Chambers
104b8b71e6
Support embedding whole items into Graphic variants so their attributes survive the conversion ( #4440 )
...
Add embedding conversion adapters that move a whole ranked value inside a Graphic variant
2026-08-16 19:51:58 -07:00
Keavon Chambers
f635c56eab
Fix color and gradient paints not rendering with their opacity attributes ( #4438 )
...
Fade color and gradient paints by their own opacity attributes
2026-08-16 15:52:27 -07:00
Dennis Kobert
932ed8653e
Add the rank-model repeat radial rotating each copy around the center
2026-08-16 18:17:30 +00:00
Dennis Kobert
5ab3f067fe
Add the rank-model repeat array over a lazy transform-reading carrier
2026-08-16 17:47:25 +00:00
Dennis Kobert
3df028cb18
Wire record-io plain values as record edges in the registry, extracted at construction
2026-08-16 17:47:25 +00:00
Dennis Kobert
e423dd96de
Support lazy record carriers so a creator can read and rewrite attrs per copy
2026-08-16 17:13:19 +00:00
Dennis Kobert
bef58bf395
Give the generic repeat its production shape with reverse in the index mapping
2026-08-16 17:13:19 +00:00
Dennis Kobert
131abf5883
Give extent overrides a typed input surface instead of the raw node form
2026-08-16 15:55:17 +00:00
Dennis Kobert
3859bd713e
Install element layouts on the runtime test graphs
2026-08-16 11:29:20 +00:00
Dennis Kobert
ac40f1838f
Store record batches in caller-owned frame buffers instead of aliased stack pointers
2026-08-16 11:29:20 +00:00
Dennis Kobert
9055a5f3d5
Drop the stale layout unwraps in the math wire tests
2026-08-16 11:28:33 +00:00
Dennis Kobert
d32caeab52
Add a generic lazy repeat that evaluates its content at each copy index
2026-08-16 11:28:11 +00:00
Dennis Kobert
15f4aa8f98
Strip IList nesting from kernel returns at parse time
2026-08-16 11:27:13 +00:00
Keavon Chambers
c507b35645
Add rank-0 Item leaf variants to the Graphic enum alongside its List variants ( #4437 )
...
* Add the rank-0 Item leaf variants to the Graphic enum, rendering leaves and list rows through shared per-row logic
* Traverse the rank-0 Graphic leaf variants in the vector node helpers and flattening
* Reach rank-0 vector graphics from the styling and gradient-fitting helpers
* Two code review fixes
* Fix comment
2026-08-16 02:24:15 -07:00
Dennis Kobert
99ce2ea565
Require a node registry to compile so the layout pass always runs
2026-08-15 14:49:25 +00:00
Dennis Kobert
87200f3c2a
Gate a flipped shader node's layout metadata out of the GPU build
2026-08-15 14:49:19 +00:00
Dennis Kobert
214632c5ec
Reserve the record stack before direct edge evals in executor tests
2026-08-15 12:27:39 +00:00
Dennis Kobert
64fb4eda61
Fold the record-stack peak in the layout pass, not the executor
2026-08-15 12:20:52 +00:00
Dennis Kobert
f9e30c4c77
Install record layouts from the pass via set_layout
2026-08-15 11:20:01 +00:00
Dennis Kobert
bfa48439c8
Resolve coercion nodes and dynamic values in the layout pass
2026-08-15 08:48:29 +00:00
Keavon Chambers
ba7cbd83bc
Store an appearance's paint as a bare Graphic rather than a single-element List<Graphic> ( #4435 )
...
Rank the coverage's paint attribute down from List<Graphic> to Graphic
2026-08-14 22:13:00 -07:00
Keavon Chambers
69585b25e3
Rename the Graphic enum wrapper variants with a "List" suffix ( #4434 )
...
* Make the Artboard and Gradient newtype fields public to match the other list newtypes
* Rename the Graphic enum's self-named Graphic::Graphic variant to Graphic::GraphicList
* Rename the Graphic::Vector variant to Graphic::VectorList
* Rename the Graphic::RasterCPU variant to Graphic::RasterCPUList
* Rename the Graphic::RasterGPU variant to Graphic::RasterGPUList
* Rename the Graphic::Color variant to Graphic::ColorList
* Rename the Graphic::Gradient variant to Graphic::GradientList
* Rename the Graphic::Text variant to Graphic::TextList
* Restore the SVG group tag comment that the variant rename sweep clobbered
2026-08-14 18:55:07 -07:00
Dennis Kobert
a717403db8
Diagnose a materializing node's missing InjectIndex and Copy bounds
2026-08-14 21:31:14 +00:00
Dennis Kobert
fdf13f91cb
Materialize a reducer's ranked input into a List and fold it
2026-08-14 21:19:20 +00:00
Keavon Chambers
d117c3eace
Adopt the cascading "appearance" attribute in place of Vector::stroke and the "fill"/"paint" attributes ( #4433 )
...
* Add the appearance model types and attribute constants
* Dual-write the appearance attribute alongside the fill/stroke pair in all paint-writing nodes
* Read paint from the appearance attribute in the renderer, analysis, metadata, and editor, cascading from ancestors
* Retire the fill/stroke attribute pair and the Vector stroke field in favor of the appearance attribute
* Replace the Stroke node's paint order input with the relative chain order of the Fill and Stroke nodes
* Code review fixes
* Re-save demo art
* Stamp coverages in place and fuse the renderer's per-item appearance reads into single walks
* Treat an empty appearance as the undeclared state so padded rows inherit instead of blocking the cascade
* Update demo art
* Treat padded appearance rows as undeclared in the boolean flatten's group recursion
2026-08-14 13:25:23 -07:00
Dennis Kobert
65e0969721
Recognize a reducer's IList input level in build
2026-08-14 10:13:53 +00:00
Dennis Kobert
8f265e7660
Report a creator's pushed-level extent from its count
2026-08-14 09:56:31 +00:00
Dennis Kobert
98e6b97072
Reshape the extent trait to a written extent_at and a derived composite
2026-08-14 09:10:04 +00:00
Dennis Kobert
a3e9074955
Scatter a creator's per-copy attribute from the copy index
2026-08-14 08:24:44 +00:00
Dennis Kobert
04afada5b3
Lower a creator's IList return to a level-pushing record
2026-08-14 08:22:29 +00:00
Dennis Kobert
3e183fbd28
Read a creator's IList return level in build
2026-08-14 08:11:59 +00:00
Dennis Kobert
849d6a17be
Delete the Class taxonomy in favor of the intent IR
2026-08-13 23:46:07 +00:00
Dennis Kobert
20ba069fe0
Derive record-io construction wiring from the intent IR
2026-08-13 23:26:22 +00:00
Dennis Kobert
c82093f153
Derive codegen node-kind predicates from the intent IR
2026-08-13 23:09:48 +00:00
Dennis Kobert
010785d8db
Derive single-row registry entries from the intent IR
2026-08-13 22:08:04 +00:00
Dennis Kobert
69774d445c
Derive the eval tail from the intent IR
2026-08-13 21:08:41 +00:00
Dennis Kobert
b42c632474
Derive input bindings from the intent IR
2026-08-13 19:32:25 +00:00
Dennis Kobert
f195e363a5
Emit layout metadata from the intent IR
2026-08-13 16:11:58 +00:00
Dennis Kobert
40f99152ce
Bridge-verify build against the resolved class
2026-08-13 15:35:07 +00:00
Dennis Kobert
3b1170b148
Derive inputs, output, and monomorphizations in build
2026-08-13 15:18:35 +00:00
Dennis Kobert
3a20091d3a
Derive the node-level intent axes in build
2026-08-13 14:19:49 +00:00
Dennis Kobert
e5206c3b50
Add the node intent IR types
2026-08-13 14:00:15 +00:00
Dennis Kobert
fbc736e1cc
Verify computed layouts match construction at node construction
2026-08-13 10:25:00 +00:00
Dennis Kobert
d7da2ba9e7
Add the resolve_types and compute_layouts compiler passes
2026-08-13 10:24:59 +00:00
Dennis Kobert
a5784c8f0b
Port the create_context render test onto record wires
2026-08-12 13:11:48 +00:00
Dennis Kobert
83fbaca6f2
Unify the layout metadata model and collapse the single-row entry emitters
2026-08-12 13:11:48 +00:00