Documentation
¶
Index ¶
- Variables
- func ConfigFilePath() string
- func IsEnabled(id string) (bool, error)
- func LoadGameFeelModeNoCreate() bool
- func Save(cfg *AssetConfig) error
- type AssetConfig
- func Load() (*AssetConfig, error)
- func SetAssetEnabled(id string, enabled bool) (*AssetConfig, error)
- func SetGameFeelMode(enabled bool) (*AssetConfig, error)
- func SetGameFeelUIMode(enabled bool) (*AssetConfig, error)
- func SetLoopEngineeringMode(mode LoopEngineeringMode) (*AssetConfig, error)
- func ToggleAsset(id string) (*AssetConfig, error)
- type AssetEntry
- type LoopEngineeringMode
Constants ¶
This section is empty.
Variables ¶
var CategoryNames = map[string]string{
"inspector": "Inspector",
"validation": "Validation",
"serialization": "Serialization",
"animation": "Animation",
}
CategoryNames maps a machine category key to its human-readable label.
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 LoadGameFeelModeNoCreate ¶ added in v0.0.37
func LoadGameFeelModeNoCreate() bool
LoadGameFeelModeNoCreate reads only the Game Feel Mode (Beta) flag for agent-rules generation. Missing or unreadable config reads as off without writing a config file.
Types ¶
type AssetConfig ¶
type AssetConfig struct {
Version string `json:"version"`
Assets []AssetEntry `json:"assets"`
LoopEngineeringMode LoopEngineeringMode `json:"loopEngineeringMode"`
// GameFeelUIMode mirrors game_feel_ui_mode in the shared asset-config.json.
// When on, the connector's manage_ui attaches Game Feel & Juice Bible + UI
// Feedback Design Guide juice guidance to its create responses. The Hera
// Settings window is the primary editor. (Persisted under the old
// `ui_juicy_mode` key before the Game Feel UI Mode rename; Load migrates
// that key transparently.)
GameFeelUIMode bool `json:"game_feel_ui_mode"`
// GameFeelMode mirrors game_feel_mode — the gameplay-wide Game Feel Mode
// (Beta). When on, `doctor --agent-rules` and connector tool responses point
// agents at the bundled game_feel knowledge base (Game Feel & Juice Bible +
// Ethical Engagement Framework).
GameFeelMode bool `json:"game_feel_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 Game Feel UI 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 SetGameFeelMode ¶ added in v0.0.37
func SetGameFeelMode(enabled bool) (*AssetConfig, error)
SetGameFeelMode sets the Game Feel Mode (Beta) flag and persists it.
func SetGameFeelUIMode ¶ added in v0.0.37
func SetGameFeelUIMode(enabled bool) (*AssetConfig, error)
SetGameFeelUIMode sets the Game Feel UI Mode (Beta) flag and persists it.
func SetLoopEngineeringMode ¶ added in v0.0.30
func SetLoopEngineeringMode(mode LoopEngineeringMode) (*AssetConfig, error)
SetLoopEngineeringMode sets the Ultra Hera verification mode 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.
type LoopEngineeringMode ¶ added in v0.0.30
type LoopEngineeringMode string
LoopEngineeringMode controls the Ultra Hera agent verification guidance.
const ( LoopEngineeringOff LoopEngineeringMode = "off" LoopEngineeringLight LoopEngineeringMode = "light" LoopEngineeringUltra LoopEngineeringMode = "ultra" )
func LoadLoopEngineeringModeNoCreate ¶ added in v0.0.30
func LoadLoopEngineeringModeNoCreate() LoopEngineeringMode
LoadLoopEngineeringModeNoCreate reads only Ultra Hera mode for agent-rules generation. Missing or unreadable config returns the default without writing.
func NormalizeLoopEngineeringMode ¶ added in v0.0.30
func NormalizeLoopEngineeringMode(mode string) LoopEngineeringMode
NormalizeLoopEngineeringMode accepts persisted/user-provided mode text and falls back to Light, the product default.