assetconfig

package
v0.0.17 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CategoryNames = map[string]string{
	"inspector":     "Inspector",
	"validation":    "Validation",
	"serialization": "Serialization",
	"animation":     "Animation",
}

CategoryNames maps a machine category key to its human-readable label.

View Source
var CategoryOrder = []string{"inspector", "validation", "serialization", "animation"}

CategoryOrder defines the stable display order for asset categories.

Functions

func ConfigFilePath

func ConfigFilePath() string

ConfigFilePath returns the full path to asset-config.json under the user's home directory. Initialised once on first call.

func IsEnabled

func IsEnabled(id string) (bool, error)

IsEnabled checks if a specific asset is enabled.

func Save

func Save(cfg *AssetConfig) error

Save writes the asset config to disk.

Types

type AssetConfig

type AssetConfig struct {
	Version string       `json:"version"`
	Assets  []AssetEntry `json:"assets"`

	// JuicyMode mirrors ui_juicy_mode in the shared asset-config.json. When on,
	// the connector's manage_ui attaches Game UI/UX Bible juice guidance to its
	// create responses. The Hera Settings window is the primary editor.
	JuicyMode bool `json:"ui_juicy_mode"`

	// DefaultCscPath/DefaultDotnetPath are written by the Hera Settings window.
	// The CLI doesn't edit them, but it must round-trip them so a CLI-side Save
	// (e.g. toggling an asset or juicy mode) doesn't drop a user's compiler paths.
	DefaultCscPath    string `json:"defaultCscPath,omitempty"`
	DefaultDotnetPath string `json:"defaultDotnetPath,omitempty"`
}

AssetConfig holds the full configuration.

func Load

func Load() (*AssetConfig, error)

Load reads the asset config from disk. Returns defaults if file doesn't exist.

func SetAssetEnabled

func SetAssetEnabled(id string, enabled bool) (*AssetConfig, error)

SetAssetEnabled sets the enabled state of an asset by ID.

func SetJuicyMode added in v0.0.17

func SetJuicyMode(enabled bool) (*AssetConfig, error)

SetJuicyMode sets the UI Juicy Mode flag and persists it.

func ToggleAsset

func ToggleAsset(id string) (*AssetConfig, error)

ToggleAsset flips the enabled state of an asset by ID.

type AssetEntry

type AssetEntry struct {
	ID            string `json:"id"`
	Name          string `json:"name"`
	Enabled       bool   `json:"enabled"`
	Installed     bool   `json:"installed"`
	Category      string `json:"category"`
	Description   string `json:"description"`
	DocURL        string `json:"doc_url,omitempty"`
	ReferencePath string `json:"reference_path,omitempty"`
}

AssetEntry represents a single asset plugin entry.

func DefaultAssets

func DefaultAssets() []AssetEntry

DefaultAssets returns the built-in list of known asset plugins.

func GetEnabledAssets

func GetEnabledAssets() ([]AssetEntry, error)

GetEnabledAssets returns all enabled asset entries.

Jump to

Keyboard shortcuts

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