Documentation
¶
Index ¶
- Constants
- Variables
- func AttrStateColor(st AttrStateE) (col color.Color)
- func BuildFixtureBatches(allocator memory.Allocator) (batches []arrow.RecordBatch, err error)
- func BuildFixtureTableDesc() (tbl common.TableDesc, err error)
- func CreateSchemaFixture() (schema *arrow.Schema)
- func LoadFixtureSchema(manip common.TableManipulatorFluidI)
- func NewTopologyTreemap(ids *c.WidgetIdStack, scopeKey string, sink *TopologySink, ...) (inst *treemap.Treemap)
- func RunFixture(sink streamreadaccess.SinkI)
- type AttrStateE
- type CellBlock
- type CellBlockFunc
- type CellGlossFunc
- type ColorPaletteE
- type InEntityFixture
- func (inst *InEntityFixture) AppendError(err error)
- func (inst *InEntityFixture) BeginEntity() *InEntityFixture
- func (inst *InEntityFixture) Builder() *array.RecordBuilder
- func (inst *InEntityFixture) CheckErrors() (err error)
- func (inst *InEntityFixture) ClearMembershipsHighCardRef()
- func (inst *InEntityFixture) CommitEntity() (err error)
- func (inst *InEntityFixture) GetSchema() (schema *arrow.Schema)
- func (inst *InEntityFixture) GetSectionGeoArea() *InEntityFixtureSectionGeoArea
- func (inst *InEntityFixture) GetSectionGeoPoint() *InEntityFixtureSectionGeoPoint
- func (inst *InEntityFixture) GetSectionMetric() *InEntityFixtureSectionMetric
- func (inst *InEntityFixture) PopMembershipsHighCardRef(n int)
- func (inst *InEntityFixture) PushMembershipHighCardRef(id uint64)
- func (inst *InEntityFixture) RollbackEntity() (err error)
- func (inst *InEntityFixture) SetActiveSections(idxs []int)
- func (inst *InEntityFixture) SetId(id0 uint64, internalKey1 string, naturalKey2 string) *InEntityFixture
- func (inst *InEntityFixture) TransferRecords(recordsIn []arrow.RecordBatch) (recordsOut []arrow.RecordBatch, err error)
- type InEntityFixtureSectionGeoArea
- func (inst *InEntityFixtureSectionGeoArea) Add(attr InEntityFixtureSectionGeoAreaAttr) *InEntityFixtureSectionGeoAreaInAttr
- func (inst *InEntityFixtureSectionGeoArea) AppendError(err error)
- func (inst *InEntityFixtureSectionGeoArea) BeginAttribute(code25 string) *InEntityFixtureSectionGeoAreaInAttr
- func (inst *InEntityFixtureSectionGeoArea) BeginAttributeSingle(code25 string, poly26 float32) *InEntityFixtureSectionGeoAreaInAttr
- func (inst *InEntityFixtureSectionGeoArea) CheckErrors() (err error)
- func (inst *InEntityFixtureSectionGeoArea) EndSection() *InEntityFixture
- type InEntityFixtureSectionGeoAreaAttr
- type InEntityFixtureSectionGeoAreaInAttr
- func (inst *InEntityFixtureSectionGeoAreaInAttr) AddToContainer(poly26 float32) *InEntityFixtureSectionGeoAreaInAttr
- func (inst *InEntityFixtureSectionGeoAreaInAttr) AddToContainerP(poly26 float32)
- func (inst *InEntityFixtureSectionGeoAreaInAttr) AppendError(err error)
- func (inst *InEntityFixtureSectionGeoAreaInAttr) EndAttribute() *InEntityFixtureSectionGeoArea
- func (inst *InEntityFixtureSectionGeoAreaInAttr) EndAttributeP()
- func (inst *InEntityFixtureSectionGeoAreaInAttr) EndSection() *InEntityFixture
- type InEntityFixtureSectionGeoPoint
- func (inst *InEntityFixtureSectionGeoPoint) Add(attr InEntityFixtureSectionGeoPointAttr) *InEntityFixtureSectionGeoPointInAttr
- func (inst *InEntityFixtureSectionGeoPoint) AppendError(err error)
- func (inst *InEntityFixtureSectionGeoPoint) BeginAttribute(lat21 float32, lng22 float32) *InEntityFixtureSectionGeoPointInAttr
- func (inst *InEntityFixtureSectionGeoPoint) CheckErrors() (err error)
- func (inst *InEntityFixtureSectionGeoPoint) EndSection() *InEntityFixture
- type InEntityFixtureSectionGeoPointAttr
- type InEntityFixtureSectionGeoPointInAttr
- func (inst *InEntityFixtureSectionGeoPointInAttr) AddMembershipLowCardVerbatim(lv23 []byte) *InEntityFixtureSectionGeoPointInAttr
- func (inst *InEntityFixtureSectionGeoPointInAttr) AddMembershipLowCardVerbatimP(lv23 []byte)
- func (inst *InEntityFixtureSectionGeoPointInAttr) AppendError(err error)
- func (inst *InEntityFixtureSectionGeoPointInAttr) EndAttribute() *InEntityFixtureSectionGeoPoint
- func (inst *InEntityFixtureSectionGeoPointInAttr) EndAttributeP()
- func (inst *InEntityFixtureSectionGeoPointInAttr) EndSection() *InEntityFixture
- type InEntityFixtureSectionMetric
- func (inst *InEntityFixtureSectionMetric) Add(attr InEntityFixtureSectionMetricAttr) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetric) AppendError(err error)
- func (inst *InEntityFixtureSectionMetric) BeginAttribute(value3 float64, rawBlob4 string) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetric) BeginAttributeSingle(value3 float64, rawBlob4 string, tags5 string, bins6 uint32) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetric) CheckErrors() (err error)
- func (inst *InEntityFixtureSectionMetric) EndSection() *InEntityFixture
- type InEntityFixtureSectionMetricAttr
- type InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRef(lr7 uint64) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefP(lr7 uint64)
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefParametrized(lp9 []byte) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefParametrizedP(lp9 []byte)
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardVerbatim(lv8 []byte) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardVerbatimP(lv8 []byte)
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardRef(lmr10 uint64, mrhp11 []byte) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardRefP(lmr10 uint64, mrhp11 []byte)
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardVerbatim(lmv12 []byte, mvhp13 []byte) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardVerbatimP(lmv12 []byte, mvhp13 []byte)
- func (inst *InEntityFixtureSectionMetricInAttr) AddToCoContainers(tags5 string, bins6 uint32) *InEntityFixtureSectionMetricInAttr
- func (inst *InEntityFixtureSectionMetricInAttr) AddToCoContainersP(tags5 string, bins6 uint32)
- func (inst *InEntityFixtureSectionMetricInAttr) AppendError(err error)
- func (inst *InEntityFixtureSectionMetricInAttr) EndAttribute() *InEntityFixtureSectionMetric
- func (inst *InEntityFixtureSectionMetricInAttr) EndAttributeP()
- func (inst *InEntityFixtureSectionMetricInAttr) EndSection() *InEntityFixture
- type SectionDigest
- type SectionValue
- type Table2CardEmitter
- func (inst *Table2CardEmitter) AddMembershipMixedLowCardRefHighCardParam(ref uint64, params string)
- func (inst *Table2CardEmitter) AddMembershipMixedLowCardVerbatimHighCardParam(verbatim string, params string)
- func (inst *Table2CardEmitter) AddMembershipRef(lowCard bool, ref uint64)
- func (inst *Table2CardEmitter) AddMembershipRefParametrized(lowCard bool, ref uint64, params string)
- func (inst *Table2CardEmitter) AddMembershipVerbatim(lowCard bool, verbatim string)
- func (inst *Table2CardEmitter) BeginBatch()
- func (inst *Table2CardEmitter) BeginCoSectionGroup(name naming.Key)
- func (inst *Table2CardEmitter) BeginColumn(colAddr streamreadaccess.PhysicalColumnAddr, _ naming.StylableName, ...)
- func (inst *Table2CardEmitter) BeginEntity()
- func (inst *Table2CardEmitter) BeginHomogenousArrayValue(_ int)
- func (inst *Table2CardEmitter) BeginPlainSection(itemType common.PlainItemTypeE, valueNames []naming.StylableName, ...)
- func (inst *Table2CardEmitter) BeginPlainValue()
- func (inst *Table2CardEmitter) BeginScalarValue()
- func (inst *Table2CardEmitter) BeginSection(name naming.StylableName, valueNames []naming.StylableName, ...)
- func (inst *Table2CardEmitter) BeginSetValue(_ int)
- func (inst *Table2CardEmitter) BeginTaggedSections()
- func (inst *Table2CardEmitter) BeginTaggedValue()
- func (inst *Table2CardEmitter) BeginTags(_ int)
- func (inst *Table2CardEmitter) BeginValueItem(index int)
- func (inst *Table2CardEmitter) EndBatch() (err error)
- func (inst *Table2CardEmitter) EndCoSectionGroup() (err error)
- func (inst *Table2CardEmitter) EndColumn()
- func (inst *Table2CardEmitter) EndEntity() (err error)
- func (inst *Table2CardEmitter) EndHomogenousArrayValue()
- func (inst *Table2CardEmitter) EndPlainSection() (err error)
- func (inst *Table2CardEmitter) EndPlainValue() (err error)
- func (inst *Table2CardEmitter) EndScalarValue() (err error)
- func (inst *Table2CardEmitter) EndSection() (err error)
- func (inst *Table2CardEmitter) EndSetValue()
- func (inst *Table2CardEmitter) EndTaggedSections() (err error)
- func (inst *Table2CardEmitter) EndTaggedValue() (err error)
- func (inst *Table2CardEmitter) EndTags()
- func (inst *Table2CardEmitter) EndValueItem()
- func (inst *Table2CardEmitter) Render()
- func (inst *Table2CardEmitter) SectionDigests() (digests []SectionDigest)
- func (inst *Table2CardEmitter) SetCellBlock(fn CellBlockFunc)
- func (inst *Table2CardEmitter) SetCellGloss(fn CellGlossFunc)
- func (inst *Table2CardEmitter) Write(p []byte) (n int, err error)
- func (inst *Table2CardEmitter) WriteString(s string) (n int, err error)
- type TopologySink
- func (inst *TopologySink) BeginBatch()
- func (inst *TopologySink) BeginCoSectionGroup(name naming.Key)
- func (inst *TopologySink) BeginColumn(colAddr streamreadaccess.PhysicalColumnAddr, name naming.StylableName, ...)
- func (inst *TopologySink) BeginEntity()
- func (inst *TopologySink) BeginHomogenousArrayValue(card int)
- func (inst *TopologySink) BeginPlainSection(itemType common.PlainItemTypeE, valueNames []naming.StylableName, ...)
- func (inst *TopologySink) BeginPlainValue()
- func (inst *TopologySink) BeginScalarValue()
- func (inst *TopologySink) BeginSection(name naming.StylableName, valueNames []naming.StylableName, ...)
- func (inst *TopologySink) BeginSetValue(card int)
- func (inst *TopologySink) BeginTaggedSections()
- func (inst *TopologySink) BeginTaggedValue()
- func (inst *TopologySink) BeginTags(nTags int)
- func (inst *TopologySink) BeginValueItem(index int)
- func (inst *TopologySink) Coloring() (coloring treemap.ColoringI)
- func (inst *TopologySink) EndBatch() (err error)
- func (inst *TopologySink) EndCoSectionGroup() (err error)
- func (inst *TopologySink) EndColumn()
- func (inst *TopologySink) EndEntity() (err error)
- func (inst *TopologySink) EndHomogenousArrayValue()
- func (inst *TopologySink) EndPlainSection() (err error)
- func (inst *TopologySink) EndPlainValue() (err error)
- func (inst *TopologySink) EndScalarValue() (err error)
- func (inst *TopologySink) EndSection() (err error)
- func (inst *TopologySink) EndSetValue()
- func (inst *TopologySink) EndTaggedSections() (err error)
- func (inst *TopologySink) EndTaggedValue() (err error)
- func (inst *TopologySink) EndTags()
- func (inst *TopologySink) EndValueItem()
- func (inst *TopologySink) Root() (root *layout.Node)
- func (inst *TopologySink) StateOf(node *layout.Node) (state AttrStateE, ok bool)
- func (inst *TopologySink) Write(p []byte) (n int, err error)
- func (inst *TopologySink) WriteString(s string) (n int, err error)
Constants ¶
const FixtureTableName = "fixture"
FixtureTableName is the name passed to the DML / RA code generator and to driver construction. It also keys the generated InEntity<Name> type: InEntityFixture.
const FixtureTableRowConfig = common.TableRowConfigMultiAttributesPerRow
FixtureTableRowConfig is the row-config the demo runs against. Multi-attrs per row matches the streaming convention used elsewhere in the project.
Variables ¶
var FixtureBuilderSource string
FixtureBuilderSource is the literal Go source of fixture.go embedded at build time — RunFixture, BuildFixtureBatches, and the once-cached driver/IR/batch state machine. The demo's Source/fixture.go leaf renders this side-by-side with FixtureSource so readers can read the schema and the data-loader as the two halves of one fixture.
var FixtureSource string
FixtureSource is the literal Go source of fixture_schema.go embedded at build time. The leewaywidgets demo renders this through codeview.PrepareGo so readers can see the declarative TableDesc that backs the fixture.
var InEntityFixtureSectionIndices = map[string]int{
"geoArea": 0,
"geoPoint": 1,
"metric": 2,
}
InEntityFixtureSectionIndices maps each section name to its section%02dInst slot in the generated entity. Useful for callers that need to compute SetActiveSections inputs from section names — for example, the marshallgen-driven keelson codec wrappers.
var PackageProps = packageprops.Props{ WASMWASI: packageprops.WASMBlocked, WASMJS: packageprops.WASMBlocked, WASMFreestanding: packageprops.WASMBlocked, }
PackageProps records this package's curated properties (ADR-0080). Seeded by `boxer code analysis golang wasmsurvey props generate`; curate by hand. The same group's `props verify` reconciles it.
Functions ¶
func AttrStateColor ¶ added in v0.0.20
func AttrStateColor(st AttrStateE) (col color.Color)
AttrStateColor returns the retained fill the topology view paints for st — the same palette entry the treemap's ColoringI uses. A legend needs this: the colours carry the value/tags distinction, so a key drawn in the default text colour says nothing.
func BuildFixtureBatches ¶
func BuildFixtureBatches(allocator memory.Allocator) (batches []arrow.RecordBatch, err error)
BuildFixtureBatches returns the canonical fixture entity as []arrow.RecordBatch produced by the generated InEntityFixture builder. Used by RunFixture and exposed as a top-level helper for tests or alternative drivers.
func BuildFixtureTableDesc ¶
BuildFixtureTableDesc materialises a TableDesc from LoadFixtureSchema. Used by the codegen test (fixture_gen_test.go) and by fixture.go's driver setup so both consumers see exactly the same schema.
func CreateSchemaFixture ¶
func LoadFixtureSchema ¶
func LoadFixtureSchema(manip common.TableManipulatorFluidI)
LoadFixtureSchema declares the leeway TableDesc that backs the demo. Three section shapes are exercised:
- A plain section ("entity-id") with three columns: a u64 id, a string internal-key tagged AspectMachineReadable only (hidden by the Table emitter), and a string natural-key with both readable aspects.
- A tagged section "metric" carrying all five MembershipSpec slots (LowCardRef / LowCardVerbatim / LowCardRefParametrized / MixedLowCardRefHighCardParameters / MixedLowCardVerbatimHighCardParameters) so every AddMembership* path in the SinkI surface gets traffic. One column ("rawBlob") is MachineReadable-only and is hidden by the Table emitter.
- A co-section group "geo" of two sections (geoPoint, geoArea) sharing a streaming-group key, so the driver merges them into one wide section under BeginCoSectionGroup.
func NewTopologyTreemap ¶ added in v0.0.20
func NewTopologyTreemap(ids *c.WidgetIdStack, scopeKey string, sink *TopologySink, opts ...treemap.Option) (inst *treemap.Treemap)
NewTopologyTreemap wires an already-driven sink to a treemap widget. The caller owns the returned widget and calls Render() each frame; ids must be the post-Mount stack so cell ids stay stable.
MaxNestingDepth(0) renders the whole hierarchy at once — the point of the view is to see an entity's shape in one glance — while drill-in still works on the top-level boxes.
func RunFixture ¶
func RunFixture(sink streamreadaccess.SinkI)
RunFixture drives the canonical fixture record batches through `sink` using the leeway streamreadaccess.Driver. The schema lives in fixture_schema.go (LoadFixtureSchema); the generated DML builder (InEntityFixture in fixture_dml.out.go) populates one entity covering:
- a plain section with one MachineReadable-only column the Table emitter must hide,
- a tagged section "metric" with three attributes exercising LowCardRef, LowCardVerbatim, MixedLowCardRefHighCardParameters and MixedLowCardVerbatimHighCardParameters memberships plus a MachineReadable-only "rawBlob" column,
- a co-section group "geo" of two sections (geoPoint + geoArea) so the driver merges them into one wide BeginSection.
Driver, IR and batches are built once on first call and reused.
Types ¶
type AttrStateE ¶ added in v0.0.20
type AttrStateE uint8
AttrStateE records what an attribute slot actually carried. The four states are the 2×2 grid of (has value) × (has membership tags); the former SVG emitter drew them as ● ◐ ○ · respectively.
const ( // AttrStateEmpty is an attribute slot with neither value nor tags. AttrStateEmpty AttrStateE = iota // AttrStateTagsOnly is an attribute carrying memberships but no value. AttrStateTagsOnly // AttrStateValueOnly is an attribute carrying a value but no memberships. AttrStateValueOnly // AttrStateValueAndTags is a fully populated attribute. AttrStateValueAndTags )
func (AttrStateE) String ¶ added in v0.0.20
func (inst AttrStateE) String() (s string)
type CellBlock ¶ added in v0.0.20
type CellBlock struct {
Render func()
Height float32
}
CellBlock is a block face for one value (ADR-0186 §SD1, on the card since its 2026-08-15 Update): Render draws it inside the values cell, under the pair's name and in place of the value's text; Height is the points it asks for, and the row grows to fit — clamped to [one text line, table2BlockMaxHeight], so a face that may run longer draws into its own vertical ScrollArea. Render runs at draw time, once per frame the card is drawn, and must scope its own widget ids.
type CellBlockFunc ¶ added in v0.0.20
CellBlockFunc returns the block face for one value, or ok=false to keep the text. Like CellGlossFunc it is keyed by the value column's Arrow index and runs per value per drive; it sees the value's marshalled text before the gloss rewrites it, since a block face wants the document, not its first line. The order of calls within a column is the value order, so a host that caches per value can count.
type CellGlossFunc ¶ added in v0.0.20
CellGlossFunc rewrites one value cell's text before the card lays it out (ADR-0186 §SD4): arrowIdx is the value column's Arrow index in the driven batch, text the marshalled scalar or one item of a collection. It returns text unchanged for a column it does not gloss. It runs per value per drive, so it must be cheap — the host resolves the column once and applies an inline face here.
type ColorPaletteE ¶
type ColorPaletteE int
ColorPaletteE selects the section-accent colour ladder used by Card and Table emitters. Distinct from the card-package ColorPaletteE so this library has no dependency back on boxerstaging/leeway/card.
const ( // ColorPaletteInferno is the default — warm, high-contrast. ColorPaletteInferno ColorPaletteE = iota ColorPaletteViridis ColorPaletteMagma ColorPalettePlasma )
type InEntityFixture ¶
type InEntityFixture struct {
// contains filtered or unexported fields
}
func NewInEntityFixture ¶
func NewInEntityFixture(allocator memory.Allocator, estimatedNumberOfRecords int) (inst *InEntityFixture)
func (*InEntityFixture) AppendError ¶
func (inst *InEntityFixture) AppendError(err error)
func (*InEntityFixture) BeginEntity ¶
func (inst *InEntityFixture) BeginEntity() *InEntityFixture
func (*InEntityFixture) Builder ¶
func (inst *InEntityFixture) Builder() *array.RecordBuilder
Builder exposes the underlying RecordBuilder so callers can apply shim-level hints (e.g. SetActiveFields on the arrowrowbinary / arrowsparserb / arrowrowcbor backends).
func (*InEntityFixture) CheckErrors ¶
func (inst *InEntityFixture) CheckErrors() (err error)
func (*InEntityFixture) ClearMembershipsHighCardRef ¶ added in v0.0.13
func (inst *InEntityFixture) ClearMembershipsHighCardRef()
ClearMembershipsHighCardRef drops every ambient HighCardRef membership, pushed by anyone. It is the discard-everything counterpart to the balanced Push/Pop discipline — for a caller that owns the whole entity (a generated store's DiscardPending) and cannot know how many pushes abandoned frames left behind.
func (*InEntityFixture) CommitEntity ¶
func (inst *InEntityFixture) CommitEntity() (err error)
func (*InEntityFixture) GetSchema ¶
func (inst *InEntityFixture) GetSchema() (schema *arrow.Schema)
func (*InEntityFixture) GetSectionGeoArea ¶
func (inst *InEntityFixture) GetSectionGeoArea() *InEntityFixtureSectionGeoArea
func (*InEntityFixture) GetSectionGeoPoint ¶
func (inst *InEntityFixture) GetSectionGeoPoint() *InEntityFixtureSectionGeoPoint
func (*InEntityFixture) GetSectionMetric ¶
func (inst *InEntityFixture) GetSectionMetric() *InEntityFixtureSectionMetric
func (*InEntityFixture) PopMembershipsHighCardRef ¶ added in v0.0.13
func (inst *InEntityFixture) PopMembershipsHighCardRef(n int)
PopMembershipsHighCardRef removes the last n ambient HighCardRef memberships (bounds-clamped); balance it against PushMembershipHighCardRef.
func (*InEntityFixture) PushMembershipHighCardRef ¶ added in v0.0.13
func (inst *InEntityFixture) PushMembershipHighCardRef(id uint64)
PushMembershipHighCardRef adds id to the ambient HighCardRef memberships replayed onto every attribute as it closes, until it is popped (ADR-0112 M1). The stamp scope — one section vs the whole entity — is the caller's to set.
func (*InEntityFixture) RollbackEntity ¶
func (inst *InEntityFixture) RollbackEntity() (err error)
func (*InEntityFixture) SetActiveSections ¶
func (inst *InEntityFixture) SetActiveSections(idxs []int)
SetActiveSections marks which section indices BeginEntity should initialise (skipping beginSection for the rest). Pass nil to clear. The hint is a performance optimisation; sending BeginAttribute to an unmarked section produces empty-list bytes at TransferRecords.
func (*InEntityFixture) SetId ¶
func (inst *InEntityFixture) SetId(id0 uint64, internalKey1 string, naturalKey2 string) *InEntityFixture
func (*InEntityFixture) TransferRecords ¶
func (inst *InEntityFixture) TransferRecords(recordsIn []arrow.RecordBatch) (recordsOut []arrow.RecordBatch, err error)
TransferRecords The returned Records must be Release()'d after use.
type InEntityFixtureSectionGeoArea ¶
type InEntityFixtureSectionGeoArea struct {
// contains filtered or unexported fields
}
func NewInEntityFixtureSectionGeoArea ¶
func NewInEntityFixtureSectionGeoArea(builder *array.RecordBuilder, parent *InEntityFixture) (inst *InEntityFixtureSectionGeoArea)
func (*InEntityFixtureSectionGeoArea) Add ¶ added in v0.0.12
func (inst *InEntityFixtureSectionGeoArea) Add(attr InEntityFixtureSectionGeoAreaAttr) *InEntityFixtureSectionGeoAreaInAttr
func (*InEntityFixtureSectionGeoArea) AppendError ¶
func (inst *InEntityFixtureSectionGeoArea) AppendError(err error)
func (*InEntityFixtureSectionGeoArea) BeginAttribute ¶
func (inst *InEntityFixtureSectionGeoArea) BeginAttribute(code25 string) *InEntityFixtureSectionGeoAreaInAttr
func (*InEntityFixtureSectionGeoArea) BeginAttributeSingle ¶
func (inst *InEntityFixtureSectionGeoArea) BeginAttributeSingle(code25 string, poly26 float32) *InEntityFixtureSectionGeoAreaInAttr
func (*InEntityFixtureSectionGeoArea) CheckErrors ¶
func (inst *InEntityFixtureSectionGeoArea) CheckErrors() (err error)
func (*InEntityFixtureSectionGeoArea) EndSection ¶
func (inst *InEntityFixtureSectionGeoArea) EndSection() *InEntityFixture
type InEntityFixtureSectionGeoAreaAttr ¶ added in v0.0.12
type InEntityFixtureSectionGeoAreaInAttr ¶
type InEntityFixtureSectionGeoAreaInAttr struct {
// contains filtered or unexported fields
}
func NewInEntityFixtureSectionGeoAreaInAttr ¶
func NewInEntityFixtureSectionGeoAreaInAttr(builder *array.RecordBuilder, parent *InEntityFixtureSectionGeoArea) (inst *InEntityFixtureSectionGeoAreaInAttr)
func (*InEntityFixtureSectionGeoAreaInAttr) AddToContainer ¶
func (inst *InEntityFixtureSectionGeoAreaInAttr) AddToContainer(poly26 float32) *InEntityFixtureSectionGeoAreaInAttr
func (*InEntityFixtureSectionGeoAreaInAttr) AddToContainerP ¶
func (inst *InEntityFixtureSectionGeoAreaInAttr) AddToContainerP(poly26 float32)
func (*InEntityFixtureSectionGeoAreaInAttr) AppendError ¶
func (inst *InEntityFixtureSectionGeoAreaInAttr) AppendError(err error)
func (*InEntityFixtureSectionGeoAreaInAttr) EndAttribute ¶
func (inst *InEntityFixtureSectionGeoAreaInAttr) EndAttribute() *InEntityFixtureSectionGeoArea
func (*InEntityFixtureSectionGeoAreaInAttr) EndAttributeP ¶
func (inst *InEntityFixtureSectionGeoAreaInAttr) EndAttributeP()
func (*InEntityFixtureSectionGeoAreaInAttr) EndSection ¶
func (inst *InEntityFixtureSectionGeoAreaInAttr) EndSection() *InEntityFixture
type InEntityFixtureSectionGeoPoint ¶
type InEntityFixtureSectionGeoPoint struct {
// contains filtered or unexported fields
}
func NewInEntityFixtureSectionGeoPoint ¶
func NewInEntityFixtureSectionGeoPoint(builder *array.RecordBuilder, parent *InEntityFixture) (inst *InEntityFixtureSectionGeoPoint)
func (*InEntityFixtureSectionGeoPoint) Add ¶ added in v0.0.12
func (inst *InEntityFixtureSectionGeoPoint) Add(attr InEntityFixtureSectionGeoPointAttr) *InEntityFixtureSectionGeoPointInAttr
func (*InEntityFixtureSectionGeoPoint) AppendError ¶
func (inst *InEntityFixtureSectionGeoPoint) AppendError(err error)
func (*InEntityFixtureSectionGeoPoint) BeginAttribute ¶
func (inst *InEntityFixtureSectionGeoPoint) BeginAttribute(lat21 float32, lng22 float32) *InEntityFixtureSectionGeoPointInAttr
func (*InEntityFixtureSectionGeoPoint) CheckErrors ¶
func (inst *InEntityFixtureSectionGeoPoint) CheckErrors() (err error)
func (*InEntityFixtureSectionGeoPoint) EndSection ¶
func (inst *InEntityFixtureSectionGeoPoint) EndSection() *InEntityFixture
type InEntityFixtureSectionGeoPointAttr ¶ added in v0.0.12
type InEntityFixtureSectionGeoPointInAttr ¶
type InEntityFixtureSectionGeoPointInAttr struct {
// contains filtered or unexported fields
}
func NewInEntityFixtureSectionGeoPointInAttr ¶
func NewInEntityFixtureSectionGeoPointInAttr(builder *array.RecordBuilder, parent *InEntityFixtureSectionGeoPoint) (inst *InEntityFixtureSectionGeoPointInAttr)
func (*InEntityFixtureSectionGeoPointInAttr) AddMembershipLowCardVerbatim ¶
func (inst *InEntityFixtureSectionGeoPointInAttr) AddMembershipLowCardVerbatim(lv23 []byte) *InEntityFixtureSectionGeoPointInAttr
func (*InEntityFixtureSectionGeoPointInAttr) AddMembershipLowCardVerbatimP ¶
func (inst *InEntityFixtureSectionGeoPointInAttr) AddMembershipLowCardVerbatimP(lv23 []byte)
func (*InEntityFixtureSectionGeoPointInAttr) AppendError ¶
func (inst *InEntityFixtureSectionGeoPointInAttr) AppendError(err error)
func (*InEntityFixtureSectionGeoPointInAttr) EndAttribute ¶
func (inst *InEntityFixtureSectionGeoPointInAttr) EndAttribute() *InEntityFixtureSectionGeoPoint
func (*InEntityFixtureSectionGeoPointInAttr) EndAttributeP ¶
func (inst *InEntityFixtureSectionGeoPointInAttr) EndAttributeP()
func (*InEntityFixtureSectionGeoPointInAttr) EndSection ¶
func (inst *InEntityFixtureSectionGeoPointInAttr) EndSection() *InEntityFixture
type InEntityFixtureSectionMetric ¶
type InEntityFixtureSectionMetric struct {
// contains filtered or unexported fields
}
func NewInEntityFixtureSectionMetric ¶
func NewInEntityFixtureSectionMetric(builder *array.RecordBuilder, parent *InEntityFixture) (inst *InEntityFixtureSectionMetric)
func (*InEntityFixtureSectionMetric) Add ¶ added in v0.0.12
func (inst *InEntityFixtureSectionMetric) Add(attr InEntityFixtureSectionMetricAttr) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetric) AppendError ¶
func (inst *InEntityFixtureSectionMetric) AppendError(err error)
func (*InEntityFixtureSectionMetric) BeginAttribute ¶
func (inst *InEntityFixtureSectionMetric) BeginAttribute(value3 float64, rawBlob4 string) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetric) BeginAttributeSingle ¶
func (inst *InEntityFixtureSectionMetric) BeginAttributeSingle(value3 float64, rawBlob4 string, tags5 string, bins6 uint32) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetric) CheckErrors ¶
func (inst *InEntityFixtureSectionMetric) CheckErrors() (err error)
func (*InEntityFixtureSectionMetric) EndSection ¶
func (inst *InEntityFixtureSectionMetric) EndSection() *InEntityFixture
type InEntityFixtureSectionMetricAttr ¶ added in v0.0.12
type InEntityFixtureSectionMetricInAttr ¶
type InEntityFixtureSectionMetricInAttr struct {
// contains filtered or unexported fields
}
func NewInEntityFixtureSectionMetricInAttr ¶
func NewInEntityFixtureSectionMetricInAttr(builder *array.RecordBuilder, parent *InEntityFixtureSectionMetric) (inst *InEntityFixtureSectionMetricInAttr)
func (*InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRef ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRef(lr7 uint64) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefP ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefP(lr7 uint64)
func (*InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefParametrized ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefParametrized(lp9 []byte) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefParametrizedP ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardRefParametrizedP(lp9 []byte)
func (*InEntityFixtureSectionMetricInAttr) AddMembershipLowCardVerbatim ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardVerbatim(lv8 []byte) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetricInAttr) AddMembershipLowCardVerbatimP ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipLowCardVerbatimP(lv8 []byte)
func (*InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardRef ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardRef(lmr10 uint64, mrhp11 []byte) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardRefP ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardRefP(lmr10 uint64, mrhp11 []byte)
func (*InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardVerbatim ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardVerbatim(lmv12 []byte, mvhp13 []byte) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardVerbatimP ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddMembershipMixedLowCardVerbatimP(lmv12 []byte, mvhp13 []byte)
func (*InEntityFixtureSectionMetricInAttr) AddToCoContainers ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddToCoContainers(tags5 string, bins6 uint32) *InEntityFixtureSectionMetricInAttr
func (*InEntityFixtureSectionMetricInAttr) AddToCoContainersP ¶
func (inst *InEntityFixtureSectionMetricInAttr) AddToCoContainersP(tags5 string, bins6 uint32)
func (*InEntityFixtureSectionMetricInAttr) AppendError ¶
func (inst *InEntityFixtureSectionMetricInAttr) AppendError(err error)
func (*InEntityFixtureSectionMetricInAttr) EndAttribute ¶
func (inst *InEntityFixtureSectionMetricInAttr) EndAttribute() *InEntityFixtureSectionMetric
func (*InEntityFixtureSectionMetricInAttr) EndAttributeP ¶
func (inst *InEntityFixtureSectionMetricInAttr) EndAttributeP()
func (*InEntityFixtureSectionMetricInAttr) EndSection ¶
func (inst *InEntityFixtureSectionMetricInAttr) EndSection() *InEntityFixture
type SectionDigest ¶ added in v0.0.14
type SectionDigest struct {
SectionName string
Primary []string // primary membership chip display strings
Secondary []string // secondary membership chip display strings
Values []SectionValue
}
SectionDigest is a read-only summary of one tagged section's data row: the membership chips split into primary / secondary exactly as the card's columns, and every value pair (the section's co-attributes). It lets a caller reuse the card's already-decoded, already-classified per-section content instead of re-driving the leeway stream — e.g. the Detail timeline labels a temporal flag with its owning section's chips and co-attributes, matching the card below it.
type SectionValue ¶ added in v0.0.14
SectionValue is one value pair (column name + rendered value) of a section.
type Table2CardEmitter ¶
type Table2CardEmitter struct {
// OnTagClicked is preserved as a sink for downstream consumers (e.g.
// the play detail pane wires a clipboard / filter pivot here), but the
// unified-table cells render comma-joined chip strings, so the callback
// never fires from this emitter.
OnTagClicked func(displayText string, detail string)
// DeferRender suppresses the automatic flush at EndBatch: the drive still
// buffers unified rows, but nothing is drawn until Render is called
// explicitly. A caller sets this when it must read the buffered rows
// (SectionDigests) between the drive and the draw — e.g. the Detail pane
// drives once, labels its timeline from the digests, then draws the card.
// Default false preserves the drive-and-draw-in-one behaviour other
// consumers rely on.
DeferRender bool
// contains filtered or unexported fields
}
Table2CardEmitter renders an entire leeway batch as ONE table (egui_extras::TableBuilder via the c.NewTable row-iterator surface). Every entity, every section, and every attribute share a single unified table whose columns are
[entity? · ] section · primary · values · secondary
The optional `entity` column appears only when the batch contains more than one entity; otherwise the four-column form is used. The `section` cell encodes both the section type and the section name (`tagged · metric`, `plain · entity-id`, `co · <key> · <inner>`). The `values` cell flattens whatever value columns the section declared into inline `name=value · …` pairs — intra-section column alignment is sacrificed for cross-section uniformity. Membership chips are comma-joined per side and classified into primary / secondary buckets via membershiprole.ClassifierI.
Separator rows are inserted between consecutive entities and at the plain↔tagged boundary inside one entity. Separators occupy a small fixed row height with empty cells, so egui_extras' striping breaks at the boundary and reads as a divider.
Each cell is a real egui::Ui scope (egui_extras renders cells via `body.row(h, |row| row.col(|ui| …))`), so empty placeholders render as italic-weak em-dashes, value pairs render in small monospace, and long chip strings wrap naturally to fit the cell's row height. No Frame / Truncate / set_min_size workarounds are needed.
Rationale: egui_extras::Column::remainder() composes with .at_least() and .resizable() natively, so the values column absorbs leftover panel width and drag-resizing any column shifts width into / out of values without an auto_size cascade. Per-row variable height comes from egui_extras::heterogeneous_rows; we feed it via tbl.Row(rowHeight(row)). An earlier iteration ran on egui_table via c.EndETable and accumulated substantial workaround machinery (manual remainder fix-up, Truncate wrap dance, VerticalLeftJustified to coerce cell.min_size, AutoSizeMode gymnastics) — all of which the c.NewTable surface eliminates by exposing egui_extras' native primitives faithfully.
Trade-offs:
- Intra-section column alignment is lost: a tagged section's value columns no longer line up vertically across its rows because they share one packed cell. Cross-section alignment was never meaningful anyway (different sections have different schemas).
- OnTagClicked is preserved for API parity but never fires — chip cells render as one comma-joined string per row, not per-tag buttons.
Aspect filtering keeps machine-readable-only columns out of the values cell. Primary/secondary classification routes membership chips per side via membershiprole.ClassifierI. Co-section flatten prefixes the composed identity with the co-group key.
func NewTable2CardEmitter ¶
func NewTable2CardEmitter(ids *c.WidgetIdStack, palette ColorPaletteE, classifier membershiprole.ClassifierI) (inst *Table2CardEmitter)
NewTable2CardEmitter constructs a Table2CardEmitter with an optional membership classifier (membershiprole.PathPrefixClassifier{} when nil).
func (*Table2CardEmitter) AddMembershipMixedLowCardRefHighCardParam ¶
func (inst *Table2CardEmitter) AddMembershipMixedLowCardRefHighCardParam(ref uint64, params string)
func (*Table2CardEmitter) AddMembershipMixedLowCardVerbatimHighCardParam ¶
func (inst *Table2CardEmitter) AddMembershipMixedLowCardVerbatimHighCardParam(verbatim string, params string)
func (*Table2CardEmitter) AddMembershipRef ¶
func (inst *Table2CardEmitter) AddMembershipRef(lowCard bool, ref uint64)
func (*Table2CardEmitter) AddMembershipRefParametrized ¶
func (inst *Table2CardEmitter) AddMembershipRefParametrized(lowCard bool, ref uint64, params string)
func (*Table2CardEmitter) AddMembershipVerbatim ¶
func (inst *Table2CardEmitter) AddMembershipVerbatim(lowCard bool, verbatim string)
func (*Table2CardEmitter) BeginBatch ¶
func (inst *Table2CardEmitter) BeginBatch()
func (*Table2CardEmitter) BeginCoSectionGroup ¶
func (inst *Table2CardEmitter) BeginCoSectionGroup(name naming.Key)
func (*Table2CardEmitter) BeginColumn ¶
func (inst *Table2CardEmitter) BeginColumn(colAddr streamreadaccess.PhysicalColumnAddr, _ naming.StylableName, _ canonicaltypes.PrimitiveAstNodeI, valueSemantics valueaspects.AspectSet)
func (*Table2CardEmitter) BeginEntity ¶
func (inst *Table2CardEmitter) BeginEntity()
func (*Table2CardEmitter) BeginHomogenousArrayValue ¶
func (inst *Table2CardEmitter) BeginHomogenousArrayValue(_ int)
func (*Table2CardEmitter) BeginPlainSection ¶
func (inst *Table2CardEmitter) BeginPlainSection(itemType common.PlainItemTypeE, valueNames []naming.StylableName, _ []canonicaltypes.PrimitiveAstNodeI, nAttrs int)
func (*Table2CardEmitter) BeginPlainValue ¶
func (inst *Table2CardEmitter) BeginPlainValue()
func (*Table2CardEmitter) BeginScalarValue ¶
func (inst *Table2CardEmitter) BeginScalarValue()
func (*Table2CardEmitter) BeginSection ¶
func (inst *Table2CardEmitter) BeginSection(name naming.StylableName, valueNames []naming.StylableName, _ []canonicaltypes.PrimitiveAstNodeI, useAspects useaspects.AspectSet, nAttrs int)
func (*Table2CardEmitter) BeginSetValue ¶
func (inst *Table2CardEmitter) BeginSetValue(_ int)
func (*Table2CardEmitter) BeginTaggedSections ¶
func (inst *Table2CardEmitter) BeginTaggedSections()
func (*Table2CardEmitter) BeginTaggedValue ¶
func (inst *Table2CardEmitter) BeginTaggedValue()
func (*Table2CardEmitter) BeginTags ¶
func (inst *Table2CardEmitter) BeginTags(_ int)
func (*Table2CardEmitter) BeginValueItem ¶
func (inst *Table2CardEmitter) BeginValueItem(index int)
BeginValueItem joins multi-item collections inline with ", " — table rows have a single packed values cell, so vertical bullet stacks would need wrapping that doesn't translate; flat lists fit one row each.
func (*Table2CardEmitter) EndBatch ¶
func (inst *Table2CardEmitter) EndBatch() (err error)
func (*Table2CardEmitter) EndCoSectionGroup ¶
func (inst *Table2CardEmitter) EndCoSectionGroup() (err error)
func (*Table2CardEmitter) EndColumn ¶
func (inst *Table2CardEmitter) EndColumn()
func (*Table2CardEmitter) EndEntity ¶
func (inst *Table2CardEmitter) EndEntity() (err error)
func (*Table2CardEmitter) EndHomogenousArrayValue ¶
func (inst *Table2CardEmitter) EndHomogenousArrayValue()
func (*Table2CardEmitter) EndPlainSection ¶
func (inst *Table2CardEmitter) EndPlainSection() (err error)
func (*Table2CardEmitter) EndPlainValue ¶
func (inst *Table2CardEmitter) EndPlainValue() (err error)
EndPlainValue fans the buffered plain attribute out into one row per visible value column. The column name occupies the primary cell — for plain sections the column name *is* the row's identity, so it takes the role a primary membership chip plays in tagged sections. The values cell then carries just the bare value (renderValuesCell drops the `name=` prefix when there is exactly one pair).
The fan-out rebuilds each pair rather than moving it, so it must carry the block faces over explicitly: dropping them made a plain section the one place a claimed block never drew, which is exactly where a leeway entity's id lives.
func (*Table2CardEmitter) EndScalarValue ¶
func (inst *Table2CardEmitter) EndScalarValue() (err error)
func (*Table2CardEmitter) EndSection ¶
func (inst *Table2CardEmitter) EndSection() (err error)
func (*Table2CardEmitter) EndSetValue ¶
func (inst *Table2CardEmitter) EndSetValue()
func (*Table2CardEmitter) EndTaggedSections ¶
func (inst *Table2CardEmitter) EndTaggedSections() (err error)
func (*Table2CardEmitter) EndTaggedValue ¶
func (inst *Table2CardEmitter) EndTaggedValue() (err error)
func (*Table2CardEmitter) EndTags ¶
func (inst *Table2CardEmitter) EndTags()
func (*Table2CardEmitter) EndValueItem ¶
func (inst *Table2CardEmitter) EndValueItem()
func (*Table2CardEmitter) Render ¶ added in v0.0.14
func (inst *Table2CardEmitter) Render()
Render draws the rows buffered by the last drive into the current ui scope. It is the deferred half of EndBatch, for the DeferRender path: a caller drives (DriveRecordBatch), reads SectionDigests, then calls Render to draw. A no-op when nothing was buffered. Do not call it when DeferRender is unset — EndBatch has already drawn, and a second call would duplicate the widgets.
func (*Table2CardEmitter) SectionDigests ¶ added in v0.0.14
func (inst *Table2CardEmitter) SectionDigests() (digests []SectionDigest)
SectionDigests returns one digest per tagged / co-section data row buffered by the last drive, in first-encounter order. Plain / backbone sections are excluded: they carry no memberships and fan out one row per column. Valid after DriveRecordBatch (typically with DeferRender set, before Render); the returned slices are fresh copies, so they survive the next drive.
func (*Table2CardEmitter) SetCellBlock ¶ added in v0.0.20
func (inst *Table2CardEmitter) SetCellBlock(fn CellBlockFunc)
SetCellBlock installs (or, with nil, removes) the per-value block face.
func (*Table2CardEmitter) SetCellGloss ¶ added in v0.0.20
func (inst *Table2CardEmitter) SetCellGloss(fn CellGlossFunc)
SetCellGloss installs (or, with nil, removes) the per-value gloss. It is the text seam a host has into the card's values, beside the hide rule BeginColumn applies from the value semantics; SetCellBlock is the other.
func (*Table2CardEmitter) WriteString ¶
func (inst *Table2CardEmitter) WriteString(s string) (n int, err error)
type TopologySink ¶ added in v0.0.20
type TopologySink struct {
// contains filtered or unexported fields
}
TopologySink accumulates a batch's shape into a tree a treemap can draw.
It reads every structural callback and discards every value, so what survives is the containment hierarchy a leeway entity declares:
batch → entity → [co-section group] → section → attribute
Each attribute is a unit-sized leaf, so a section's area is its attribute count and an entity's area is its total attribute count. Whether an attribute carried a value, membership tags, both, or neither is recorded per leaf and surfaced through Coloring().
The sink deliberately does not implement `streamreadaccess.MembershipSinkI`: it needs to know only *that* an attribute has tags, which `BeginTags` already reports. Per ADR-0072 the driver skips membership emission for sinks lacking the capability, which is the intended behaviour here.
This is the native successor to the former `card.SvgTopologySink`, which drew the same model as a static SVG of dot glyphs. The dot states became the AttrState* colours below; drill-down, hover and animation now come from the treemap widget rather than being absent.
func NewTopologySink ¶ added in v0.0.20
func NewTopologySink() (inst *TopologySink)
NewTopologySink returns a sink ready to be driven. Reuse across batches is fine — BeginBatch resets the accumulated tree.
func (*TopologySink) BeginBatch ¶ added in v0.0.20
func (inst *TopologySink) BeginBatch()
func (*TopologySink) BeginCoSectionGroup ¶ added in v0.0.20
func (inst *TopologySink) BeginCoSectionGroup(name naming.Key)
func (*TopologySink) BeginColumn ¶ added in v0.0.20
func (inst *TopologySink) BeginColumn(colAddr streamreadaccess.PhysicalColumnAddr, name naming.StylableName, canonicalType canonicaltypes.PrimitiveAstNodeI, _ valueaspects.AspectSet)
func (*TopologySink) BeginEntity ¶ added in v0.0.20
func (inst *TopologySink) BeginEntity()
func (*TopologySink) BeginHomogenousArrayValue ¶ added in v0.0.20
func (inst *TopologySink) BeginHomogenousArrayValue(card int)
func (*TopologySink) BeginPlainSection ¶ added in v0.0.20
func (inst *TopologySink) BeginPlainSection(itemType common.PlainItemTypeE, valueNames []naming.StylableName, valueCanonicalTypes []canonicaltypes.PrimitiveAstNodeI, nAttrs int)
func (*TopologySink) BeginPlainValue ¶ added in v0.0.20
func (inst *TopologySink) BeginPlainValue()
func (*TopologySink) BeginScalarValue ¶ added in v0.0.20
func (inst *TopologySink) BeginScalarValue()
func (*TopologySink) BeginSection ¶ added in v0.0.20
func (inst *TopologySink) BeginSection(name naming.StylableName, valueNames []naming.StylableName, valueCanonicalTypes []canonicaltypes.PrimitiveAstNodeI, _ useaspects.AspectSet, nAttrs int)
func (*TopologySink) BeginSetValue ¶ added in v0.0.20
func (inst *TopologySink) BeginSetValue(card int)
func (*TopologySink) BeginTaggedSections ¶ added in v0.0.20
func (inst *TopologySink) BeginTaggedSections()
func (*TopologySink) BeginTaggedValue ¶ added in v0.0.20
func (inst *TopologySink) BeginTaggedValue()
func (*TopologySink) BeginTags ¶ added in v0.0.20
func (inst *TopologySink) BeginTags(nTags int)
func (*TopologySink) BeginValueItem ¶ added in v0.0.20
func (inst *TopologySink) BeginValueItem(index int)
func (*TopologySink) Coloring ¶ added in v0.0.20
func (inst *TopologySink) Coloring() (coloring treemap.ColoringI)
Coloring encodes attribute state as cell colour, falling through to the treemap's depth colouring for structural nodes. A negative categorical index is the documented fall-through signal, so entity / co-group / section cells keep the depth ramp that communicates nesting.
func (*TopologySink) EndBatch ¶ added in v0.0.20
func (inst *TopologySink) EndBatch() (err error)
func (*TopologySink) EndCoSectionGroup ¶ added in v0.0.20
func (inst *TopologySink) EndCoSectionGroup() (err error)
func (*TopologySink) EndColumn ¶ added in v0.0.20
func (inst *TopologySink) EndColumn()
func (*TopologySink) EndEntity ¶ added in v0.0.20
func (inst *TopologySink) EndEntity() (err error)
func (*TopologySink) EndHomogenousArrayValue ¶ added in v0.0.20
func (inst *TopologySink) EndHomogenousArrayValue()
func (*TopologySink) EndPlainSection ¶ added in v0.0.20
func (inst *TopologySink) EndPlainSection() (err error)
func (*TopologySink) EndPlainValue ¶ added in v0.0.20
func (inst *TopologySink) EndPlainValue() (err error)
func (*TopologySink) EndScalarValue ¶ added in v0.0.20
func (inst *TopologySink) EndScalarValue() (err error)
func (*TopologySink) EndSection ¶ added in v0.0.20
func (inst *TopologySink) EndSection() (err error)
func (*TopologySink) EndSetValue ¶ added in v0.0.20
func (inst *TopologySink) EndSetValue()
func (*TopologySink) EndTaggedSections ¶ added in v0.0.20
func (inst *TopologySink) EndTaggedSections() (err error)
func (*TopologySink) EndTaggedValue ¶ added in v0.0.20
func (inst *TopologySink) EndTaggedValue() (err error)
func (*TopologySink) EndTags ¶ added in v0.0.20
func (inst *TopologySink) EndTags()
func (*TopologySink) EndValueItem ¶ added in v0.0.20
func (inst *TopologySink) EndValueItem()
func (*TopologySink) Root ¶ added in v0.0.20
func (inst *TopologySink) Root() (root *layout.Node)
Root returns the accumulated topology tree. Valid after EndBatch; before the first batch it is an empty "batch" node, which the treemap renders as an empty container rather than panicking.
func (*TopologySink) StateOf ¶ added in v0.0.20
func (inst *TopologySink) StateOf(node *layout.Node) (state AttrStateE, ok bool)
StateOf reports what the given attribute leaf carried. Structural nodes (batch / entity / co-group / section) report AttrStateEmpty and false.
func (*TopologySink) Write ¶ added in v0.0.20
func (inst *TopologySink) Write(p []byte) (n int, err error)
func (*TopologySink) WriteString ¶ added in v0.0.20
func (inst *TopologySink) WriteString(s string) (n int, err error)