Commit Graph

1024 Commits

Author SHA1 Message Date
Dennis Kobert
187fec20d7 Seed the u64 fx hasher and guard against zero-word absorption 2026-07-31 12:43:43 +00:00
Dennis Kobert
deea1089bb Delete the dead OwnedContextImpl 2026-07-31 12:03:01 +00:00
Dennis Kobert
46ea7a7043 Fix the clippy lints introduced by the refactor 2026-07-31 10:55:29 +00:00
Dennis Kobert
a1c014db2c Pin cache key and source id hashing to u64 fx state 2026-07-31 10:28:57 +00:00
Dennis Kobert
d9c8532e71 Test retain filter placement, source set divergence, and excluding keying 2026-07-31 10:28:57 +00:00
Dennis Kobert
4556e320df Cleanup 2026-07-30 20:48:30 +00:00
Dennis Kobert
07b95ba59b Remove vestigial async from the execution path 2026-07-30 20:16:04 +00:00
Dennis Kobert
9e248cf90c Wire up async runtimes 2026-07-30 19:12:29 +00:00
Dennis Kobert
93aa99433f Add wasm send / sync 2026-07-30 17:41:31 +00:00
Dennis Kobert
41fc175088 Share one graph runtime between the editor api scope and the executor 2026-07-30 17:26:39 +00:00
Dennis Kobert
f13806efcd Fmt 2026-07-30 19:11:22 +02:00
Dennis Kobert
e2a8420fee Fix ExtractFootprint annotations causing cache invalidation 2026-07-30 19:09:49 +02:00
Dennis Kobert
f4247986f0 Wire source ids through flattening, the nullification pass, and slot keying 2026-07-30 15:46:10 +00:00
Dennis Kobert
c7fef30cf1 Delete the old erased node machinery 2026-07-30 11:51:13 +00:00
Dennis Kobert
b079ec9c2c Migrate legacy document call arguments to the context call convention 2026-07-30 11:26:12 +00:00
Dennis Kobert
9cdf9cec6b Share scope values as owned Arc handles 2026-07-30 11:26:12 +00:00
Dennis Kobert
9bdf4541d0 Replace borrowed scope injections with arcs 2026-07-30 10:58:51 +00:00
Dennis Kobert
382ad9d15c Add missing send / sync impls and make rasterize node async 2026-07-30 10:28:50 +00:00
Dennis Kobert
b70b28bbe3 Restore serialize-based introspection through the typed edges 2026-07-30 10:15:51 +00:00
Dennis Kobert
bb736002cf Add the async convert trait and restore the GPU texture download 2026-07-30 09:54:20 +00:00
Dennis Kobert
149a39faac Convert values to typed edges and flip the interpreted executor 2026-07-30 09:54:19 +00:00
Dennis Kobert
b74c64ebcd Retarget typing and row consumers onto the registry entries 2026-07-30 09:54:19 +00:00
Dennis Kobert
bb67b47301 Carry full function types in the registry rows 2026-07-30 09:54:19 +00:00
Dennis Kobert
683ca34fac Add the graph runtime with the completion epilogue 2026-07-30 09:54:19 +00:00
Dennis Kobert
db796be8e8 Make every edge a shared payload pointer with an owning Arc 2026-07-27 18:23:42 +00:00
Dennis Kobert
88d9c637e7 Merge the wiring surface into the registry and express the memo nodes as macro kernels 2026-07-27 16:06:42 +00:00
Dennis Kobert
c3fdc97f81 Convert create_context to a sync derivation kernel over the bare-root contract 2026-07-27 11:40:16 +00:00
Dennis Kobert
3d17fa0f0c Make the arena unwind safe and the slot locks poison tolerant 2026-07-27 11:40:16 +00:00
Dennis Kobert
9e83632647 Make the GPU render and dispatch pipelines synchronous 2026-07-27 10:47:44 +00:00
Dennis Kobert
6392c02dee Add the sync-prologue async source form 2026-07-27 10:47:44 +00:00
Dennis Kobert
470ffdab43 Add vararg slot cloning and snapshot vararg capture 2026-07-27 10:47:44 +00:00
Dennis Kobert
28d9e3cbe3 Convert the remaining nodes and mark genuine async sources 2026-07-26 22:58:40 +00:00
Dennis Kobert
28d37d30d0 Store the wgpu executor as an Arc and restore the upload texture node 2026-07-26 22:58:40 +00:00
Dennis Kobert
cf66f8396b Emit the async source tier from the node macro 2026-07-26 22:58:40 +00:00
Dennis Kobert
be5c78421a Add the async source runtime vocabulary and context snapshot 2026-07-26 22:58:40 +00:00
Dennis Kobert
f0f7d6a5d7 Start adapting nodes to new version 2026-07-26 20:59:12 +00:00
Dennis Kobert
44277c9636 Update node macro to new syntax 2026-07-26 20:58:11 +00:00
Dennis Kobert
99f94503c3 Reshape ContextImpl into the borrowed graphene context 2026-07-25 19:33:41 +00:00
Dennis Kobert
925075337b Add the generation-scoped arena and the FrameTable frame memo store 2026-07-25 17:05:40 +00:00
Dennis Kobert
df70222d61 Add the GNode trait with the spec-loop batch default; give InjectIndex its method 2026-07-25 17:05:01 +00:00
Dennis Kobert
1f9e0cc37b Add the GPoll evaluation vocabulary and an inert Type::Ref variant 2026-07-25 17:03:32 +00:00
Timon
eb50be844b Remove now obsolete disable-registration special case from node macro (#4375) 2026-07-25 13:54:46 +00:00
Dennis Kobert
0f0f62c2e9 Enforce unwind safety on all public executor entry points (#4356) 2026-07-24 09:34:40 +00:00
Timon
a040362d4a Change footprint to always be in physical instead of logical space (#4280)
* Fix footprint scale

* Footprint in physical pixels

* Move scale conversion to `create_context`

* Remove scale from render cache

* Review
2026-07-15 13:37:46 +00:00
Keavon Chambers
e40fe7843d Exclude teardown metrics from executors in the gungraun benchmark functions (#4336) 2026-07-15 05:29:48 -07:00
Timon
dc813e35fc More consistent document crate names (#4323)
* More consistent document crate names

* Fix fmt

* Fix ASCII art diagrams

* rename document-graph to document-graph-storage
2026-07-15 12:25:12 +00:00
Timon
7e29fe9a31 Fix lifetime of cached textures (#4333)
* Fix in-use textures being destroyed

* Remove ImageTexture refs

* Review
2026-07-14 14:51:33 -07:00
Timon
97f8113fe4 Desktop: Fix crash caused by submitting work mid surface-reconfigure (#4317)
Implement wgpu-sync
2026-07-09 12:09:01 +00:00
YohYamasaki
6a54dcb5da Remove the legacy Fill, Gradient, and PathStyle types now that paints live in attributes (#4297)
* Remove `Stroke.color`

* Remove legacy Gradient struct usage

* Fix gradient tool tests

* Remove `Fill` enum

* Fix direction of `gradient_orientation_rightward`

* Remove `Gradient` struct

* Remove `PathStyle` struct

* Fix old `VectorData` migration

* Refactor

- Remove unnecessary wrapper functions
- Use `as_ref` instead of `clone` for stroke if possible
- Comment cleanup

* Clean up stale style comments and bindings left by the paint attribute migration

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-07-04 23:08:06 -07:00
YohYamasaki
9f9899cfd0 Refactor the 'Fill' and 'Stroke' nodes to set "fill" and "stroke" attributes for paints (#4257)
* Allow using any graphics type for fill

* Adapt gradient/fill property panels and tools to handle List<T>

* Make the initial gradient transform covers the target's bounding box

* Introduce AnyGraphicListDyn to avoid combinatorial explosion

* Allow using any graphics type for stroke paint

* Add FIll node migration

* Add `for_each_vector_list_mut` instead of `set_paint_attribute`

* Adapt paint flow to read and write attributes instead of legacy Fill/Stroke.color

* Fix responsibilities of paint related node input setters

* Fix Morph by storing List<Graphic> for attributes rather than the concrete types

Store fill/stroke paints as List<Graphic> so Color/Gradient transitions
do not hit set_attribute_value_dyn's type-mismatch fallback to default paint.

* Preserve paint attributes in vector editing ops

* Enhance the clarity between direct and chained fill gradients

* Update demo arts

* Consolidate Fill node gradient appearance inputs

* Fix after the cubic review

* Revert "Consolidate Fill node gradient appearance inputs"

This reverts commit 9622feb20196e2c4da99e98ca95dcc2e34c2c98e.

* Replace AnyGraphicListDyn with generic paint connectors on the Fill and Stroke nodes

* Canonicalize paint attribute storage to List<Graphic> with a single write helper

* Fix Solidify Stroke missing fills stored in the legacy style

* Fix Solidify Stroke producing invisible strokes for legacy-only stroke colors

* Fix the initial gradient transform ignoring the bounding box's vertical extent

* Step paint at the morph midpoint instead of dropping it for unmixable pairings

* Remove migration-stage comments

* Clarify the initial gradient transform helper's doc and name

* Correct the bake_paint_transforms doc and prune dead tolerance arms

* Delete the unused Gradient::lerp

* Fix a comment typo

* Thread network paths through the legacy gradient bake so nested fills migrate

* Restore the legacy fill fallback in Expand Fill and Stroke

* Read gradient stops from the node's own input in the Fill properties panel

* Use the transform input constant instead of a hardcoded index

* Remove the unreachable wired color fallback in the Fill properties solid branch

* Narrow the fill overlay redraw check to actual fill inputs

* Coalesce the fill setter's graph runs into a single dispatch

* Position the Gradient Value node inserted for gradient stops

* Bake backup gradient placement during migration

* Persist pending gradient bakes so unfinished migrations retry on reopen

* Migrate the backup gradient's type and spread method

* Harden the gradient-migration pass against document switches and stale bakes

* Keep the Fill properties UI for layerless and nested Fill nodes

* Leave a wired gradient transform input connected instead of overwriting it

* Refuse to start a gradient chain ahead of existing layer content

* Decode a Fill node's gradient through one shared reader

* Nudge a degenerate bounding box so the Fill gradient transform stays invertible

* Broadcast Fill and Stroke paint with a single attribute-column pass

* Fix Morph stepping the target's stroke in near the source instead of the target

* Tidy conventions: clippy get_first, comment periods, sentence-case test messages

* Reattach the gradient orientation doc to its function

* Re-save demo artwork

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2026-07-04 23:08:21 +00:00