taskcreated

package
v0.0.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: MIT Imports: 21 Imported by: 0

Documentation

Overview

Package taskcreated is the leeway-coded wire form of the spawn payload published once per task on `task.<id>.created`. Second broker DTO to migrate off the buscodec fxamacker-cbor default onto the ADR-0042 SoA codec (after keelson/runtime/codec/taskprogress).

Vocabulary reuse across task.* wire DTOs:

Wire shape vs the legacy task.TaskCreated JSON form:

  • Field rename `Id TaskIdT` → `TaskId string` (subject id moves into a string-section tagged column; the plain `id` slot is the fact-row id).
  • Field rename `AtMs` → `At` (codec plain `ts` is a `time.Time`; producers convert `time.Now().UnixMilli()` via `time.UnixMilli` at the wire boundary).
  • New `FactId uint64` plain `id` (per-row event sequence; the existing producer leaves it zero until a real sequencer lands — matching the taskprogress precedent).
  • Field rename `OwnerAppId app.AppIdT` → `OwnerAppId string` (codec field type is plain string; callers cast with `string(appId)` at construction).

Cardinality is ExactlyOne for every tagged field; Go zero values carry absence semantics (Title="" ⇒ no title, EstimatedMs=0 ⇒ no estimate, OwnerTileKey=0 ⇒ no tile context). Mirrors capabilitygrant's ExpiresAt sentinel approach instead of `option.Option[T]`.

Index

Constants

This section is empty.

Variables

View Source
var PackageProps = packageprops.Props{
	WASMWASI:         packageprops.WASMBlocked,
	WASMJS:           packageprops.WASMBlocked,
	WASMFreestanding: packageprops.WASMBlocked,
}

PackageProps records this package's curated properties (ADR-0080). Seeded by `wasmsurvey props generate`; curate by hand, then `wasmsurvey props verify`.

View Source
var TaskCreatedActiveFields = sync.OnceValue(func() []int {
	active := map[string]bool{"bool": true, "i64Array": true, "stringArray": true, "symbol": true, "textArray": true, "u64Array": true}
	schema := cbdml.CreateSchemaFacts()
	out := make([]int, 0, 4+len(active)*8)
	for i, f := range schema.Fields() {
		name := f.Name
		switch {
		case strings.HasPrefix(name, "id:"),
			strings.HasPrefix(name, "ts:"),
			strings.HasPrefix(name, "lc:"):
			out = append(out, i)
		case strings.HasPrefix(name, "tv:"):
			rest := name[3:]
			colon := strings.IndexByte(rest, ':')
			if colon < 0 {
				continue
			}
			if active[rest[:colon]] {
				out = append(out, i)
			}
		}
	}
	return out
})

TaskCreatedActiveFields is the column-index subset this kind populates in the boxer.facts Arrow schema. Lazily computed once via sync.OnceValue: scans cbdml.CreateSchemaFacts()'s tv:<section>:... field names against this kind's active sections plus the three plain prefixes (id:, ts:, lc:). Driven through RecordBuilder. SetActiveFields to skip per-row emit walks for unused columns.

View Source
var TaskCreatedActiveSections = []int{1, 7, 9, 10, 12, 18}

TaskCreatedActiveSections is the dml_cbor section-index subset this kind populates. Passed to InEntityFacts.SetActiveSections so the builder skips beginSection list-slot work for inactive sections.

Functions

func TaskCreatedAddSections added in v0.0.17

func TaskCreatedAddSections[
	StringArrayAttr TaskCreatedStringArrayAttrI,
	StringArraySec TaskCreatedStringArraySecI[StringArrayAttr, Ent],
	SymbolAttr TaskCreatedSymbolAttrI,
	SymbolSec TaskCreatedSymbolSecI[SymbolAttr, Ent],
	TextArrayAttr TaskCreatedTextArrayAttrI,
	TextArraySec TaskCreatedTextArraySecI[TextArrayAttr, Ent],
	U64ArrayAttr TaskCreatedU64ArrayAttrI,
	U64ArraySec TaskCreatedU64ArraySecI[U64ArrayAttr, Ent],
	BoolAttr TaskCreatedBoolAttrI,
	BoolSec TaskCreatedBoolSecI[BoolAttr, Ent],
	I64ArrayAttr TaskCreatedI64ArrayAttrI,
	I64ArraySec TaskCreatedI64ArraySecI[I64ArrayAttr, Ent],
	Ent any,
	DML TaskCreatedEntityI[
		StringArrayAttr, StringArraySec,
		SymbolAttr, SymbolSec,
		TextArrayAttr, TextArraySec,
		U64ArrayAttr, U64ArraySec,
		BoolAttr, BoolSec,
		I64ArrayAttr, I64ArraySec,
		Ent,
	],
](dml DML, row TaskCreated) (err error)

