mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-17 23:38:06 +08:00
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:
@@ -23,15 +23,15 @@ wasm = [
|
||||
# Local dependencies
|
||||
dyn-any = { workspace = true }
|
||||
graphene-hash = { workspace = true }
|
||||
core-types = { workspace = true }
|
||||
brush-nodes = { workspace = true }
|
||||
graphene-core = { workspace = true }
|
||||
graphene-application-io = { workspace = true }
|
||||
rendering = { workspace = true }
|
||||
raster-nodes = { workspace = true }
|
||||
vector-nodes = { workspace = true }
|
||||
graphic-types = { workspace = true }
|
||||
text-nodes = { workspace = true }
|
||||
core-types = { workspace = true, features = ["serde"] }
|
||||
brush-nodes = { workspace = true, features = ["serde"] }
|
||||
graphene-core = { workspace = true, features = ["serde"] }
|
||||
graphene-application-io = { workspace = true, features = ["serde"] }
|
||||
rendering = { workspace = true, features = ["serde"] }
|
||||
raster-nodes = { workspace = true, features = ["serde"] }
|
||||
vector-nodes = { workspace = true, features = ["serde"] }
|
||||
graphic-types = { workspace = true, features = ["serde"] }
|
||||
text-nodes = { workspace = true, features = ["serde"] }
|
||||
|
||||
# Workspace dependencies
|
||||
log = { workspace = true }
|
||||
|
||||
@@ -187,7 +187,6 @@ tagged_value! {
|
||||
// ===========
|
||||
// TABLE TYPES
|
||||
// ===========
|
||||
GraphicUnused(Graphic), // TODO: This is unused but removing it causes `cargo test` to infinitely recurse its type solving; figure out why and then remove this
|
||||
#[serde(deserialize_with = "graphic_types::migrations::migrate_vector")] // TODO: Eventually remove this migration document upgrade code
|
||||
#[serde(alias = "VectorData")]
|
||||
Vector(Table<Vector>),
|
||||
|
||||
Reference in New Issue
Block a user