Tracking Issue: Tables and attributes for graphical data #1832
Labels
Architecture
Involves architecture or engineering work or discussion
Graphene
Involves the node graph system/engine used by Graphite
This involves moving towards a unified conceptual model for procedural graphical data based around tables (a data type represented by a spreadsheet) and attributes (the columns of a table).
New instances-based concept design notes (as designed during the Maker Faire)
Old pre-instances concept design notes (prior to the Maker Faire)
Design for the new table-based graphical data structure
Using this syntax:
Struct = { Field1, Field2, ... }
[Table] = [Attribute1[], Attribute2[], ...]
of parallel
Vec
s shown as a spreadsheetUnion = Type1 | Type2 | ...
variants each named after its type
Elements, which all implement
trait Graphical
(renamed from the currently namedGraphicElementRendered
):[Element] = [ElementId[], (dyn Graphical)[], Transform[], AlphaBlending[]]
VectorData = { [Point], [Segment], [Region], ColinearManipulators, FillRule, SvgFilter, FutureMeshVectorInfo }
Raster = // to be designed
SDF = // to be designed
Color = // to be designed
Gradient = // to be designed
VectorData
tables:[Point] = [PointId[], Position[]]
[Segment] = [SegmentId[], Start[], End[], Curvature[]]
[Region] = [RegionId[], SegmentRange[], PathStyle[]]
(
[Element]
is formerlyGraphicGroup
;FutureMeshVectorInfo
is additional data for the format we'll design in the future for vector meshes; we need to guarantee no collisions with each table's ID which acts as the database key)And these are some additional details about the vector, raster, and SDF data in both their raw and resolution-aware forms:
() -> Data
means "I will give you all theData
, which obviously must be finite".Footprint -> Data
means "I will generate a view into theData
for some rectangle in space, because it might not even be finite".The text was updated successfully, but these errors were encountered: