lib/ui/src/abi/root.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 //! Envelope namespace of extern records and closed vocabularies.
2 //!
3 //! Every record is an extern struct whose size and alignment are asserted at comptime.
4 //! `Header` is 152 bytes. `Node` is 64 bytes. `magic` is 0x31495554. `abi_version` is 1.
5 //! Closed vocabularies limit `Kind` to 7 values, `Role` to 46, `Flag` to 11, and `State` to 10.
6
7 const css = @import("css");
8
9 const envelope = @import("envelope.zig");
10 const scalar = @import("scalar.zig");
11 const vocabulary = @import("vocabulary.zig");
12
13 pub const Declaration = css.value.Declaration;
14 pub const PropertyId = css.property.Id;
15
16 pub const Span = scalar.Span;
17 pub const Rect = scalar.Rect;
18 pub const IRect = scalar.IRect;
19 pub const Color = scalar.Color;
20 pub const AssetHandle = scalar.AssetHandle;
21 pub const Atom = scalar.Atom;
22 pub const atom_absent = scalar.atom_absent;
23
24 pub const Header = envelope.Header;
25 pub const Node = envelope.Node;
26 pub const TextRecord = envelope.TextRecord;
27 pub const TextRun = envelope.TextRun;
28 pub const Relation = envelope.Relation;
29 pub const SolvedRoot = envelope.SolvedRoot;
30 pub const magic = envelope.magic;
31 pub const abi_version = envelope.abi_version;
32 pub const header_bytes = envelope.header_bytes;
33 pub const text_absent = envelope.text_absent;
34
35 pub const Kind = vocabulary.Kind;
36 pub const Role = vocabulary.Role;
37 pub const Flag = vocabulary.Flag;
38 pub const State = vocabulary.State;
39 pub const kind_count = vocabulary.kind_count;
40 pub const role_count = vocabulary.role_count;
41 pub const flag_count = vocabulary.flag_count;
42 pub const state_count = vocabulary.state_count;
43 pub const flag_mask = vocabulary.flag_mask;
44 pub const state_mask = vocabulary.state_mask;
45 pub const flag = vocabulary.flag;
46 pub const state = vocabulary.state;
47 pub const holds = vocabulary.holds;
48 pub const active = vocabulary.active;