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
3830ace926
Reach a compiling workspace on the merged tree
2026-09-08 16:11:30 +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
b93b395d2f
Speak our record wire kind in the type defaults and artboard exports
2026-09-08 15:11:33 +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
f7360688f2
Point the construction docs at the registry that exists
2026-09-06 17:08:03 +00:00
Dennis Kobert
33f7257e47
Rename record_edge_type to record_source_type
2026-09-06 16:27:11 +00:00
Dennis Kobert
2921f44e5c
Rename leveled_record_value_edge to leveled_record_value_source
2026-09-06 16:27:01 +00:00
Dennis Kobert
1e91511f93
Rename record_value_edge to record_value_source
2026-09-06 16:26:49 +00:00
Dennis Kobert
92adc524ca
Rename EdgeHandle to SourceHandle
2026-09-06 16:26:03 +00:00
Dennis Kobert
6cdab6b95d
Drop docs naming mechanisms that do not exist
2026-09-06 15:58:40 +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
8f7d3936f8
Rename serve_edge to serve_input
2026-09-06 15:12:46 +00:00
Dennis Kobert
21dfe04bf8
Insert the boundary memo at context nullification
2026-08-31 23:52:34 +00:00
Dennis Kobert
97bc10e4c3
Pass frame space by argument and delete the record stack
2026-08-29 18:33:23 +00: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
Timon
d5bb887b79
Improve fix for corrupted font resource loading in older documents ( #4482 )
...
* Revert "Fix corrupted font resource loading in older documents"
This reverts commit 404d9f3047 .
* Fix migrations for the Read Vector, Dot Product, Query JSON, and Sample Polyline nodes
* Fix text node migrations
* Provide resource storage to the resource message handler
* Refetch resources whose stored bytes are missing
* Add test for refetching resources with missing bytes
2026-08-29 00:01:37 +00:00
Dennis Kobert
f34ec257e7
Normalize lifetime arguments out of registry type names
2026-08-28 13:30:05 +00:00
Timon
c7a64fff0c
Add the 'Basic Brush' node and replace the legacy Brush tool implementation with it ( #4469 )
...
* Draw raster images with pad extension instead of repeat
* Add the GPU basic brush renderer
* Rework the brush tool around the GPU basic brush
* Remove the CPU brush implementation
2026-08-27 15:19:02 +00:00
Timon
fd31f2d89b
Add caching infrastructure for the GPU brush nodes ( #4468 )
...
Add the per-brush texture cache value type
2026-08-27 15:19:01 +00:00
Timon
10256dd22c
Introduce the new brush stroke data types ( #4467 )
...
* Add the brush stroke format types
* Route brush strokes through the node graph
* Store brush style as per-item attributes instead of a struct
2026-08-27 15:19:01 +00:00
Keavon Chambers
404d9f3047
Fix corrupted font resource loading in older documents
2026-08-25 14:10:22 -07:00
Dennis Kobert
913d7093ea
Restore the index declaration on single-lane leveled values
2026-08-25 21:07:52 +00:00
Dennis Kobert
938fc1783a
Treat a single-lane leveled value as invariant under the addressed lane
2026-08-25 20:27:39 +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
bb3643541d
Resolve context features from the registry at compile instead of persisting them
2026-08-25 11:16:56 +00:00
Dennis Kobert
9aef511891
Cargo fmt
2026-08-24 23:15:10 +02:00
Dennis Kobert
a6c56c8655
Resolve index levels from the registry instead of persisting them
2026-08-24 20:40:51 +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
7b609ea781
Parse primitive defaults through record wire types
2026-08-23 08:39:35 +00:00
Dennis Kobert
cdc6f11d92
Add an env-gated inferred type dump
2026-08-22 20:59:37 +00:00
Dennis Kobert
040bd71f82
Add an env-gated resolved layout depth dump
2026-08-22 19:11:48 +00:00
Dennis Kobert
7569bdb9cb
Convert path modify to a flip kernel over one default lane
2026-08-22 17:29:51 +00:00
Dennis Kobert
217f32eb88
Type the list-typed value defaults by their element
2026-08-22 12:59:37 +00:00
Dennis Kobert
46220ac268
Switch the tagged list values and layer internals onto leveled wires
2026-08-22 12:47:31 +00:00
Dennis Kobert
887dbaca2c
Re-home the layer-path stamp and switch the node path to its plain value form
2026-08-22 12:35:48 +00:00
Dennis Kobert
4b130b4319
Map element-typed wires to their list forms' defaults and widgets
2026-08-22 11:48:27 +00:00
Dennis Kobert
8eaa541c8c
Add the leveled value source and the dormant leveled edge form
2026-08-22 10:52:21 +00:00
Keavon Chambers
20af96c1d9
Remove remnant dead code across the Subpath, Vector, and editor geometry API surfaces ( #4454 )
2026-08-18 12:34:34 -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
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
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
d7da2ba9e7
Add the resolve_types and compute_layouts compiler passes
2026-08-13 10:24:59 +00:00