TaskCreatedAddSections contributes this kind's tagged sections to the OPEN entity on dml — the BuildEntities body without the entity frame. The caller owns BeginEntity / plain setters / CommitEntity.

func TaskCreatedBuildEntities

func TaskCreatedBuildEntities[
	StringArrayAttr TaskCreatedStringArrayAttrI,
	StringArraySec TaskCreatedStringArraySecI[StringArrayAttr, Ent],
	SymbolAttr TaskCreatedSymbolAttrI,
	SymbolSec TaskCreatedSymbolSecI[SymbolAttr, Ent],
	TextArrayAttr TaskCreatedTextArrayAttrI,
	TextArraySec TaskCreatedTextArraySecI[TextArrayAttr, Ent],
	U64ArrayAttr TaskCreatedU64ArrayAttrI,
	U64ArraySec TaskCreatedU64ArraySecI[U64ArrayAttr, Ent],
	BoolAttr TaskCreatedBoolAttrI,
	BoolSec TaskCreatedBoolSecI[BoolAttr, Ent],
	I64ArrayAttr TaskCreatedI64ArrayAttrI,
	I64ArraySec TaskCreatedI64ArraySecI[I64ArrayAttr, Ent],
	Ent any,
	DML TaskCreatedEntityI[
		StringArrayAttr, StringArraySec,
		SymbolAttr, SymbolSec,
		TextArrayAttr, TextArraySec,
		U64ArrayAttr, U64ArraySec,
		BoolAttr, BoolSec,
		I64ArrayAttr, I64ArraySec,
		Ent,
	],
](dml DML, c *TaskCreatedColumns) (err error)

TaskCreatedBuildEntities walks c row-by-row, drives dml's entity / section chain, and returns once every row has been committed. The dml argument's concrete type binds every type parameter via Go's type inference at the call site.

func TaskCreatedFillFromArrow

func TaskCreatedFillFromArrow[
	StringArrayAttrs TaskCreatedStringArrayAttrsReadI,
	StringArrayMembs TaskCreatedStringArrayMembsReadI,
	SymbolAttrs TaskCreatedSymbolAttrsReadI,
	SymbolMembs TaskCreatedSymbolMembsReadI,
	TextArrayAttrs TaskCreatedTextArrayAttrsReadI,
	TextArrayMembs TaskCreatedTextArrayMembsReadI,
	U64ArrayAttrs TaskCreatedU64ArrayAttrsReadI,
	U64ArrayMembs TaskCreatedU64ArrayMembsReadI,
	BoolAttrs TaskCreatedBoolAttrsReadI,
	BoolMembs TaskCreatedBoolMembsReadI,
	I64ArrayAttrs TaskCreatedI64ArrayAttrsReadI,
	I64ArrayMembs TaskCreatedI64ArrayMembsReadI,
](
	c *TaskCreatedColumns,
	n int,
	idCol *array.Uint64,
	nkCol *array.Binary,
	tsCol *array.Timestamp,
	stringArrayAttrs StringArrayAttrs,
	stringArrayMembs StringArrayMembs,
	symbolAttrs SymbolAttrs,
	symbolMembs SymbolMembs,
	textArrayAttrs TextArrayAttrs,
	textArrayMembs TextArrayMembs,
	u64ArrayAttrs U64ArrayAttrs,
	u64ArrayMembs U64ArrayMembs,
	boolAttrs BoolAttrs,
	boolMembs BoolMembs,
	i64ArrayAttrs I64ArrayAttrs,
	i64ArrayMembs I64ArrayMembs,
) (err error)

TaskCreatedFillFromArrow walks rec row-by-row and appends each entity's plain + tagged-section values into c. Plain columns enter as concrete Arrow accessors; per-section Attrs + Membs bind through type-parameter interfaces.

Types

