Implement dynamic table attributes to generalize the graphic-specific Table type (#4050)

* Feature-gate serde derives behind cfg_attr in all runtime node graph type crates

* Refactor Table to move its hard-coded fields into an attributes field

* Encapsulate TableRow/TableRowRef/TableRowMut attribute fields behind accessor methods

* Remove TaggedValue::GraphicUnused

* Refactor Table<T> to use dynamic attributes instead fixed names

* Fix code review soundness concerns

* Add todo work

* Replace row-oriented Table<T> API with column-oriented access

* Fix attribute propagation bugs

---------
This commit is contained in:
Keavon Chambers
2026-04-28 02:10:24 -07:00
parent 324b9e664c
commit 76938eb69a
75 changed files with 2330 additions and 1349 deletions

View File

@@ -11,8 +11,10 @@ workspace = true
[features]
default = ["std"]
serde = ["dep:serde", "core-types?/serde", "raster-types?/serde", "vector-types?/serde"]
shader-nodes = ["std", "dep:raster-nodes-shaders", "dep:wgpu-executor"]
std = [
"serde",
"dep:core-types",
"dep:dyn-any",
"dep:graphene-hash",
@@ -23,7 +25,6 @@ std = [
"dep:rand",
"dep:rand_chacha",
"dep:fastnoise-lite",
"dep:serde",
"dep:kurbo",
]
wasm = [