schema

package
v0.37.0 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Name        string                         `json:"name,omitempty"`
	Version     string                         `json:"version,omitempty"`
	Description string                         `json:"description,omitempty"`
	Authors     []Author                       `json:"authors,omitempty"`
	WebScene    *WebScene                      `json:"webScene,omitempty"`
	Producers   map[string]Producer            `json:"producers"`
	Nodes       map[string]AppNodeInstance     `json:"nodes"`
	Metadata    map[string]any                 `json:"metadata,omitempty"`
	Variables   NestedGroup[PersistedVariable] `json:"variables,omitempty"`
	Profiles    map[string]AppProfile          `json:"profiles,omitempty"`
}

type AppNodeInstance added in v0.21.3

type AppNodeInstance struct {
	Type          string                   `json:"type"`
	AssignedInput map[string]PortReference `json:"assignedInput,omitempty"`
	Data          json.RawMessage          `json:"data,omitempty"`
	Variable      *string                  `json:"variable,omitempty"`
}

type AppProfile added in v0.31.0

type AppProfile struct {
	Data map[string]json.RawMessage `json:"data,omitempty"`
}

type Author added in v0.21.3

type Author struct {
	Name        string          `json:"name"`
	ContactInfo []AuthorContact `json:"contactInfo,omitempty"`
}

type AuthorContact added in v0.21.3

type AuthorContact struct {
	Medium string `json:"medium"`
	Value  string `json:"value"`
}

type GraphExecutionReport added in v0.32.0

type GraphExecutionReport struct {
	Nodes map[string]NodeExecutionReport `json:"nodes"`
}

type GraphInstance added in v0.21.3

type GraphInstance struct {
	Producers map[string]Producer          `json:"producers"`
	Nodes     map[string]NodeInstance      `json:"nodes"`
	Notes     map[string]any               `json:"notes"`
	Variables NestedGroup[RuntimeVariable] `json:"variables,omitempty"`
	Profiles  []string                     `json:"profiles,omitempty"`
}

type NestedGroup added in v0.28.0

type NestedGroup[T any] struct {
	Variables map[string]T              `json:"variables"`
	SubGroups map[string]NestedGroup[T] `json:"subgroups"`
}

func (NestedGroup[T]) Traverse added in v0.28.0

func (vg NestedGroup[T]) Traverse(f func(path string, variable T) bool)

type NodeExecutionReport added in v0.32.0

type NodeExecutionReport struct {
	Output map[string]nodes.ExecutionReport `json:"output"`
}

type NodeInput

type NodeInput struct {
	Type        string `json:"type"`
	IsArray     bool   `json:"isArray"`
	Description string `json:"description,omitempty"`
}

type NodeInstance

type NodeInstance struct {
	Type          string                            `json:"type"`
	Name          string                            `json:"name"`
	AssignedInput map[string]PortReference          `json:"assignedInput"`
	Output        map[string]NodeInstanceOutputPort `json:"output"`

	Parameter Parameter      `json:"parameter,omitempty"`
	Variable  any            `json:"variable,omitempty"`
	Metadata  map[string]any `json:"metadata,omitempty"`
}

type NodeInstanceOutputPort added in v0.23.0

type NodeInstanceOutputPort struct {
	Version int `json:"version"`
}

type NodeOutput

type NodeOutput struct {
	Type        string `json:"type"`
	Description string `json:"description,omitempty"`
}

type NodeType

type NodeType struct {
	DisplayName string                `json:"displayName"`
	Info        string                `json:"info"`
	Type        string                `json:"type"`
	Path        string                `json:"path"`
	Outputs     map[string]NodeOutput `json:"outputs,omitempty"`
	Inputs      map[string]NodeInput  `json:"inputs,omitempty"`
	Parameter   Parameter             `json:"parameter,omitempty"`
}

type Parameter

type Parameter interface {
	ValueType() string
	DisplayName() string
}

type ParameterBase

type ParameterBase struct {
	Name        string `json:"name"`
	Description string `json:"description"`
	Type        string `json:"type"`
}

func (ParameterBase) DisplayName

func (gps ParameterBase) DisplayName() string

func (ParameterBase) ValueType

func (gps ParameterBase) ValueType() string

type PersistedVariable added in v0.28.0

type PersistedVariable struct {
	Description string          `json:"description"`
	Data        json.RawMessage `json:"data"`
}

type PortReference added in v0.23.0

type PortReference struct {
	NodeId   string `json:"id"`
	PortName string `json:"port"`
}

type Producer

type Producer struct {
	NodeID string `json:"nodeID"`
	Port   string `json:"port"` // Name of node out port
}

type RuntimeVariable added in v0.28.0

type RuntimeVariable struct {
	Description string `json:"description"`
	Type        string `json:"type"`
	Value       any    `json:"value"`
}

type WebColor added in v0.32.2

type WebColor struct {
	R byte
	G byte
	B byte
	A byte
}

func (WebColor) MarshalJSON added in v0.32.2

func (c WebColor) MarshalJSON() ([]byte, error)

func (WebColor) RGBA added in v0.32.2

func (c WebColor) RGBA() (r, g, b, a uint32)

func (WebColor) RGBA8 added in v0.32.2

func (c WebColor) RGBA8() color.RGBA

func (*WebColor) UnmarshalJSON added in v0.32.2

func (c *WebColor) UnmarshalJSON(data []byte) error

type WebScene added in v0.21.3

type WebScene struct {
	RenderWireframe bool        `json:"renderWireframe"`
	AntiAlias       bool        `json:"antiAlias"`
	XrEnabled       bool        `json:"xrEnabled"`
	Fog             WebSceneFog `json:"fog"`
	Background      WebColor    `json:"background"`
	Lighting        WebColor    `json:"lighting"`
	Ground          WebColor    `json:"ground"`
}

type WebSceneFog added in v0.21.3

type WebSceneFog struct {
	Color WebColor `json:"color"`
	Near  float32  `json:"near"`
	Far   float32  `json:"far"`
}

Jump to

Keyboard shortcuts

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