type TaskCreated

type TaskCreated struct {

	// FactId is the per-row event id; distinct from TaskId (the
	// subject of the fact).
	FactId uint64 `lw:",id"`

	// NaturalKey is the entity natural key; the facts SetId is 2-arg.
	// These bus DTOs carry no separate key, so it stays the nil default.
	NaturalKey []byte `lw:",naturalKey"`

	// At is the event timestamp. time.Time matches the facts
	// SetTimestamp signature directly (strict 1:1); the leeway wire
	// truncates to u32 seconds, while the bus preserves full nanos.
	At time.Time `lw:",ts"`

	// TaskId is the per-task identifier (a nanoid by default; see
	// task.TaskIdT). Shared string-section column across task.*
	// wire DTOs.
	TaskId string `lw:"taskId,stringArray"`

	// Kind is the task's domain category (e.g. "ch.export").
	// Symbol section because the value set is enumerable per
	// deployment.
	Kind string `lw:"taskKind,symbol"`

	// Title is a short human-readable label for the task.
	Title string `lw:"title,textArray"`

	// OwnerAppId is the runtime app namespace that spawned the task.
	// String section (app.AppIdT is opaque to the codec).
	OwnerAppId string `lw:"appId,stringArray"`

	// OwnerTileKey is the window/tile identifier for audit join-back
	// to app-lifecycle facts. 0 means "no tile context".
	OwnerTileKey uint64 `lw:"tileKey,u64Array"`

	// OwnerRunId is the runtime-start identifier (nanoid/uuid) for
	// audit join-back to runtime-lifecycle facts.
	OwnerRunId string `lw:"runId,stringArray"`

	// CancellableB declares whether the producer honours
	// task.<id>.cancel publications.
	CancellableB bool `lw:"taskCancellableB,bool"`

	// EstimatedMs is the producer-supplied predicted duration in
	// milliseconds. Zero means no estimate.
	EstimatedMs int64 `lw:"taskEstimatedMs,i64Array"`
	// contains filtered or unexported fields
}

TaskCreated is the wire payload published once at task spawn on subject `task.<id>.created`. Observers consume this to build their initial row before any TaskProgress arrives.

`OwnerAppId` / `OwnerTileKey` / `OwnerRunId` are populated by the host-supplied TaskApi (via MountContextI.Tasks()) so audit rows can join back to runtime-start (RunId) and app-lifecycle (TileKey) facts rows. Direct callers of task.Spawn that bypass the host TaskApi may leave these zero/empty; the supervisor and observers treat them as best-effort metadata.

func TaskCreatedReadRow added in v0.0.17

func TaskCreatedReadRow[
	StringArrayAttrs TaskCreatedStringArrayAttrsReadI,
	StringArrayMembs TaskCreatedStringArrayMembsReadI,
	SymbolAttrs TaskCreatedSymbolAttrsReadI,
	SymbolMembs TaskCreatedSymbolMembsReadI,
	TextArrayAttrs TaskCreatedTextArrayAttrsReadI,
	TextArrayMembs TaskCreatedTextArrayMembsReadI,
	U64ArrayAttrs TaskCreatedU64ArrayAttrsReadI,
	U64ArrayMembs TaskCreatedU64ArrayMembsReadI,
	BoolAttrs TaskCreatedBoolAttrsReadI,
	BoolMembs TaskCreatedBoolMembsReadI,
	I64ArrayAttrs TaskCreatedI64ArrayAttrsReadI,
	I64ArrayMembs TaskCreatedI64ArrayMembsReadI,
](
	i int,
	stringArrayAttrs StringArrayAttrs,
	stringArrayMembs StringArrayMembs,
	symbolAttrs SymbolAttrs,
	symbolMembs SymbolMembs,
	textArrayAttrs TextArrayAttrs,
	textArrayMembs TextArrayMembs,
	u64ArrayAttrs U64ArrayAttrs,
	u64ArrayMembs U64ArrayMembs,
	boolAttrs BoolAttrs,
	boolMembs BoolMembs,
	i64ArrayAttrs I64ArrayAttrs,
	i64ArrayMembs I64ArrayMembs,
) (row TaskCreated, present bool, err error)

TaskCreatedReadRow reads row i as one optional TaskCreated component: presence- gated (a row carrying none of the kind's memberships yields present=false), membership-matched. A slot carrying more attributes than this kind's shape admits is an error, for every shape including containers. Plain- bound fields stay zero — the caller owns the envelope. The Attrs/Membs readers bind by type inference at the call site, as with FillFromArrow.

type TaskCreatedBoolAttrI

type TaskCreatedBoolAttrI interface {
	dmlruntime.InAttributeMembershipLowCardRefPI
	EndAttributeP()
}

TaskCreatedBoolAttrI is the InAttr-side view of the bool section. P-variants only — every method returns void so no F-bounded `[Self]` parameter is needed.

type TaskCreatedBoolAttrsReadI

type TaskCreatedBoolAttrsReadI interface {
	GetAttrValueValue(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) bool
	GetNumberOfAttributes(entityIdx raruntime.EntityIdx) int64
}

TaskCreatedBoolAttrsReadI is the Attributes-side view of the bool section.

type TaskCreatedBoolMembsReadI

type TaskCreatedBoolMembsReadI interface {
	GetMembValueLowCardRef(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) iter.Seq[uint64]
}

TaskCreatedBoolMembsReadI is the Memberships-side view of the bool section.

type TaskCreatedBoolSecI

type TaskCreatedBoolSecI[Attr any, Ent any] interface {
	BeginAttribute(value bool) Attr
	EndSection() Ent
}

TaskCreatedBoolSecI is the Section-side view: opens an attribute and closes the section. Attr and Ent are bound at the call site by inference.

type TaskCreatedCodec

type TaskCreatedCodec struct{}

TaskCreatedCodec is the buscodec.CodecI bridge for TaskCreated. Encodes one row through dml_cbor; decodes via cborarrow.Convert + ra-Unmarshal + Row(0). Auto-registered in init() so callers using buscodec.Encode / Decode route through here instead of the CBOR fallback.

func (*TaskCreatedCodec) ContentType

func (inst *TaskCreatedCodec) ContentType() (ct string)

func (*TaskCreatedCodec) Decode

func (inst *TaskCreatedCodec) Decode(b []byte, v any) (err error)

func (*TaskCreatedCodec) Encode

func (inst *TaskCreatedCodec) Encode(v any) (b []byte, err error)

func (*TaskCreatedCodec) Name

func (inst *TaskCreatedCodec) Name() (n string)

type TaskCreatedColumns

type TaskCreatedColumns struct {
	FactId     []uint64
	NaturalKey [][]byte
	At         []time.Time

	TaskId       []string
	Kind         []string
	Title        []string
	OwnerAppId   []string
	OwnerTileKey []uint64
	OwnerRunId   []string
	CancellableB []bool
	EstimatedMs  []int64
}

TaskCreatedColumns is the SoA storage for batches of TaskCreated rows. All slices grow in lockstep — Len returns the row count.

func (*TaskCreatedColumns) Append

func (c *TaskCreatedColumns) Append(row TaskCreated)

Append pushes one AoS record into the SoA buffers.

Aliasing: slice and pointer fields (`[]T`, `*roaring.Bitmap`) are stored by reference, not copied. Callers must not mutate row.<F> after Append unless they want Marshal to read the mutation. Scalar fields (T, Option[T]) are copied by value.

func (*TaskCreatedColumns) Len

func (c *TaskCreatedColumns) Len() int

Len returns the number of rows currently in the batch.

func (*TaskCreatedColumns) Marshal

func (c *TaskCreatedColumns) Marshal(w io.Writer) (err error)

Marshal writes the SoA buffer to w as the sparse-CBOR wire format produced through factsschema/dml_cbor. Thin wrapper around TaskCreatedBuildEntities — the per-row chain lives there and works against any leeway-DML class that structurally satisfies TaskCreatedEntityI.

func (*TaskCreatedColumns) Row

func (c *TaskCreatedColumns) Row(i int) (row TaskCreated)

Row reconstructs entity i as an AoS TaskCreated record. Inverse of Append: slice / pointer fields are shared by reference (no defensive copy); scalar fields and Option[T] are copied.

func (*TaskCreatedColumns) Unmarshal

func (c *TaskCreatedColumns) Unmarshal(rec arrow.Record) (err error)

Unmarshal appends one row to c per entity in rec, projecting the boxer.facts columns through factsschema/ra. Thin wrapper around TaskCreatedFillFromArrow — the per-row decode lives there.

type TaskCreatedEntityI

type TaskCreatedEntityI[
	StringArrayAttr TaskCreatedStringArrayAttrI,
	StringArraySec TaskCreatedStringArraySecI[StringArrayAttr, Ent],
	SymbolAttr TaskCreatedSymbolAttrI,
	SymbolSec TaskCreatedSymbolSecI[SymbolAttr, Ent],
	TextArrayAttr TaskCreatedTextArrayAttrI,
	TextArraySec TaskCreatedTextArraySecI[TextArrayAttr, Ent],
	U64ArrayAttr TaskCreatedU64ArrayAttrI,
	U64ArraySec TaskCreatedU64ArraySecI[U64ArrayAttr, Ent],
	BoolAttr TaskCreatedBoolAttrI,
	BoolSec TaskCreatedBoolSecI[BoolAttr, Ent],
	I64ArrayAttr TaskCreatedI64ArrayAttrI,
	I64ArraySec TaskCreatedI64ArraySecI[I64ArrayAttr, Ent],
	Ent any,
] interface {
	BeginEntity() Ent
	SetId(id uint64, naturalKey []byte) Ent
	SetTimestamp(ts time.Time) Ent
	GetSectionStringArray() StringArraySec
	GetSectionSymbol() SymbolSec
	GetSectionTextArray() TextArraySec
	GetSectionU64Array() U64ArraySec
	GetSectionBool() BoolSec
	GetSectionI64Array() I64ArraySec
	CommitEntity() (err error)
}

TaskCreatedEntityI is the entity-builder surface TaskCreatedAddSections drives. It always lists the per-section getters; the entity-frame methods (BeginEntity / plain setters / CommitEntity) are added only for the full codec's BuildEntities. AddSections stacks sections onto a frame the caller already owns, so it needs none of them — which lets a store drive it with a builder whose frame control is unexported (ADR-0100 SD6). Ent is the builder pointer.

type TaskCreatedI64ArrayAttrI

type TaskCreatedI64ArrayAttrI interface {
	dmlruntime.InAttributeMembershipLowCardRefPI
	EndAttributeP()
}

TaskCreatedI64ArrayAttrI is the InAttr-side view of the i64Array section. P-variants only — every method returns void so no F-bounded `[Self]` parameter is needed.

type TaskCreatedI64ArrayAttrsReadI

type TaskCreatedI64ArrayAttrsReadI interface {
	GetAttrValueSingleOrDefault(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) int64
	GetNumberOfAttributes(entityIdx raruntime.EntityIdx) int64
}

TaskCreatedI64ArrayAttrsReadI is the Attributes-side view of the i64Array section.

type TaskCreatedI64ArrayMembsReadI

type TaskCreatedI64ArrayMembsReadI interface {
	GetMembValueLowCardRef(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) iter.Seq[uint64]
}

TaskCreatedI64ArrayMembsReadI is the Memberships-side view of the i64Array section.

type TaskCreatedI64ArraySecI

type TaskCreatedI64ArraySecI[Attr any, Ent any] interface {
	BeginAttributeSingle(value int64) Attr
	EndSection() Ent
}

TaskCreatedI64ArraySecI is the Section-side view: opens an attribute and closes the section. Attr and Ent are bound at the call site by inference.

type TaskCreatedStringArrayAttrI

type TaskCreatedStringArrayAttrI interface {
	dmlruntime.InAttributeMembershipLowCardRefPI
	EndAttributeP()
}

TaskCreatedStringArrayAttrI is the InAttr-side view of the stringArray section. P-variants only — every method returns void so no F-bounded `[Self]` parameter is needed.

type TaskCreatedStringArrayAttrsReadI

type TaskCreatedStringArrayAttrsReadI interface {
	GetAttrValueSingleOrDefault(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) string
	GetNumberOfAttributes(entityIdx raruntime.EntityIdx) int64
}

TaskCreatedStringArrayAttrsReadI is the Attributes-side view of the stringArray section.

type TaskCreatedStringArrayMembsReadI

type TaskCreatedStringArrayMembsReadI interface {
	GetMembValueLowCardRef(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) iter.Seq[uint64]
}

TaskCreatedStringArrayMembsReadI is the Memberships-side view of the stringArray section.

type TaskCreatedStringArraySecI

type TaskCreatedStringArraySecI[Attr any, Ent any] interface {
	BeginAttributeSingle(value string) Attr
	EndSection() Ent
}

TaskCreatedStringArraySecI is the Section-side view: opens an attribute and closes the section. Attr and Ent are bound at the call site by inference.

type TaskCreatedSymbolAttrI

type TaskCreatedSymbolAttrI interface {
	dmlruntime.InAttributeMembershipLowCardRefPI
	EndAttributeP()
}

TaskCreatedSymbolAttrI is the InAttr-side view of the symbol section. P-variants only — every method returns void so no F-bounded `[Self]` parameter is needed.

type TaskCreatedSymbolAttrsReadI

type TaskCreatedSymbolAttrsReadI interface {
	GetAttrValueValue(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) string
	GetNumberOfAttributes(entityIdx raruntime.EntityIdx) int64
}

TaskCreatedSymbolAttrsReadI is the Attributes-side view of the symbol section.

type TaskCreatedSymbolMembsReadI

type TaskCreatedSymbolMembsReadI interface {
	GetMembValueLowCardRef(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) iter.Seq[uint64]
}

TaskCreatedSymbolMembsReadI is the Memberships-side view of the symbol section.

type TaskCreatedSymbolSecI

type TaskCreatedSymbolSecI[Attr any, Ent any] interface {
	BeginAttribute(value string) Attr
	EndSection() Ent
}

TaskCreatedSymbolSecI is the Section-side view: opens an attribute and closes the section. Attr and Ent are bound at the call site by inference.

type TaskCreatedTextArrayAttrI

type TaskCreatedTextArrayAttrI interface {
	dmlruntime.InAttributeMembershipLowCardRefPI
	EndAttributeP()
}

TaskCreatedTextArrayAttrI is the InAttr-side view of the textArray section. P-variants only — every method returns void so no F-bounded `[Self]` parameter is needed.

type TaskCreatedTextArrayAttrsReadI

type TaskCreatedTextArrayAttrsReadI interface {
	GetAttrValueSingleOrDefault(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) string
	GetNumberOfAttributes(entityIdx raruntime.EntityIdx) int64
}

TaskCreatedTextArrayAttrsReadI is the Attributes-side view of the textArray section.

type TaskCreatedTextArrayMembsReadI

type TaskCreatedTextArrayMembsReadI interface {
	GetMembValueLowCardRef(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) iter.Seq[uint64]
}

TaskCreatedTextArrayMembsReadI is the Memberships-side view of the textArray section.

type TaskCreatedTextArraySecI

type TaskCreatedTextArraySecI[Attr any, Ent any] interface {
	BeginAttributeSingle(value string) Attr
	EndSection() Ent
}

TaskCreatedTextArraySecI is the Section-side view: opens an attribute and closes the section. Attr and Ent are bound at the call site by inference.

type TaskCreatedU64ArrayAttrI

type TaskCreatedU64ArrayAttrI interface {
	dmlruntime.InAttributeMembershipLowCardRefPI
	EndAttributeP()
}

TaskCreatedU64ArrayAttrI is the InAttr-side view of the u64Array section. P-variants only — every method returns void so no F-bounded `[Self]` parameter is needed.

type TaskCreatedU64ArrayAttrsReadI

type TaskCreatedU64ArrayAttrsReadI interface {
	GetAttrValueSingleOrDefault(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) uint64
	GetNumberOfAttributes(entityIdx raruntime.EntityIdx) int64
}

TaskCreatedU64ArrayAttrsReadI is the Attributes-side view of the u64Array section.

type TaskCreatedU64ArrayMembsReadI

type TaskCreatedU64ArrayMembsReadI interface {
	GetMembValueLowCardRef(entityIdx raruntime.EntityIdx, attrIdx raruntime.AttributeIdx) iter.Seq[uint64]
}

TaskCreatedU64ArrayMembsReadI is the Memberships-side view of the u64Array section.

type TaskCreatedU64ArraySecI

type TaskCreatedU64ArraySecI[Attr any, Ent any] interface {
	BeginAttributeSingle(value uint64) Attr
	EndSection() Ent
}

TaskCreatedU64ArraySecI is the Section-side view: opens an attribute and closes the section. Attr and Ent are bound at the call site by inference.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL