@almadar/std 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../behaviors/types.ts","../../behaviors/action-affinity.ts","../../behaviors/ui-interaction.ts","../../behaviors/data-management.ts","../../behaviors/async.ts","../../behaviors/feedback.ts","../../behaviors/game-core.ts","../../behaviors/game-entity.ts","../../behaviors/game-ui.ts","../../behaviors/registry.ts"],"names":["FILTER_BEHAVIOR"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Standard Behaviors Types\n *\n * Standard Behaviors are reusable OrbitalSchema definitions with a `std-` naming convention.\n * Each behavior is a self-contained .orb file that can function independently.\n *\n * @packageDocumentation\n */\n\nimport type {\n SExpr,\n RequiredField,\n Effect,\n Expression,\n Trait,\n TraitCategory,\n StateMachine,\n State,\n Event,\n Transition,\n Guard,\n TraitTick,\n TraitDataEntity,\n TraitEntityField,\n TraitEventListener,\n OrbitalSchema,\n Orbital,\n Entity,\n} from '@almadar/core/types';\n\n// Re-export core types for use in behaviors\nexport type {\n Effect,\n Expression,\n Trait,\n StateMachine,\n State,\n Event,\n Transition,\n Guard,\n TraitTick,\n TraitDataEntity,\n TraitEntityField,\n TraitCategory,\n OrbitalSchema,\n Orbital,\n Entity,\n};\n\n// ============================================================================\n// Legacy Type Aliases (for backward compatibility only)\n// ============================================================================\n\n/**\n * @deprecated Use OrbitalSchema directly. BehaviorTrait is kept for backward compatibility.\n */\nexport type BehaviorTrait = Trait;\n\n// ============================================================================\n// Item Action (for render_ui props)\n// ============================================================================\n\nexport interface ItemAction {\n label: string;\n event?: string;\n navigatesTo?: string;\n placement?: 'row' | 'bulk' | 'card' | 'footer' | 'header';\n variant?: 'primary' | 'secondary' | 'ghost' | 'danger';\n showWhen?: SExpr | string;\n}\n\n// ============================================================================\n// Behavior Metadata (for quick lookup and documentation)\n// ============================================================================\n\n/**\n * Behavior metadata extracted from a Trait for documentation purposes\n */\nexport interface BehaviorMetadata {\n name: string;\n category?: TraitCategory;\n description: string;\n states: string[];\n events: string[];\n tickCount: number;\n transitionCount: number;\n hasDataEntities: boolean;\n}\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\n/**\n * Extract metadata from a BehaviorTrait for documentation\n */\nexport function getBehaviorMetadata(behavior: BehaviorTrait): BehaviorMetadata {\n const sm = behavior.stateMachine;\n\n // Core types: State is always an object with name\n const states: string[] = (sm?.states || []).map(s => s.name);\n\n // Core types: Event is always an object with key\n const events: string[] = (sm?.events || []).map(e => e.key);\n\n return {\n name: behavior.name,\n category: behavior.category,\n description: behavior.description || '',\n states,\n events,\n tickCount: behavior.ticks?.length || 0,\n transitionCount: sm?.transitions?.length || 0,\n hasDataEntities: (behavior.dataEntities?.length || 0) > 0,\n };\n}\n\n/**\n * Validate behavior structure\n */\nexport function validateBehaviorStructure(behavior: BehaviorTrait): string[] {\n const errors: string[] = [];\n\n if (!behavior.name) {\n errors.push('Behavior must have a name');\n }\n\n if (!behavior.name.startsWith('std/')) {\n errors.push(`Behavior name should start with 'std/' (got: ${behavior.name})`);\n }\n\n const sm = behavior.stateMachine;\n if (sm) {\n if (!sm.states || sm.states.length === 0) {\n errors.push('State machine must have at least one state');\n }\n\n // Core types: check initial state using isInitial flag on State\n const hasInitialState = sm.states?.some(s => s.isInitial);\n if (!hasInitialState) {\n errors.push('State machine must have an initial state (set isInitial: true on one state)');\n }\n }\n\n return errors;\n}\n\n/**\n * Validate behavior events match transitions\n */\nexport function validateBehaviorEvents(behavior: BehaviorTrait): string[] {\n const errors: string[] = [];\n const sm = behavior.stateMachine;\n if (!sm) return errors;\n\n // Core types: Event is always an object with key\n const declaredEvents = new Set(\n (sm.events || []).map(e => e.key)\n );\n\n const transitionEvents = new Set(\n (sm.transitions || []).map(t => t.event)\n );\n\n for (const event of transitionEvents) {\n if (event && !declaredEvents.has(event)) {\n errors.push(`Transition uses undeclared event: ${event}`);\n }\n }\n\n return errors;\n}\n\n/**\n * Validate behavior states match transitions\n */\nexport function validateBehaviorStates(behavior: BehaviorTrait): string[] {\n const errors: string[] = [];\n const sm = behavior.stateMachine;\n if (!sm) return errors;\n\n // Core types: State is always an object with name\n const declaredStates = new Set(\n (sm.states || []).map(s => s.name)\n );\n\n for (const t of sm.transitions || []) {\n // Core types: from and to are both strings\n if (t.from && !declaredStates.has(t.from)) {\n errors.push(`Transition from undeclared state: ${t.from}`);\n }\n\n if (t.to && !declaredStates.has(t.to)) {\n errors.push(`Transition to undeclared state: ${t.to}`);\n }\n }\n\n return errors;\n}\n","/**\n * Action-Component Affinity Rules\n *\n * Defines which actions are valid on which components in the Closed Circuit pattern.\n * This enforces that behaviors only emit actions that make sense for their component context.\n *\n * The Closed Circuit pattern:\n * Behavior → render_ui → Component → User Action → Event Bus → Behavior\n *\n * @packageDocumentation\n */\n\n// ============================================================================\n// Action Affinity Types\n// ============================================================================\n\n/**\n * Action affinity definition for a component\n */\nexport interface ActionAffinity {\n /** Actions that are valid on this component */\n valid: string[];\n /** Actions that should NEVER appear on this component */\n invalid: string[];\n}\n\n/**\n * Action placement options\n */\nexport type ActionPlacement = 'row' | 'bulk' | 'card' | 'footer' | 'header';\n\n/**\n * Event naming convention for UI events\n */\nexport interface UIEventInfo {\n /** Event name (without UI: prefix) */\n event: string;\n /** Components that typically emit this event */\n emittedBy: string[];\n /** Expected payload shape */\n payload: Record<string, string>;\n /** Description of when this event is used */\n description: string;\n}\n\n// ============================================================================\n// Action-Component Affinity Matrix\n// ============================================================================\n\n/**\n * The action-component affinity matrix.\n * This defines which actions belong on which components.\n *\n * CRITICAL: Not all actions belong on all components.\n * The Closed Circuit pattern requires that actions match their component context.\n */\nexport const ACTION_AFFINITY: Record<string, ActionAffinity> = {\n // Display components - view data and trigger navigation/editing\n 'entity-table': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT', 'SORT', 'PAGE'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n 'entity-list': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n 'entity-cards': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n 'card-grid': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n\n // Header components - page-level actions\n 'page-header': {\n valid: ['CREATE', 'REFRESH', 'EXPORT', 'IMPORT', 'BACK', 'FILTER'],\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'SUBMIT'],\n },\n\n // Form components - data entry and submission\n 'form': {\n valid: ['SAVE', 'CANCEL', 'SUBMIT', 'CLOSE', 'RESET', 'FIELD_CHANGE', 'FIELD_BLUR'],\n invalid: ['VIEW', 'DELETE', 'CREATE', 'SELECT', 'EDIT'],\n },\n 'form-section': {\n valid: ['FIELD_CHANGE', 'FIELD_BLUR'],\n invalid: ['SAVE', 'VIEW', 'DELETE', 'CREATE', 'SELECT', 'EDIT'],\n },\n 'form-actions': {\n valid: ['SAVE', 'CANCEL', 'SUBMIT', 'RESET'],\n invalid: ['VIEW', 'DELETE', 'CREATE', 'SELECT', 'EDIT'],\n },\n\n // Detail components - view single entity with edit/delete options\n 'detail-panel': {\n valid: ['EDIT', 'DELETE', 'CLOSE', 'BACK'],\n invalid: ['SAVE', 'CREATE', 'SELECT', 'SUBMIT'],\n },\n 'entity-detail': {\n valid: ['EDIT', 'DELETE', 'CLOSE', 'BACK'],\n invalid: ['SAVE', 'CREATE', 'SELECT', 'SUBMIT'],\n },\n\n // Container components - open/close states\n 'modal': {\n valid: ['CLOSE', 'CONFIRM', 'CANCEL'],\n invalid: ['VIEW', 'CREATE', 'EDIT', 'DELETE'],\n },\n 'modal-container': {\n valid: ['CLOSE', 'CONFIRM', 'CANCEL'],\n invalid: ['VIEW', 'CREATE', 'EDIT', 'DELETE'],\n },\n 'drawer': {\n valid: ['CLOSE'],\n invalid: ['VIEW', 'CREATE', 'DELETE'],\n },\n\n // Navigation components\n 'tabs': {\n valid: ['SELECT_TAB'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'tab-bar': {\n valid: ['SELECT_TAB'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'wizard-navigation': {\n valid: ['NEXT', 'PREV', 'GO_TO', 'COMPLETE'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'wizard-progress': {\n valid: ['GO_TO'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT', 'NEXT', 'PREV'],\n },\n\n // Filter components\n 'filter-group': {\n valid: ['SET_FILTER', 'CLEAR_FILTER', 'CLEAR_ALL'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'search-bar': {\n valid: ['SEARCH', 'CLEAR_SEARCH'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'search-input': {\n valid: ['SEARCH', 'CLEAR_SEARCH'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n\n // Pagination components\n 'pagination': {\n valid: ['NEXT_PAGE', 'PREV_PAGE', 'GO_TO_PAGE', 'SET_PAGE_SIZE'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n\n // Confirmation components\n 'confirm-dialog': {\n valid: ['CONFIRM', 'CANCEL'],\n invalid: ['VIEW', 'CREATE', 'EDIT', 'DELETE', 'SAVE'],\n },\n\n // Empty/Loading states - no actions\n 'empty-state': {\n valid: ['CREATE'], // Often has a \"Create first item\" CTA\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'CANCEL'],\n },\n 'loading-state': {\n valid: [],\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'CREATE', 'CANCEL'],\n },\n\n // Stats/Dashboard - view only\n 'stats': {\n valid: [],\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'CREATE', 'CANCEL'],\n },\n\n // Game components\n 'game-canvas': {\n valid: ['INPUT', 'PAUSE', 'UNPAUSE'],\n invalid: ['SAVE', 'CREATE', 'DELETE'],\n },\n 'game-hud': {\n valid: ['PAUSE'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-controls': {\n valid: ['INPUT', 'ACTION'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-menu': {\n valid: ['START', 'OPTIONS', 'QUIT', 'SELECT'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-pause-overlay': {\n valid: ['RESUME', 'QUIT', 'OPTIONS'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-over-screen': {\n valid: ['RETRY', 'QUIT', 'MAIN_MENU'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n};\n\n// ============================================================================\n// UI Event Definitions\n// ============================================================================\n\n/**\n * Standard UI events and their metadata\n */\nexport const UI_EVENTS: Record<string, UIEventInfo> = {\n VIEW: {\n event: 'VIEW',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards', 'card-grid'],\n payload: { row: 'object', entity: 'string' },\n description: 'View item detail',\n },\n EDIT: {\n event: 'EDIT',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards', 'detail-panel'],\n payload: { row: 'object', entity: 'string' },\n description: 'Edit item',\n },\n DELETE: {\n event: 'DELETE',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards', 'detail-panel'],\n payload: { row: 'object', entity: 'string' },\n description: 'Delete item',\n },\n CREATE: {\n event: 'CREATE',\n emittedBy: ['page-header', 'empty-state'],\n payload: { entity: 'string' },\n description: 'Create new item',\n },\n SAVE: {\n event: 'SAVE',\n emittedBy: ['form', 'form-actions'],\n payload: { data: 'object', entity: 'string' },\n description: 'Save form data',\n },\n CANCEL: {\n event: 'CANCEL',\n emittedBy: ['form', 'form-actions', 'modal', 'confirm-dialog'],\n payload: {},\n description: 'Cancel form/modal',\n },\n CLOSE: {\n event: 'CLOSE',\n emittedBy: ['modal', 'drawer', 'detail-panel'],\n payload: {},\n description: 'Close modal/drawer',\n },\n SELECT: {\n event: 'SELECT',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards'],\n payload: { selectedIds: 'string[]' },\n description: 'Selection change',\n },\n SEARCH: {\n event: 'SEARCH',\n emittedBy: ['search-bar', 'search-input'],\n payload: { searchTerm: 'string' },\n description: 'Search filter',\n },\n CONFIRM: {\n event: 'CONFIRM',\n emittedBy: ['modal', 'confirm-dialog'],\n payload: {},\n description: 'Confirm action',\n },\n SELECT_TAB: {\n event: 'SELECT_TAB',\n emittedBy: ['tabs', 'tab-bar'],\n payload: { tabId: 'string' },\n description: 'Tab selection',\n },\n NEXT: {\n event: 'NEXT',\n emittedBy: ['wizard-navigation'],\n payload: {},\n description: 'Wizard next step',\n },\n PREV: {\n event: 'PREV',\n emittedBy: ['wizard-navigation'],\n payload: {},\n description: 'Wizard previous step',\n },\n};\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\n/**\n * Check if an action is valid for a component\n */\nexport function isActionValidForComponent(action: string, component: string): boolean {\n const affinity = ACTION_AFFINITY[component];\n if (!affinity) {\n // Unknown component - allow by default but warn\n return true;\n }\n return affinity.valid.includes(action) || !affinity.invalid.includes(action);\n}\n\n/**\n * Check if an action is explicitly invalid for a component\n */\nexport function isActionInvalidForComponent(action: string, component: string): boolean {\n const affinity = ACTION_AFFINITY[component];\n if (!affinity) {\n return false;\n }\n return affinity.invalid.includes(action);\n}\n\n/**\n * Get valid actions for a component\n */\nexport function getValidActionsForComponent(component: string): string[] {\n const affinity = ACTION_AFFINITY[component];\n return affinity?.valid ?? [];\n}\n\n/**\n * Get invalid actions for a component\n */\nexport function getInvalidActionsForComponent(component: string): string[] {\n const affinity = ACTION_AFFINITY[component];\n return affinity?.invalid ?? [];\n}\n\n/**\n * Get components that can emit a specific event\n */\nexport function getComponentsForEvent(event: string): string[] {\n return UI_EVENTS[event]?.emittedBy ?? [];\n}\n\n/**\n * Validate that a set of item actions are appropriate for a component\n *\n * @returns Array of validation errors (empty if valid)\n */\nexport function validateActionsForComponent(\n actions: Array<{ event?: string; label?: string }>,\n component: string\n): string[] {\n const errors: string[] = [];\n const affinity = ACTION_AFFINITY[component];\n\n if (!affinity) {\n // Unknown component - no validation\n return errors;\n }\n\n for (const action of actions) {\n if (action.event && affinity.invalid.includes(action.event)) {\n errors.push(\n `Action \"${action.event}\" is not valid on \"${component}\". ` +\n `Valid actions: ${affinity.valid.join(', ')}`\n );\n }\n }\n\n return errors;\n}\n\n/**\n * Get all known components in the affinity matrix\n */\nexport function getAllKnownComponents(): string[] {\n return Object.keys(ACTION_AFFINITY);\n}\n\n/**\n * Get all components by category\n */\nexport function getComponentsByCategory(): Record<string, string[]> {\n return {\n display: ['entity-table', 'entity-list', 'entity-cards', 'card-grid'],\n header: ['page-header'],\n form: ['form', 'form-section', 'form-actions'],\n detail: ['detail-panel', 'entity-detail'],\n container: ['modal', 'modal-container', 'drawer'],\n navigation: ['tabs', 'tab-bar', 'wizard-navigation', 'wizard-progress'],\n filter: ['filter-group', 'search-bar', 'search-input'],\n pagination: ['pagination'],\n confirmation: ['confirm-dialog'],\n state: ['empty-state', 'loading-state'],\n dashboard: ['stats'],\n game: [\n 'game-canvas',\n 'game-hud',\n 'game-controls',\n 'game-menu',\n 'game-pause-overlay',\n 'game-over-screen',\n ],\n };\n}\n","/**\n * UI Interaction Behaviors\n *\n * Standard behaviors for common UI interaction patterns.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-list - Entity List Management\n// ============================================================================\n\n/**\n * std-list - The core behavior for displaying and interacting with entity collections.\n *\n * States: Browsing → Creating/Viewing/Editing/Deleting\n * Implements complete CRUD operations with modal/drawer UI patterns.\n */\nexport const LIST_BEHAVIOR: OrbitalSchema = {\n name: 'std-list',\n version: '1.0.0',\n description: 'Entity list management with CRUD operations',\n orbitals: [\n {\n name: 'ListOrbital',\n entity: {\n name: 'ListState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selectedId', type: 'string', default: null },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'title', type: 'string', default: 'Items' },\n { name: 'columns', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'List',\n linkedEntity: 'ListState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'Creating' },\n { name: 'Viewing' },\n { name: 'Editing' },\n { name: 'Deleting' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'CREATE', name: 'Create' },\n { key: 'VIEW', name: 'View' },\n { key: 'EDIT', name: 'Edit' },\n { key: 'DELETE', name: 'Delete' },\n { key: 'CONFIRM_DELETE', name: 'Confirm Delete' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'SAVE', name: 'Save' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'page-header',\n title: '@entity.title',\n actions: [{ label: 'Create', event: 'CREATE', variant: 'primary' }],\n }],\n ['render-ui', 'main', {\n type: 'entity-table',\n entity: '@entity.entityType',\n columns: '@entity.columns',\n itemActions: [\n { label: 'View', event: 'VIEW', placement: 'row' },\n { label: 'Edit', event: 'EDIT', placement: 'row' },\n { label: 'Delete', event: 'DELETE', variant: 'danger', placement: 'row' },\n ],\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Creating',\n event: 'CREATE',\n effects: [\n ['render-ui', 'modal', {\n type: 'form-section',\n entity: '@entity.entityType',\n mode: 'create',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Viewing',\n event: 'VIEW',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'drawer', {\n type: 'entity-detail',\n entity: '@entity.entityType',\n data: '@payload.id',\n actions: [\n { label: 'Edit', event: 'EDIT' },\n { label: 'Close', event: 'CANCEL' },\n ],\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Editing',\n event: 'EDIT',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'drawer', {\n type: 'form-section',\n entity: '@entity.entityType',\n initialData: '@payload.id',\n mode: 'edit',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Viewing',\n to: 'Editing',\n event: 'EDIT',\n effects: [\n ['render-ui', 'drawer', {\n type: 'form-section',\n entity: '@entity.entityType',\n initialData: '@entity.selectedId',\n mode: 'edit',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Deleting',\n event: 'DELETE',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'modal', {\n type: 'confirm-dialog',\n isOpen: true,\n onClose: 'CANCEL',\n onConfirm: 'CONFIRM_DELETE',\n title: 'Delete Confirmation',\n message: 'Are you sure you want to delete this item?',\n confirmText: 'Delete',\n variant: 'danger',\n }],\n ],\n },\n {\n from: 'Creating',\n to: 'Browsing',\n event: 'SAVE',\n effects: [\n ['persist', 'create', '@entity.entityType', '@payload.data'],\n ['notify', 'in_app', 'Created successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Editing',\n to: 'Browsing',\n event: 'SAVE',\n effects: [\n ['persist', 'update', '@entity.entityType', '@payload.data'],\n ['notify', 'in_app', 'Updated successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Deleting',\n to: 'Browsing',\n event: 'CONFIRM_DELETE',\n effects: [\n ['persist', 'delete', '@entity.entityType', '@entity.selectedId'],\n ['notify', 'in_app', 'Deleted successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Creating',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n {\n from: 'Viewing',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n {\n from: 'Editing',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n {\n from: 'Deleting',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-detail - Single Entity View\n// ============================================================================\n\nexport const DETAIL_BEHAVIOR: OrbitalSchema = {\n name: 'std-detail',\n version: '1.0.0',\n description: 'Single entity view with edit/delete capabilities',\n orbitals: [\n {\n name: 'DetailOrbital',\n entity: {\n name: 'DetailState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'entityId', type: 'string', default: null },\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'hasChanges', type: 'boolean', default: false },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'fields', type: 'array', default: [] },\n { name: 'returnUrl', type: 'string', default: '/' },\n ],\n },\n traits: [\n {\n name: 'Detail',\n linkedEntity: 'DetailState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Viewing', isInitial: true },\n { name: 'Editing' },\n { name: 'Deleting' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'EDIT', name: 'Edit' },\n { key: 'SAVE', name: 'Save' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'DELETE', name: 'Delete' },\n { key: 'CONFIRM_DELETE', name: 'Confirm Delete' },\n ],\n transitions: [\n {\n from: 'Viewing',\n to: 'Viewing',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'page-header',\n title: '@entity.name',\n actions: [\n { label: 'Edit', event: 'EDIT' },\n { label: 'Delete', event: 'DELETE', variant: 'danger' },\n ],\n }],\n ['render-ui', 'main', {\n type: 'entity-detail',\n entity: '@entity.entityType',\n fieldNames: '@entity.fields',\n }],\n ],\n },\n {\n from: 'Viewing',\n to: 'Editing',\n event: 'EDIT',\n effects: [\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n mode: 'edit',\n fields: '@entity.fields',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Editing',\n to: 'Viewing',\n event: 'SAVE',\n effects: [\n ['persist', 'update', '@entity.entityType', '@payload.data'],\n ['notify', 'in_app', 'Updated successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Editing',\n to: 'Viewing',\n event: 'CANCEL',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'Viewing',\n to: 'Deleting',\n event: 'DELETE',\n effects: [\n ['render-ui', 'modal', {\n type: 'confirm-dialog',\n isOpen: true,\n onClose: 'CANCEL',\n onConfirm: 'CONFIRM',\n title: 'Delete Confirmation',\n message: 'Are you sure you want to delete this item?',\n }],\n ],\n },\n {\n from: 'Deleting',\n to: 'Viewing',\n event: 'CONFIRM_DELETE',\n effects: [\n ['persist', 'delete', '@entity.entityType', '@entity.id'],\n ['navigate', '@entity.returnUrl'],\n ],\n },\n {\n from: 'Deleting',\n to: 'Viewing',\n event: 'CANCEL',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-form - Form State Management\n// ============================================================================\n\nexport const FORM_BEHAVIOR: OrbitalSchema = {\n name: 'std-form',\n version: '1.0.0',\n description: 'Form state management with validation and submission',\n orbitals: [\n {\n name: 'FormOrbital',\n entity: {\n name: 'FormState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'values', type: 'object', default: {} },\n { name: 'errors', type: 'object', default: {} },\n { name: 'touched', type: 'object', default: {} },\n { name: 'isDirty', type: 'boolean', default: false },\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'fields', type: 'array', default: [] },\n { name: 'mode', type: 'string', default: 'create' },\n { name: 'validation', type: 'object', default: {} },\n { name: 'cancelEvent', type: 'string', default: 'CANCEL' },\n { name: 'submitEvent', type: 'string', default: 'SUBMIT_SUCCESS' },\n ],\n },\n traits: [\n {\n name: 'Form',\n linkedEntity: 'FormState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Editing' },\n { name: 'Validating' },\n { name: 'Submitting' },\n { name: 'Success', isTerminal: true },\n { name: 'Error' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FIELD_CHANGE', name: 'Field Change' },\n { key: 'FIELD_BLUR', name: 'Field Blur' },\n { key: 'SUBMIT', name: 'Submit' },\n { key: 'VALIDATION_PASSED', name: 'Validation Passed' },\n { key: 'VALIDATION_FAILED', name: 'Validation Failed' },\n { key: 'SUBMIT_SUCCESS', name: 'Submit Success' },\n { key: 'SUBMIT_ERROR', name: 'Submit Error' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Editing',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n fields: '@entity.fields',\n initialData: '@entity.values',\n onSubmit: 'SUBMIT',\n onCancel: '@entity.cancelEvent',\n }],\n ],\n },\n {\n from: 'Editing',\n to: 'Editing',\n event: 'FIELD_CHANGE',\n effects: [\n ['set', '@entity.values', ['object/set', '@entity.values', '@payload.field', '@payload.value']],\n ['set', '@entity.isDirty', true],\n ],\n },\n {\n from: 'Editing',\n to: 'Editing',\n event: 'FIELD_BLUR',\n effects: [\n ['set', '@entity.touched', ['object/set', '@entity.touched', '@payload.field', true]],\n ],\n },\n {\n from: 'Editing',\n to: 'Validating',\n event: 'SUBMIT',\n effects: [\n ['let', [['result', ['validate/check', '@entity.values', '@entity.validation']]],\n ['if', '@result.valid',\n ['emit', 'VALIDATION_PASSED'],\n ['do',\n ['set', '@entity.errors', '@result.errors'],\n ['emit', 'VALIDATION_FAILED']]]],\n ],\n },\n {\n from: 'Validating',\n to: 'Submitting',\n event: 'VALIDATION_PASSED',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['if', ['=', '@entity.mode', 'create'],\n ['persist', 'create', '@entity.entityType', '@entity.values'],\n ['persist', 'update', '@entity.entityType', '@entity.values']],\n ],\n },\n {\n from: 'Validating',\n to: 'Editing',\n event: 'VALIDATION_FAILED',\n effects: [\n ['notify', 'in_app', 'Please fix the validation errors'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', 'in_app', 'Saved successfully'],\n ['emit', '@entity.submitEvent', { data: '@entity.values' }],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.errors', { _form: '@payload.error' }],\n ['notify', 'in_app', '@payload.error'],\n ],\n },\n {\n from: 'Editing',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.values', {}],\n ['set', '@entity.errors', {}],\n ['set', '@entity.touched', {}],\n ['set', '@entity.isDirty', false],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.values', {}],\n ['set', '@entity.errors', {}],\n ['set', '@entity.touched', {}],\n ['set', '@entity.isDirty', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-modal - Modal Dialog\n// ============================================================================\n\nexport const MODAL_BEHAVIOR: OrbitalSchema = {\n name: 'std-modal',\n version: '1.0.0',\n description: 'Modal dialog with open/close state management',\n orbitals: [\n {\n name: 'ModalOrbital',\n entity: {\n name: 'ModalState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'content', type: 'object', default: null },\n ],\n },\n traits: [\n {\n name: 'Modal',\n linkedEntity: 'ModalState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Closed', isInitial: true },\n { name: 'Open' },\n ],\n events: [\n { key: 'OPEN', name: 'Open' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CONFIRM', name: 'Confirm' },\n ],\n transitions: [\n {\n from: 'Closed',\n to: 'Open',\n event: 'OPEN',\n effects: [\n ['set', '@entity.content', '@payload.content'],\n ['render-ui', 'modal', {\n type: 'modal',\n isOpen: true,\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CLOSE',\n effects: [],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CONFIRM',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-drawer - Side Drawer Panel\n// ============================================================================\n\nexport const DRAWER_BEHAVIOR: OrbitalSchema = {\n name: 'std-drawer',\n version: '1.0.0',\n description: 'Side drawer panel for detail views and forms',\n orbitals: [\n {\n name: 'DrawerOrbital',\n entity: {\n name: 'DrawerState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'content', type: 'object', default: null },\n ],\n },\n traits: [\n {\n name: 'Drawer',\n linkedEntity: 'DrawerState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Closed', isInitial: true },\n { name: 'Open' },\n ],\n events: [\n { key: 'OPEN', name: 'Open' },\n { key: 'CLOSE', name: 'Close' },\n ],\n transitions: [\n {\n from: 'Closed',\n to: 'Open',\n event: 'OPEN',\n effects: [\n ['set', '@entity.content', '@payload.content'],\n ['render-ui', 'drawer', {\n type: 'drawer',\n isOpen: true,\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CLOSE',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-tabs - Tabbed Navigation\n// ============================================================================\n\nexport const TABS_BEHAVIOR: OrbitalSchema = {\n name: 'std-tabs',\n version: '1.0.0',\n description: 'Tabbed navigation within a page',\n orbitals: [\n {\n name: 'TabsOrbital',\n entity: {\n name: 'TabsState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'activeTab', type: 'string', default: null },\n { name: 'tabs', type: 'array', default: [] },\n { name: 'defaultTab', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Tabs',\n linkedEntity: 'TabsState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_TAB', name: 'Select Tab' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.activeTab', '@entity.defaultTab'],\n ['render-ui', 'main', {\n type: 'tabs',\n tabs: '@entity.tabs',\n activeTab: '@entity.activeTab',\n onTabChange: 'SELECT_TAB',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT_TAB',\n effects: [['set', '@entity.activeTab', '@payload.tabId']],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-wizard - Multi-Step Flow\n// ============================================================================\n\nexport const WIZARD_BEHAVIOR: OrbitalSchema = {\n name: 'std-wizard',\n version: '1.0.0',\n description: 'Multi-step wizard flow - each step is a state',\n orbitals: [\n {\n name: 'WizardOrbital',\n entity: {\n name: 'WizardState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'stepData', type: 'object', default: {} },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'step1Fields', type: 'array', default: [] },\n { name: 'step2Fields', type: 'array', default: [] },\n { name: 'completionUrl', type: 'string', default: '/' },\n ],\n },\n traits: [\n {\n name: 'Wizard',\n linkedEntity: 'WizardState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Step1', isInitial: true },\n { name: 'Step2' },\n { name: 'Step3' },\n { name: 'Complete', isTerminal: true },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEXT', name: 'Next' },\n { key: 'PREV', name: 'Previous' },\n { key: 'COMPLETE', name: 'Complete' },\n ],\n transitions: [\n {\n from: 'Step1',\n to: 'Step1',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'wizard-progress',\n steps: ['Step 1', 'Step 2', 'Step 3'],\n currentStep: 0,\n }],\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n fields: '@entity.step1Fields',\n onSubmit: 'NEXT',\n }],\n ],\n },\n {\n from: 'Step1',\n to: 'Step2',\n event: 'NEXT',\n effects: [\n ['set', '@entity.stepData.step1', '@payload'],\n ['render-ui', 'main', {\n type: 'wizard-progress',\n steps: ['Step 1', 'Step 2', 'Step 3'],\n currentStep: 1,\n }],\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n fields: '@entity.step2Fields',\n onSubmit: 'NEXT',\n onCancel: 'PREV',\n }],\n ],\n },\n {\n from: 'Step2',\n to: 'Step1',\n event: 'PREV',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'Step2',\n to: 'Step3',\n event: 'NEXT',\n effects: [\n ['set', '@entity.stepData.step2', '@payload'],\n ['render-ui', 'main', {\n type: 'wizard-progress',\n steps: ['Step 1', 'Step 2', 'Step 3'],\n currentStep: 2,\n }],\n ['render-ui', 'main', {\n type: 'entity-detail',\n entity: '@entity.entityType',\n fieldNames: ['step1', 'step2'],\n title: 'Review',\n }],\n ],\n },\n {\n from: 'Step3',\n to: 'Step2',\n event: 'PREV',\n effects: [],\n },\n {\n from: 'Step3',\n to: 'Complete',\n event: 'COMPLETE',\n effects: [\n ['persist', 'create', '@entity.entityType', '@entity.stepData'],\n ['notify', 'in_app', 'Wizard completed!'],\n ['navigate', '@entity.completionUrl'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-masterdetail - List + Detail Layout\n// ============================================================================\n\nexport const MASTER_DETAIL_BEHAVIOR: OrbitalSchema = {\n name: 'std-masterdetail',\n version: '1.0.0',\n description: 'Master-detail layout with synchronized list and detail views',\n orbitals: [\n {\n name: 'MasterDetailOrbital',\n entity: {\n name: 'MasterDetailState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selectedId', type: 'string', default: null },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'masterColumns', type: 'array', default: [] },\n { name: 'detailFields', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'MasterDetail',\n linkedEntity: 'MasterDetailState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'NoSelection', isInitial: true },\n { name: 'Selected' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select' },\n { key: 'DESELECT', name: 'Deselect' },\n ],\n transitions: [\n {\n from: 'NoSelection',\n to: 'NoSelection',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'master-detail',\n master: '@entity.entityType',\n detail: '@entity.selectedId',\n hasSelection: '@entity.hasSelection',\n }],\n ['render-ui', 'main', {\n type: 'empty-state',\n message: 'Select an item to view details',\n }],\n ],\n },\n {\n from: 'NoSelection',\n to: 'Selected',\n event: 'SELECT',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'main', {\n type: 'entity-detail',\n entity: '@entity.entityType',\n data: '@payload.id',\n fieldNames: '@entity.detailFields',\n }],\n ],\n },\n {\n from: 'Selected',\n to: 'Selected',\n event: 'SELECT',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'main', {\n type: 'entity-detail',\n entity: '@entity.entityType',\n data: '@payload.id',\n fieldNames: '@entity.detailFields',\n }],\n ],\n },\n {\n from: 'Selected',\n to: 'NoSelection',\n event: 'DESELECT',\n effects: [\n ['set', '@entity.selectedId', null],\n ['render-ui', 'main', {\n type: 'empty-state',\n message: 'Select an item to view details',\n }],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-filter - Filter Management (ui-interaction version)\n// ============================================================================\n\nexport const FILTER_BEHAVIOR: OrbitalSchema = {\n name: 'std-filter-ui',\n version: '1.0.0',\n description: 'Filter and search management for lists',\n orbitals: [\n {\n name: 'FilterOrbital',\n entity: {\n name: 'FilterState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'filters', type: 'object', default: {} },\n { name: 'searchTerm', type: 'string', default: '' },\n { name: 'filterConfig', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'Filter',\n linkedEntity: 'FilterState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Filtering' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SET_FILTER', name: 'Set Filter' },\n { key: 'CLEAR_FILTERS', name: 'Clear Filters' },\n { key: 'SEARCH', name: 'Search' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'filter-group',\n entity: '@entity.entityType',\n filters: '@entity.filterConfig',\n onFilterChange: 'SET_FILTER',\n onClearAll: 'CLEAR_FILTERS',\n }],\n ],\n },\n {\n from: 'Idle',\n to: 'Filtering',\n event: 'SET_FILTER',\n effects: [\n ['set', '@entity.filters', ['object/set', '@entity.filters', '@payload.field', '@payload.value']],\n ['emit', 'FILTER_CHANGED', '@entity.filters'],\n ],\n },\n {\n from: 'Filtering',\n to: 'Idle',\n event: 'SET_FILTER',\n effects: [\n ['set', '@entity.filters', ['object/set', '@entity.filters', '@payload.field', '@payload.value']],\n ['emit', 'FILTER_CHANGED', '@entity.filters'],\n ],\n },\n {\n from: 'Filtering',\n to: 'Idle',\n event: 'CLEAR_FILTERS',\n effects: [\n ['set', '@entity.filters', {}],\n ['set', '@entity.searchTerm', ''],\n ['emit', 'FILTER_CHANGED', {}],\n ],\n },\n {\n from: 'Idle',\n to: 'Filtering',\n event: 'SEARCH',\n effects: [\n ['set', '@entity.searchTerm', '@payload.term'],\n ['emit', 'SEARCH_CHANGED', '@payload.term'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const UI_INTERACTION_BEHAVIORS: OrbitalSchema[] = [\n LIST_BEHAVIOR,\n DETAIL_BEHAVIOR,\n FORM_BEHAVIOR,\n MODAL_BEHAVIOR,\n DRAWER_BEHAVIOR,\n TABS_BEHAVIOR,\n WIZARD_BEHAVIOR,\n MASTER_DETAIL_BEHAVIOR,\n FILTER_BEHAVIOR,\n];\n","/**\n * Data Management Behaviors\n *\n * Standard behaviors for data operations like pagination, selection,\n * sorting, filtering, and search.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-pagination - Page Navigation\n// ============================================================================\n\n/**\n * std-pagination - Page navigation behavior for large data sets.\n */\nexport const PAGINATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-pagination',\n version: '1.0.0',\n description: 'Page-based navigation for large data sets',\n orbitals: [\n {\n name: 'PaginationOrbital',\n entity: {\n name: 'PaginationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'page', type: 'number', default: 1 },\n { name: 'pageSize', type: 'number', default: 20 },\n { name: 'totalItems', type: 'number', default: 0 },\n { name: 'defaultPageSize', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Pagination',\n linkedEntity: 'PaginationState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEXT_PAGE', name: 'Next Page' },\n { key: 'PREV_PAGE', name: 'Previous Page' },\n { key: 'GO_TO_PAGE', name: 'Go to Page' },\n { key: 'SET_PAGE_SIZE', name: 'Set Page Size' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.page', 1],\n ['set', '@entity.pageSize', '@entity.defaultPageSize'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'NEXT_PAGE',\n guard: ['<', '@entity.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]],\n effects: [['set', '@entity.page', ['+', '@entity.page', 1]]],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'PREV_PAGE',\n guard: ['>', '@entity.page', 1],\n effects: [['set', '@entity.page', ['-', '@entity.page', 1]]],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GO_TO_PAGE',\n guard: ['and',\n ['>=', '@payload.page', 1],\n ['<=', '@payload.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]]],\n effects: [['set', '@entity.page', '@payload.page']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SET_PAGE_SIZE',\n effects: [\n ['set', '@entity.pageSize', '@payload.size'],\n ['set', '@entity.page', 1],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-selection - Single/Multi Selection\n// ============================================================================\n\nexport const SELECTION_BEHAVIOR: OrbitalSchema = {\n name: 'std-selection',\n version: '1.0.0',\n description: 'Single or multi-selection management',\n orbitals: [\n {\n name: 'SelectionOrbital',\n entity: {\n name: 'SelectionState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selected', type: 'array', default: [] },\n { name: 'lastSelected', type: 'string', default: null },\n { name: 'mode', type: 'string', default: 'multi' },\n { name: 'maxSelection', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Selection',\n linkedEntity: 'SelectionState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select' },\n { key: 'DESELECT', name: 'Deselect' },\n { key: 'TOGGLE', name: 'Toggle' },\n { key: 'SELECT_ALL', name: 'Select All' },\n { key: 'CLEAR', name: 'Clear' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.selected', []],\n ['set', '@entity.lastSelected', null],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT',\n effects: [\n ['if', ['=', '@entity.mode', 'single'],\n ['do',\n ['set', '@entity.selected', ['@payload.id']],\n ['set', '@entity.lastSelected', '@payload.id']],\n ['if', ['or',\n ['not', '@entity.maxSelection'],\n ['<', ['array/len', '@entity.selected'], '@entity.maxSelection']],\n ['do',\n ['set', '@entity.selected', ['array/append', '@entity.selected', '@payload.id']],\n ['set', '@entity.lastSelected', '@payload.id']],\n ['notify', 'in_app', 'Maximum selection reached']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'DESELECT',\n effects: [\n ['set', '@entity.selected', ['array/filter', '@entity.selected', ['fn', 'id', ['!=', '@id', '@payload.id']]]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TOGGLE',\n effects: [\n ['if', ['array/includes', '@entity.selected', '@payload.id'],\n ['set', '@entity.selected', ['array/filter', '@entity.selected', ['fn', 'id', ['!=', '@id', '@payload.id']]]],\n ['if', ['or', ['=', '@entity.mode', 'single'], ['or',\n ['not', '@entity.maxSelection'],\n ['<', ['array/len', '@entity.selected'], '@entity.maxSelection']]],\n ['set', '@entity.selected',\n ['if', ['=', '@entity.mode', 'single'],\n ['@payload.id'],\n ['array/append', '@entity.selected', '@payload.id']]],\n ['notify', 'in_app', 'Maximum selection reached']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT_ALL',\n guard: ['=', '@entity.mode', 'multi'],\n effects: [['set', '@entity.selected', '@payload.ids']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR',\n effects: [\n ['set', '@entity.selected', []],\n ['set', '@entity.lastSelected', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-sort - Sorting\n// ============================================================================\n\nexport const SORT_BEHAVIOR: OrbitalSchema = {\n name: 'std-sort',\n version: '1.0.0',\n description: 'Sorting by field with direction toggle',\n orbitals: [\n {\n name: 'SortOrbital',\n entity: {\n name: 'SortState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'sortField', type: 'string', default: null },\n { name: 'sortDirection', type: 'string', default: 'asc' },\n { name: 'defaultField', type: 'string', default: null },\n { name: 'defaultDirection', type: 'string', default: 'asc' },\n ],\n },\n traits: [\n {\n name: 'Sort',\n linkedEntity: 'SortState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SORT', name: 'Sort' },\n { key: 'TOGGLE_DIRECTION', name: 'Toggle Direction' },\n { key: 'CLEAR_SORT', name: 'Clear Sort' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.sortField', '@entity.defaultField'],\n ['set', '@entity.sortDirection', '@entity.defaultDirection'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SORT',\n effects: [\n ['if', ['=', '@entity.sortField', '@payload.field'],\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n ['do',\n ['set', '@entity.sortField', '@payload.field'],\n ['set', '@entity.sortDirection', 'asc']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TOGGLE_DIRECTION',\n guard: ['!=', '@entity.sortField', null],\n effects: [\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR_SORT',\n effects: [\n ['set', '@entity.sortField', null],\n ['set', '@entity.sortDirection', 'asc'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-filter - Query Singleton Pattern for Filtering\n// ============================================================================\n\n/**\n * std-filter - Query Singleton pattern for explicit filtering.\n *\n * This behavior uses a singleton entity to hold filter state, making filtering\n * explicit in the schema rather than implicit in component behavior.\n */\nexport const FILTER_BEHAVIOR: OrbitalSchema = {\n name: 'std-filter',\n version: '1.0.0',\n description: 'Query Singleton pattern for explicit filtering - use with entity-table query prop',\n orbitals: [\n {\n name: 'FilterOrbital',\n entity: {\n name: 'QueryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'status', type: 'string', default: null },\n { name: 'priority', type: 'string', default: null },\n { name: 'search', type: 'string', default: '' },\n { name: 'sortBy', type: 'string', default: 'createdAt' },\n { name: 'sortOrder', type: 'string', default: 'desc' },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'filters', type: 'array', default: [] },\n { name: 'columns', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'Filter',\n linkedEntity: 'QueryState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FILTER', name: 'Filter' },\n { key: 'SEARCH', name: 'Search' },\n { key: 'SORT', name: 'Sort' },\n { key: 'CLEAR_FILTERS', name: 'Clear Filters' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['render-ui', 'sidebar', {\n type: 'filter-group',\n entity: '@entity.entityType',\n query: '@QueryState',\n filters: '@entity.filters',\n }],\n ['render-ui', 'main', {\n type: 'entity-table',\n entity: '@entity.entityType',\n query: '@QueryState',\n columns: '@entity.columns',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'FILTER',\n effects: [\n ['set', '@QueryState.status', '@payload.status'],\n ['set', '@QueryState.priority', '@payload.priority'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SEARCH',\n effects: [['set', '@QueryState.search', '@payload.searchTerm']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SORT',\n effects: [\n ['set', '@QueryState.sortBy', '@payload.field'],\n ['set', '@QueryState.sortOrder', '@payload.order'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR_FILTERS',\n effects: [\n ['set', '@QueryState.status', null],\n ['set', '@QueryState.priority', null],\n ['set', '@QueryState.search', ''],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-search - Search with Debounce\n// ============================================================================\n\n/**\n * std-search - Search with debounce.\n */\nexport const SEARCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-search',\n version: '1.0.0',\n description: 'Search with debounce - updates QueryState.search field',\n orbitals: [\n {\n name: 'SearchOrbital',\n entity: {\n name: 'SearchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'search', type: 'string', default: '' },\n { name: 'isSearching', type: 'boolean', default: false },\n { name: 'minLength', type: 'number', default: 2 },\n { name: 'debounceMs', type: 'number', default: 300 },\n { name: 'placeholder', type: 'string', default: 'Search...' },\n ],\n },\n traits: [\n {\n name: 'Search',\n linkedEntity: 'SearchState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Searching' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SEARCH', name: 'Search' },\n { key: 'CLEAR_SEARCH', name: 'Clear Search' },\n { key: 'SEARCH_COMPLETE', name: 'Search Complete' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ['render-ui', 'main', {\n type: 'search-input',\n query: '@SearchState',\n placeholder: '@entity.placeholder',\n }],\n ],\n },\n {\n from: 'Idle',\n to: 'Searching',\n event: 'SEARCH',\n guard: ['>=', ['str/len', '@payload.term'], '@entity.minLength'],\n effects: [\n ['set', '@entity.search', '@payload.term'],\n ['set', '@entity.isSearching', true],\n ['async/debounce', '@entity.debounceMs', ['emit', 'SEARCH_COMPLETE']],\n ],\n },\n {\n from: 'Idle',\n to: 'Idle',\n event: 'SEARCH',\n guard: ['<', ['str/len', '@payload.term'], '@entity.minLength'],\n effects: [['set', '@entity.search', '@payload.term']],\n },\n {\n from: 'Searching',\n to: 'Idle',\n event: 'SEARCH_COMPLETE',\n effects: [['set', '@entity.isSearching', false]],\n },\n {\n from: 'Idle',\n to: 'Idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ],\n },\n {\n from: 'Searching',\n to: 'Idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Data Management Behaviors\n// ============================================================================\n\nexport const DATA_MANAGEMENT_BEHAVIORS: OrbitalSchema[] = [\n PAGINATION_BEHAVIOR,\n SELECTION_BEHAVIOR,\n SORT_BEHAVIOR,\n FILTER_BEHAVIOR,\n SEARCH_BEHAVIOR,\n];\n","/**\n * Async Behaviors\n *\n * Standard behaviors for asynchronous operations like loading,\n * fetching, submission, retry, and polling.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-loading - Loading State Management\n// ============================================================================\n\nexport const LOADING_BEHAVIOR: OrbitalSchema = {\n name: 'std-loading',\n version: '1.0.0',\n description: 'Loading state management with success/error handling',\n orbitals: [\n {\n name: 'LoadingOrbital',\n entity: {\n name: 'LoadingState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'data', type: 'object', default: null },\n { name: 'startTime', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Loading',\n linkedEntity: 'LoadingState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Loading' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'SUCCESS', name: 'Success' },\n { key: 'ERROR', name: 'Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Loading',\n event: 'START',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Loading',\n to: 'Success',\n event: 'SUCCESS',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.data', '@payload.data'],\n ],\n },\n {\n from: 'Loading',\n to: 'Error',\n event: 'ERROR',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', '@payload.error'],\n ['render-ui', 'content', {\n type: 'error-state',\n message: '@entity.error',\n onRetry: 'RETRY',\n }],\n ],\n },\n {\n from: 'Error',\n to: 'Loading',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-fetch - Data Fetching\n// ============================================================================\n\nexport const FETCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-fetch',\n version: '1.0.0',\n description: 'Data fetching with caching and refresh capabilities',\n orbitals: [\n {\n name: 'FetchOrbital',\n entity: {\n name: 'FetchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'data', type: 'object', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'isFetching', type: 'boolean', default: false },\n { name: 'lastFetchedAt', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Fetch',\n linkedEntity: 'FetchState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Fetching' },\n { name: 'Stale' },\n { name: 'Fresh' },\n { name: 'Error' },\n ],\n events: [\n { key: 'FETCH', name: 'Fetch' },\n { key: 'FETCH_SUCCESS', name: 'Fetch Success' },\n { key: 'FETCH_ERROR', name: 'Fetch Error' },\n { key: 'REFRESH', name: 'Refresh' },\n { key: 'INVALIDATE', name: 'Invalidate' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Fetching',\n to: 'Fresh',\n event: 'FETCH_SUCCESS',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.data', '@payload.data'],\n ['set', '@entity.lastFetchedAt', ['time/now']],\n ],\n },\n {\n from: 'Fetching',\n to: 'Error',\n event: 'FETCH_ERROR',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.error', '@payload.error'],\n ],\n },\n {\n from: 'Fresh',\n to: 'Stale',\n event: 'INVALIDATE',\n effects: [['set', '@entity.lastFetchedAt', null]],\n },\n {\n from: 'Fresh',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Error',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-submit - Form Submission\n// ============================================================================\n\nexport const SUBMIT_BEHAVIOR: OrbitalSchema = {\n name: 'std-submit',\n version: '1.0.0',\n description: 'Async submission with retry capabilities',\n orbitals: [\n {\n name: 'SubmitOrbital',\n entity: {\n name: 'SubmitState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'lastSubmittedData', type: 'object', default: null },\n { name: 'successMessage', type: 'string', default: 'Submitted successfully' },\n { name: 'errorMessage', type: 'string', default: 'Submission failed' },\n { name: 'resetOnSuccess', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Submit',\n linkedEntity: 'SubmitState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Submitting' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'SUBMIT', name: 'Submit' },\n { key: 'SUBMIT_SUCCESS', name: 'Submit Success' },\n { key: 'SUBMIT_ERROR', name: 'Submit Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Submitting',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', '@payload.data'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', 'in_app', '@entity.successMessage'],\n ['when', '@entity.resetOnSuccess', ['emit', 'RESET']],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', '@entity.errorMessage'],\n ],\n },\n {\n from: 'Error',\n to: 'Submitting',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-retry - Automatic Retry\n// ============================================================================\n\nexport const RETRY_BEHAVIOR: OrbitalSchema = {\n name: 'std-retry',\n version: '1.0.0',\n description: 'Automatic retry with exponential backoff',\n orbitals: [\n {\n name: 'RetryOrbital',\n entity: {\n name: 'RetryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'attempt', type: 'number', default: 0 },\n { name: 'error', type: 'object', default: null },\n { name: 'nextRetryAt', type: 'number', default: null },\n { name: 'maxAttempts', type: 'number', default: 3 },\n { name: 'initialDelayMs', type: 'number', default: 1000 },\n { name: 'backoffMultiplier', type: 'number', default: 2 },\n { name: 'maxDelayMs', type: 'number', default: 30000 },\n ],\n },\n traits: [\n {\n name: 'Retry',\n linkedEntity: 'RetryState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Attempting' },\n { name: 'Waiting' },\n { name: 'Success', isTerminal: true },\n { name: 'Failed', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'ATTEMPT_SUCCESS', name: 'Attempt Success' },\n { key: 'ATTEMPT_ERROR', name: 'Attempt Error' },\n { key: 'RETRY_TICK', name: 'Retry Tick' },\n { key: 'GIVE_UP', name: 'Give Up' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Attempting',\n event: 'START',\n effects: [\n ['set', '@entity.attempt', 1],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Attempting',\n to: 'Success',\n event: 'ATTEMPT_SUCCESS',\n effects: [],\n },\n {\n from: 'Attempting',\n to: 'Waiting',\n event: 'ATTEMPT_ERROR',\n guard: ['<', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['let', [['delay', ['math/min',\n ['*', '@entity.initialDelayMs', ['math/pow', '@entity.backoffMultiplier', '@entity.attempt']],\n '@entity.maxDelayMs']]],\n ['set', '@entity.nextRetryAt', ['+', ['time/now'], '@delay']],\n ['async/delay', '@delay', ['emit', 'RETRY_TICK']]],\n ],\n },\n {\n from: 'Attempting',\n to: 'Failed',\n event: 'ATTEMPT_ERROR',\n guard: ['>=', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', 'All retry attempts failed'],\n ],\n },\n {\n from: 'Waiting',\n to: 'Attempting',\n event: 'RETRY_TICK',\n effects: [['set', '@entity.attempt', ['+', '@entity.attempt', 1]]],\n },\n {\n from: 'Waiting',\n to: 'Failed',\n event: 'GIVE_UP',\n effects: [['notify', 'in_app', 'Retry cancelled']],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n {\n from: 'Failed',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-poll - Periodic Polling\n// ============================================================================\n\nexport const POLL_BEHAVIOR: OrbitalSchema = {\n name: 'std-poll',\n version: '1.0.0',\n description: 'Periodic polling with start/stop control',\n orbitals: [\n {\n name: 'PollOrbital',\n entity: {\n name: 'PollState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isPolling', type: 'boolean', default: false },\n { name: 'pollCount', type: 'number', default: 0 },\n { name: 'lastPollAt', type: 'number', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'intervalMs', type: 'number', default: 5000 },\n { name: 'maxPolls', type: 'number', default: null },\n { name: 'stopOnError', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Poll',\n linkedEntity: 'PollState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Polling' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'POLL_TICK', name: 'Poll Tick' },\n { key: 'POLL_SUCCESS', name: 'Poll Success' },\n { key: 'POLL_ERROR', name: 'Poll Error' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Polling',\n event: 'START',\n effects: [\n ['set', '@entity.isPolling', true],\n ['set', '@entity.pollCount', 0],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_TICK',\n guard: ['or', ['=', '@entity.maxPolls', null], ['<', '@entity.pollCount', '@entity.maxPolls']],\n effects: [['set', '@entity.lastPollAt', ['time/now']]],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_SUCCESS',\n effects: [\n ['set', '@entity.pollCount', ['+', '@entity.pollCount', 1]],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_ERROR',\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['when', '@entity.stopOnError', ['emit', 'STOP']],\n ],\n },\n {\n from: 'Polling',\n to: 'Paused',\n event: 'PAUSE',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Polling',\n event: 'RESUME',\n effects: [\n ['set', '@entity.isPolling', true],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Async Behaviors\n// ============================================================================\n\nexport const ASYNC_BEHAVIORS: OrbitalSchema[] = [\n LOADING_BEHAVIOR,\n FETCH_BEHAVIOR,\n SUBMIT_BEHAVIOR,\n RETRY_BEHAVIOR,\n POLL_BEHAVIOR,\n];\n","/**\n * Feedback Behaviors\n *\n * Standard behaviors for user feedback including notifications,\n * confirmations, and undo functionality.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-notification - Toast Notifications\n// ============================================================================\n\nexport const NOTIFICATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-notification',\n version: '1.0.0',\n description: 'Toast notification with auto-dismiss',\n orbitals: [\n {\n name: 'NotificationOrbital',\n entity: {\n name: 'NotificationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'notifications', type: 'array', default: [] },\n { name: 'currentId', type: 'number', default: 0 },\n { name: 'autoDismissMs', type: 'number', default: 5000 },\n ],\n },\n traits: [\n {\n name: 'Notification',\n linkedEntity: 'NotificationState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Hidden', isInitial: true },\n { name: 'Visible' },\n { name: 'Dismissing' },\n ],\n events: [\n { key: 'SHOW', name: 'Show' },\n { key: 'HIDE', name: 'Hide' },\n { key: 'DISMISS', name: 'Dismiss' },\n { key: 'AUTO_DISMISS', name: 'Auto Dismiss' },\n ],\n transitions: [\n {\n from: 'Hidden',\n to: 'Visible',\n event: 'SHOW',\n effects: [\n ['let', [['id', ['+', '@entity.currentId', 1]]],\n ['do',\n ['set', '@entity.currentId', '@id'],\n ['set', '@entity.notifications',\n ['array/append', '@entity.notifications', {\n id: '@id',\n type: '@payload.type',\n message: '@payload.message',\n title: '@payload.title',\n }]],\n ['when', ['>', '@entity.autoDismissMs', 0],\n ['async/delay', '@entity.autoDismissMs', ['emit', 'AUTO_DISMISS', { id: '@id' }]]]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Visible',\n event: 'SHOW',\n effects: [\n ['let', [['id', ['+', '@entity.currentId', 1]]],\n ['do',\n ['set', '@entity.currentId', '@id'],\n ['set', '@entity.notifications',\n ['array/append', '@entity.notifications', {\n id: '@id',\n type: '@payload.type',\n message: '@payload.message',\n title: '@payload.title',\n }]],\n ['when', ['>', '@entity.autoDismissMs', 0],\n ['async/delay', '@entity.autoDismissMs', ['emit', 'AUTO_DISMISS', { id: '@id' }]]]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Visible',\n event: 'DISMISS',\n effects: [\n ['set', '@entity.notifications',\n ['array/filter', '@entity.notifications', ['fn', 'n', ['!=', '@n.id', '@payload.id']]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Visible',\n event: 'AUTO_DISMISS',\n effects: [\n ['set', '@entity.notifications',\n ['array/filter', '@entity.notifications', ['fn', 'n', ['!=', '@n.id', '@payload.id']]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Hidden',\n event: 'HIDE',\n effects: [['set', '@entity.notifications', []]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-confirmation - Confirmation Dialog\n// ============================================================================\n\nexport const CONFIRMATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-confirmation',\n version: '1.0.0',\n description: 'Confirmation dialog with confirm/cancel actions',\n orbitals: [\n {\n name: 'ConfirmationOrbital',\n entity: {\n name: 'ConfirmationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'message', type: 'string', default: '' },\n { name: 'pendingAction', type: 'object', default: null },\n { name: 'confirmLabel', type: 'string', default: 'Confirm' },\n { name: 'cancelLabel', type: 'string', default: 'Cancel' },\n { name: 'confirmVariant', type: 'string', default: 'danger' },\n ],\n },\n traits: [\n {\n name: 'Confirmation',\n linkedEntity: 'ConfirmationState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Closed', isInitial: true },\n { name: 'Open' },\n ],\n events: [\n { key: 'REQUEST', name: 'Request' },\n { key: 'CONFIRM', name: 'Confirm' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'Closed',\n to: 'Open',\n event: 'REQUEST',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.message', '@payload.message'],\n ['set', '@entity.pendingAction', '@payload.onConfirm'],\n ['render-ui', 'modal', {\n type: 'confirm-dialog',\n isOpen: true,\n onClose: 'CANCEL',\n onConfirm: 'CONFIRM',\n title: '@entity.title',\n message: '@entity.message',\n confirmText: '@entity.confirmLabel',\n cancelText: '@entity.cancelLabel',\n variant: '@entity.confirmVariant',\n }],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CONFIRM',\n effects: [\n ['when', '@entity.pendingAction', ['emit', '@entity.pendingAction.event', '@entity.pendingAction.payload']],\n ['set', '@entity.pendingAction', null],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CANCEL',\n effects: [['set', '@entity.pendingAction', null]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-undo - Undo Stack\n// ============================================================================\n\nexport const UNDO_BEHAVIOR: OrbitalSchema = {\n name: 'std-undo',\n version: '1.0.0',\n description: 'Undo/redo stack for reversible actions',\n orbitals: [\n {\n name: 'UndoOrbital',\n entity: {\n name: 'UndoState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'undoStack', type: 'array', default: [] },\n { name: 'redoStack', type: 'array', default: [] },\n { name: 'maxHistory', type: 'number', default: 50 },\n { name: 'showToast', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'Undo',\n linkedEntity: 'UndoState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Ready', isInitial: true }],\n events: [\n { key: 'PUSH', name: 'Push' },\n { key: 'UNDO', name: 'Undo' },\n { key: 'REDO', name: 'Redo' },\n { key: 'CLEAR', name: 'Clear' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Ready',\n event: 'PUSH',\n effects: [\n ['set', '@entity.undoStack',\n ['array/slice',\n ['array/prepend', '@entity.undoStack', {\n action: '@payload.action',\n data: '@payload.data',\n reverseAction: '@payload.reverseAction',\n reverseData: '@payload.reverseData',\n description: '@payload.description',\n }],\n 0, '@entity.maxHistory']],\n ['set', '@entity.redoStack', []],\n ['when', '@entity.showToast',\n ['emit', 'NOTIFY', {\n type: 'info',\n message: ['str/concat', '@payload.description', ' - Click to undo'],\n action: { label: 'Undo', event: 'UNDO' },\n }]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'UNDO',\n guard: ['>', ['array/len', '@entity.undoStack'], 0],\n effects: [\n ['let', [['action', ['array/first', '@entity.undoStack']]],\n ['do',\n ['set', '@entity.undoStack', ['array/slice', '@entity.undoStack', 1]],\n ['set', '@entity.redoStack', ['array/prepend', '@entity.redoStack', '@action']],\n ['emit', '@action.reverseAction', '@action.reverseData']]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'REDO',\n guard: ['>', ['array/len', '@entity.redoStack'], 0],\n effects: [\n ['let', [['action', ['array/first', '@entity.redoStack']]],\n ['do',\n ['set', '@entity.redoStack', ['array/slice', '@entity.redoStack', 1]],\n ['set', '@entity.undoStack', ['array/prepend', '@entity.undoStack', '@action']],\n ['emit', '@action.action', '@action.data']]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'CLEAR',\n effects: [\n ['set', '@entity.undoStack', []],\n ['set', '@entity.redoStack', []],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Feedback Behaviors\n// ============================================================================\n\nexport const FEEDBACK_BEHAVIORS: OrbitalSchema[] = [\n NOTIFICATION_BEHAVIOR,\n CONFIRMATION_BEHAVIOR,\n UNDO_BEHAVIOR,\n];\n","/**\n * Game Core Behaviors\n *\n * Foundation behaviors for game systems: loop, physics, input, collision.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-gameloop - Master Game Tick Coordination\n// ============================================================================\n\n/**\n * std-gameloop - Coordinates game tick execution at 60fps.\n *\n * States: Running, Paused\n * Provides the master clock for all game systems.\n */\nexport const GAME_LOOP_BEHAVIOR: OrbitalSchema = {\n name: 'std-gameloop',\n version: '1.0.0',\n description: 'Master game loop coordinator running at 60fps',\n orbitals: [\n {\n name: 'GameLoopOrbital',\n entity: {\n name: 'GameLoopState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'frameCount', type: 'number', default: 0 },\n { name: 'deltaTime', type: 'number', default: 16 },\n { name: 'elapsedTime', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'GameLoop',\n linkedEntity: 'GameLoopState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Running' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'TICK', name: 'Tick' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Running',\n event: 'START',\n effects: [\n ['set', '@entity.frameCount', 0],\n ['set', '@entity.elapsedTime', 0],\n ],\n },\n {\n from: 'Running',\n to: 'Paused',\n event: 'PAUSE',\n effects: [],\n },\n {\n from: 'Paused',\n to: 'Running',\n event: 'RESUME',\n effects: [],\n },\n {\n from: 'Running',\n to: 'Stopped',\n event: 'STOP',\n effects: [],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'GameTick',\n interval: 'frame',\n guard: ['=', '@state', 'Running'],\n effects: [\n ['set', '@entity.frameCount', ['+', '@entity.frameCount', 1]],\n ['set', '@entity.elapsedTime', ['+', '@entity.elapsedTime', '@entity.deltaTime']],\n ['emit', 'GAME_TICK', { frame: '@entity.frameCount', delta: '@entity.deltaTime' }],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-physics2d - Gravity and Velocity\n// ============================================================================\n\n/**\n * std-physics2d - 2D physics with gravity, velocity, and friction.\n *\n * Applied to entities that need physics simulation.\n */\nexport const PHYSICS_2D_BEHAVIOR: OrbitalSchema = {\n name: 'std-physics2d',\n version: '1.0.0',\n description: '2D physics with gravity, velocity, and friction',\n orbitals: [\n {\n name: 'Physics2DOrbital',\n entity: {\n name: 'Physics2DState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'vx', type: 'number', default: 0 },\n { name: 'vy', type: 'number', default: 0 },\n { name: 'isGrounded', type: 'boolean', default: false },\n // Config fields (previously @config bindings)\n { name: 'gravity', type: 'number', default: 0.5 },\n { name: 'friction', type: 'number', default: 0.8 },\n { name: 'airResistance', type: 'number', default: 0.99 },\n { name: 'maxVelocityY', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Physics2D',\n linkedEntity: 'Physics2DState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Frozen' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'APPLY_FORCE', name: 'Apply Force' },\n { key: 'GROUND_HIT', name: 'Ground Hit' },\n { key: 'FREEZE', name: 'Freeze' },\n { key: 'UNFREEZE', name: 'Unfreeze' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n ],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'APPLY_FORCE',\n effects: [\n ['set', '@entity.vx', ['+', '@entity.vx', '@payload.fx']],\n ['set', '@entity.vy', ['+', '@entity.vy', '@payload.fy']],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GROUND_HIT',\n effects: [\n ['set', '@entity.isGrounded', true],\n ['set', '@entity.vy', 0],\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.friction']],\n ],\n },\n {\n from: 'Active',\n to: 'Frozen',\n event: 'FREEZE',\n effects: [],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'UNFREEZE',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'ApplyGravity',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Active'], ['not', '@entity.isGrounded']],\n effects: [\n ['set', '@entity.vy', ['math/min', '@entity.maxVelocityY', ['+', '@entity.vy', '@entity.gravity']]],\n ],\n },\n {\n name: 'ApplyVelocity',\n interval: 'frame',\n guard: ['=', '@state', 'Active'],\n effects: [\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.airResistance']],\n ['set', '@entity.x', ['+', '@entity.x', '@entity.vx']],\n ['set', '@entity.y', ['+', '@entity.y', '@entity.vy']],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-input - Unified Input State\n// ============================================================================\n\n/**\n * std-input - Manages keyboard and touch input state.\n *\n * Singleton behavior that tracks all input state.\n */\nexport const INPUT_BEHAVIOR: OrbitalSchema = {\n name: 'std-input',\n version: '1.0.0',\n description: 'Unified keyboard and touch input state management',\n orbitals: [\n {\n name: 'InputOrbital',\n entity: {\n name: 'InputState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'left', type: 'boolean', default: false },\n { name: 'right', type: 'boolean', default: false },\n { name: 'up', type: 'boolean', default: false },\n { name: 'down', type: 'boolean', default: false },\n { name: 'jump', type: 'boolean', default: false },\n { name: 'action', type: 'boolean', default: false },\n { name: 'pause', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Input',\n linkedEntity: 'InputState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Ready', isInitial: true }],\n events: [\n { key: 'KEY_DOWN', name: 'Key Down' },\n { key: 'KEY_UP', name: 'Key Up' },\n { key: 'TOUCH_START', name: 'Touch Start' },\n { key: 'TOUCH_END', name: 'Touch End' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_DOWN',\n effects: [\n ['if', ['or', ['=', '@payload.key', 'ArrowLeft'], ['=', '@payload.key', 'a']], ['set', '@entity.left', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowRight'], ['=', '@payload.key', 'd']], ['set', '@entity.right', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowUp'], ['=', '@payload.key', 'w']], ['set', '@entity.up', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowDown'], ['=', '@payload.key', 's']], ['set', '@entity.down', true]],\n ['if', ['=', '@payload.key', ' '], ['set', '@entity.jump', true]],\n ['if', ['or', ['=', '@payload.key', 'Enter'], ['=', '@payload.key', 'e']], ['set', '@entity.action', true]],\n ['if', ['or', ['=', '@payload.key', 'Escape'], ['=', '@payload.key', 'p']], ['set', '@entity.pause', true]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_UP',\n effects: [\n ['if', ['or', ['=', '@payload.key', 'ArrowLeft'], ['=', '@payload.key', 'a']], ['set', '@entity.left', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowRight'], ['=', '@payload.key', 'd']], ['set', '@entity.right', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowUp'], ['=', '@payload.key', 'w']], ['set', '@entity.up', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowDown'], ['=', '@payload.key', 's']], ['set', '@entity.down', false]],\n ['if', ['=', '@payload.key', ' '], ['set', '@entity.jump', false]],\n ['if', ['or', ['=', '@payload.key', 'Enter'], ['=', '@payload.key', 'e']], ['set', '@entity.action', false]],\n ['if', ['or', ['=', '@payload.key', 'Escape'], ['=', '@payload.key', 'p']], ['set', '@entity.pause', false]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'RESET',\n effects: [\n ['set', '@entity.left', false],\n ['set', '@entity.right', false],\n ['set', '@entity.up', false],\n ['set', '@entity.down', false],\n ['set', '@entity.jump', false],\n ['set', '@entity.action', false],\n ['set', '@entity.pause', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-collision - Collision Detection & Response\n// ============================================================================\n\n/**\n * std-collision - Handles collision detection and response.\n *\n * Configures how an entity responds to collisions.\n */\nexport const COLLISION_BEHAVIOR: OrbitalSchema = {\n name: 'std-collision',\n version: '1.0.0',\n description: 'Collision detection and response configuration',\n orbitals: [\n {\n name: 'CollisionOrbital',\n entity: {\n name: 'CollisionState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isColliding', type: 'boolean', default: false },\n { name: 'collidingWith', type: 'array', default: [] },\n // Config fields (previously @config bindings)\n { name: 'onCollision', type: 'string', default: null },\n { name: 'onTrigger', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Collision',\n linkedEntity: 'CollisionState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Disabled' },\n ],\n events: [\n { key: 'COLLISION', name: 'Collision' },\n { key: 'TRIGGER_ENTER', name: 'Trigger Enter' },\n { key: 'TRIGGER_EXIT', name: 'Trigger Exit' },\n { key: 'ENABLE', name: 'Enable' },\n { key: 'DISABLE', name: 'Disable' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'COLLISION',\n effects: [\n ['set', '@entity.isColliding', true],\n ['set', '@entity.collidingWith', ['array/append', '@entity.collidingWith', '@payload.entityId']],\n ['if', '@entity.onCollision', ['emit', '@entity.onCollision', { entityId: '@payload.entityId', side: '@payload.side' }]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TRIGGER_ENTER',\n effects: [\n ['if', '@entity.onTrigger', ['emit', '@entity.onTrigger', { entityId: '@payload.entityId', action: 'enter' }]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TRIGGER_EXIT',\n effects: [\n ['set', '@entity.collidingWith', ['array/filter', '@entity.collidingWith', ['fn', 'id', ['!=', '@id', '@payload.entityId']]]],\n ['if', ['=', ['array/len', '@entity.collidingWith'], 0], ['set', '@entity.isColliding', false]],\n ],\n },\n {\n from: 'Active',\n to: 'Disabled',\n event: 'DISABLE',\n effects: [\n ['set', '@entity.isColliding', false],\n ['set', '@entity.collidingWith', []],\n ],\n },\n {\n from: 'Disabled',\n to: 'Active',\n event: 'ENABLE',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_CORE_BEHAVIORS: OrbitalSchema[] = [\n GAME_LOOP_BEHAVIOR,\n PHYSICS_2D_BEHAVIOR,\n INPUT_BEHAVIOR,\n COLLISION_BEHAVIOR,\n];\n","/**\n * Game Entity Behaviors\n *\n * Entity state behaviors: health, score, movement, combat, inventory.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-health - Entity Health System\n// ============================================================================\n\n/**\n * std-health - Manages entity health with damage, healing, and death.\n *\n * States: Alive → Damaged → Dead\n */\nexport const HEALTH_BEHAVIOR: OrbitalSchema = {\n name: 'std-health',\n version: '1.0.0',\n description: 'Entity health with damage, healing, invulnerability, and death',\n orbitals: [\n {\n name: 'HealthOrbital',\n entity: {\n name: 'HealthState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentHealth', type: 'number', default: 100 },\n { name: 'maxHealth', type: 'number', default: 100 },\n { name: 'isInvulnerable', type: 'boolean', default: false },\n { name: 'lastDamageTime', type: 'number', default: 0 },\n { name: 'invulnerabilityTime', type: 'number', default: 1000 },\n { name: 'onDeath', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Health',\n linkedEntity: 'HealthState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Alive', isInitial: true },\n { name: 'Damaged' },\n { name: 'Invulnerable' },\n { name: 'Dead', isTerminal: true },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'DAMAGE', name: 'Damage' },\n { key: 'HEAL', name: 'Heal' },\n { key: 'DIE', name: 'Die' },\n { key: 'RESPAWN', name: 'Respawn' },\n { key: 'INVULNERABILITY_END', name: 'Invulnerability End' },\n ],\n transitions: [\n {\n from: 'Alive',\n to: 'Alive',\n event: 'INIT',\n effects: [\n ['set', '@entity.currentHealth', '@entity.maxHealth'],\n ['set', '@entity.isInvulnerable', false],\n ['render-ui', 'hud-top', {\n type: 'stats',\n label: 'Health',\n value: '@entity.currentHealth',\n }],\n ],\n },\n {\n from: 'Alive',\n to: 'Damaged',\n event: 'DAMAGE',\n guard: ['not', '@entity.isInvulnerable'],\n effects: [\n ['set', '@entity.currentHealth', ['math/max', 0, ['-', '@entity.currentHealth', '@payload.amount']]],\n ['set', '@entity.lastDamageTime', '@now'],\n ['if', ['<=', '@entity.currentHealth', 0],\n ['emit', 'DIE'],\n ['do',\n ['set', '@entity.isInvulnerable', true]]],\n ],\n },\n {\n from: 'Damaged',\n to: 'Alive',\n event: 'INVULNERABILITY_END',\n effects: [['set', '@entity.isInvulnerable', false]],\n },\n {\n from: 'Invulnerable',\n to: 'Alive',\n event: 'INVULNERABILITY_END',\n effects: [['set', '@entity.isInvulnerable', false]],\n },\n {\n from: 'Alive',\n to: 'Alive',\n event: 'HEAL',\n effects: [\n ['set', '@entity.currentHealth', ['math/min', '@entity.maxHealth', ['+', '@entity.currentHealth', '@payload.amount']]],\n ],\n },\n {\n from: 'Damaged',\n to: 'Damaged',\n event: 'HEAL',\n effects: [\n ['set', '@entity.currentHealth', ['math/min', '@entity.maxHealth', ['+', '@entity.currentHealth', '@payload.amount']]],\n ],\n },\n {\n from: 'Alive',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.currentHealth', 0],\n ['if', '@entity.onDeath', ['emit', '@entity.onDeath', { entityId: '@entity.id' }]],\n ],\n },\n {\n from: 'Damaged',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.currentHealth', 0],\n ['if', '@entity.onDeath', ['emit', '@entity.onDeath', { entityId: '@entity.id' }]],\n ],\n },\n {\n from: 'Dead',\n to: 'Alive',\n event: 'RESPAWN',\n effects: [['emit', 'INIT']],\n },\n ],\n },\n ticks: [\n {\n name: 'InvulnerabilityTimer',\n interval: 'frame',\n guard: ['and', '@entity.isInvulnerable', ['>', ['-', '@now', '@entity.lastDamageTime'], '@entity.invulnerabilityTime']],\n effects: [['emit', 'INVULNERABILITY_END']],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-score - Points and Combo System\n// ============================================================================\n\n/**\n * std-score - Manages score with points, combos, and multipliers.\n */\nexport const SCORE_BEHAVIOR: OrbitalSchema = {\n name: 'std-score',\n version: '1.0.0',\n description: 'Score tracking with points, combos, and multipliers',\n orbitals: [\n {\n name: 'ScoreOrbital',\n entity: {\n name: 'ScoreState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentScore', type: 'number', default: 0 },\n { name: 'highScore', type: 'number', default: 0 },\n { name: 'comboCount', type: 'number', default: 0 },\n { name: 'multiplier', type: 'number', default: 1 },\n { name: 'lastScoreTime', type: 'number', default: 0 },\n { name: 'maxMultiplier', type: 'number', default: 5 },\n { name: 'comboTimeWindow', type: 'number', default: 2000 },\n ],\n },\n traits: [\n {\n name: 'Score',\n linkedEntity: 'ScoreState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'ADD_POINTS', name: 'Add Points' },\n { key: 'COMBO_HIT', name: 'Combo Hit' },\n { key: 'COMBO_BREAK', name: 'Combo Break' },\n { key: 'RESET', name: 'Reset' },\n { key: 'SAVE_HIGH_SCORE', name: 'Save High Score' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.currentScore', 0],\n ['set', '@entity.comboCount', 0],\n ['set', '@entity.multiplier', 1],\n ['render-ui', 'hud-top', {\n type: 'stats',\n label: 'Score',\n value: '@entity.currentScore',\n subtitle: 'High: @entity.highScore',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'ADD_POINTS',\n effects: [\n ['set', '@entity.currentScore', ['+', '@entity.currentScore', ['*', '@payload.points', '@entity.multiplier']]],\n ['set', '@entity.lastScoreTime', '@now'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'COMBO_HIT',\n effects: [\n ['set', '@entity.comboCount', ['+', '@entity.comboCount', 1]],\n ['set', '@entity.multiplier', ['math/min', '@entity.maxMultiplier', ['+', 1, ['/', '@entity.comboCount', 5]]]],\n ['set', '@entity.lastScoreTime', '@now'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'COMBO_BREAK',\n effects: [\n ['set', '@entity.comboCount', 0],\n ['set', '@entity.multiplier', 1],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'RESET',\n effects: [\n ['if', ['>', '@entity.currentScore', '@entity.highScore'],\n ['set', '@entity.highScore', '@entity.currentScore']],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SAVE_HIGH_SCORE',\n guard: ['>', '@entity.currentScore', '@entity.highScore'],\n effects: [\n ['set', '@entity.highScore', '@entity.currentScore'],\n ['persist', 'update', 'HighScore', { score: '@entity.highScore' }],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'ComboTimeout',\n interval: 'frame',\n guard: ['and', ['>', '@entity.comboCount', 0], ['>', ['-', '@now', '@entity.lastScoreTime'], '@entity.comboTimeWindow']],\n effects: [['emit', 'COMBO_BREAK']],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-movement - Entity Position and Velocity\n// ============================================================================\n\n/**\n * std-movement - Basic movement for any entity.\n *\n * Handles position updates based on input or AI.\n */\nexport const MOVEMENT_BEHAVIOR: OrbitalSchema = {\n name: 'std-movement',\n version: '1.0.0',\n description: 'Entity movement with speed and direction',\n orbitals: [\n {\n name: 'MovementOrbital',\n entity: {\n name: 'MovementState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'direction', type: 'number', default: 0 },\n { name: 'facingRight', type: 'boolean', default: true },\n { name: 'canJump', type: 'boolean', default: true },\n { name: 'moveSpeed', type: 'number', default: 5 },\n { name: 'jumpForce', type: 'number', default: -15 },\n ],\n },\n traits: [\n {\n name: 'Movement',\n linkedEntity: 'MovementState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Moving' },\n { name: 'Jumping' },\n { name: 'Falling' },\n ],\n events: [\n { key: 'MOVE', name: 'Move' },\n { key: 'STOP', name: 'Stop' },\n { key: 'JUMP', name: 'Jump' },\n { key: 'LAND', name: 'Land' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Moving',\n event: 'MOVE',\n effects: [\n ['set', '@entity.direction', '@payload.direction'],\n ['if', ['>', '@payload.direction', 0], ['set', '@entity.facingRight', true]],\n ['if', ['<', '@payload.direction', 0], ['set', '@entity.facingRight', false]],\n ],\n },\n {\n from: 'Moving',\n to: 'Moving',\n event: 'MOVE',\n effects: [\n ['set', '@entity.direction', '@payload.direction'],\n ['if', ['>', '@payload.direction', 0], ['set', '@entity.facingRight', true]],\n ['if', ['<', '@payload.direction', 0], ['set', '@entity.facingRight', false]],\n ],\n },\n {\n from: 'Moving',\n to: 'Idle',\n event: 'STOP',\n effects: [['set', '@entity.direction', 0]],\n },\n {\n from: 'Idle',\n to: 'Jumping',\n event: 'JUMP',\n guard: '@entity.canJump',\n effects: [\n ['set', '@entity.canJump', false],\n ['emit', 'APPLY_FORCE', { fx: 0, fy: '@entity.jumpForce' }],\n ],\n },\n {\n from: 'Moving',\n to: 'Jumping',\n event: 'JUMP',\n guard: '@entity.canJump',\n effects: [\n ['set', '@entity.canJump', false],\n ['emit', 'APPLY_FORCE', { fx: 0, fy: '@entity.jumpForce' }],\n ],\n },\n {\n from: 'Jumping',\n to: 'Idle',\n event: 'LAND',\n effects: [\n ['set', '@entity.canJump', true],\n ['if', ['!=', '@entity.direction', 0], ['emit', 'MOVE', { direction: '@entity.direction' }]],\n ],\n },\n {\n from: 'Falling',\n to: 'Idle',\n event: 'LAND',\n effects: [\n ['set', '@entity.canJump', true],\n ['if', ['!=', '@entity.direction', 0], ['emit', 'MOVE', { direction: '@entity.direction' }]],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'ApplyMovement',\n interval: 'frame',\n guard: ['!=', '@entity.direction', 0],\n effects: [\n ['set', '@entity.x', ['+', '@entity.x', ['*', '@entity.direction', '@entity.moveSpeed']]],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-combat - Attack and Damage System\n// ============================================================================\n\n/**\n * std-combat - Handles attacks, cooldowns, and hit detection.\n */\nexport const COMBAT_BEHAVIOR: OrbitalSchema = {\n name: 'std-combat',\n version: '1.0.0',\n description: 'Combat system with attacks, cooldowns, and hitboxes',\n orbitals: [\n {\n name: 'CombatOrbital',\n entity: {\n name: 'CombatState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isAttacking', type: 'boolean', default: false },\n { name: 'attackStartTime', type: 'number', default: 0 },\n { name: 'hitEntities', type: 'array', default: [] },\n { name: 'attackDamage', type: 'number', default: 10 },\n { name: 'attackDuration', type: 'number', default: 300 },\n { name: 'cooldownDuration', type: 'number', default: 500 },\n { name: 'hitboxOffset', type: 'object', default: { x: 20, y: 0 } },\n { name: 'hitboxSize', type: 'object', default: { width: 30, height: 30 } },\n ],\n },\n traits: [\n {\n name: 'Combat',\n linkedEntity: 'CombatState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Ready', isInitial: true },\n { name: 'Attacking' },\n { name: 'Cooldown' },\n ],\n events: [\n { key: 'ATTACK', name: 'Attack' },\n { key: 'ATTACK_END', name: 'Attack End' },\n { key: 'HIT_CONNECT', name: 'Hit Connect' },\n { key: 'COOLDOWN_END', name: 'Cooldown End' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Attacking',\n event: 'ATTACK',\n effects: [\n ['set', '@entity.isAttacking', true],\n ['set', '@entity.attackStartTime', '@now'],\n ['set', '@entity.hitEntities', []],\n ],\n },\n {\n from: 'Attacking',\n to: 'Attacking',\n event: 'HIT_CONNECT',\n guard: ['not', ['array/includes', '@entity.hitEntities', '@payload.entityId']],\n effects: [\n ['set', '@entity.hitEntities', ['array/append', '@entity.hitEntities', '@payload.entityId']],\n ['emit', 'DAMAGE', { target: '@payload.entityId', amount: '@entity.attackDamage' }],\n ],\n },\n {\n from: 'Attacking',\n to: 'Cooldown',\n event: 'ATTACK_END',\n effects: [['set', '@entity.isAttacking', false]],\n },\n {\n from: 'Cooldown',\n to: 'Ready',\n event: 'COOLDOWN_END',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'AttackDuration',\n interval: 'frame',\n guard: ['and', '@entity.isAttacking', ['>', ['-', '@now', '@entity.attackStartTime'], '@entity.attackDuration']],\n effects: [['emit', 'ATTACK_END']],\n },\n {\n name: 'CooldownTimer',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Cooldown'], ['>', ['-', '@now', '@entity.attackStartTime'], ['+', '@entity.attackDuration', '@entity.cooldownDuration']]],\n effects: [['emit', 'COOLDOWN_END']],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-inventory - Item Collection and Management\n// ============================================================================\n\n/**\n * std-inventory - Manages collected items and equipment.\n */\nexport const INVENTORY_BEHAVIOR: OrbitalSchema = {\n name: 'std-inventory',\n version: '1.0.0',\n description: 'Item collection, storage, and usage',\n orbitals: [\n {\n name: 'InventoryOrbital',\n entity: {\n name: 'InventoryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'items', type: 'array', default: [] },\n { name: 'selectedSlot', type: 'number', default: 0 },\n { name: 'isOpen', type: 'boolean', default: false },\n { name: 'equipped', type: 'object', default: {} },\n { name: 'maxSlots', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Inventory',\n linkedEntity: 'InventoryState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Empty', isInitial: true },\n { name: 'HasItems' },\n { name: 'Full' },\n ],\n events: [\n { key: 'COLLECT', name: 'Collect' },\n { key: 'USE', name: 'Use' },\n { key: 'DROP', name: 'Drop' },\n { key: 'EQUIP', name: 'Equip' },\n { key: 'UNEQUIP', name: 'Unequip' },\n { key: 'OPEN', name: 'Open' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'INVENTORY_EMPTY', name: 'Inventory Empty' },\n ],\n transitions: [\n {\n from: 'Empty',\n to: 'HasItems',\n event: 'COLLECT',\n guard: ['<', ['array/len', '@entity.items'], '@entity.maxSlots'],\n effects: [\n ['set', '@entity.items', ['array/append', '@entity.items', '@payload.item']],\n ['notify', 'in_app', ['str/concat', 'Collected ', '@payload.item.name']],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'COLLECT',\n guard: ['<', ['array/len', '@entity.items'], '@entity.maxSlots'],\n effects: [\n ['set', '@entity.items', ['array/append', '@entity.items', '@payload.item']],\n ['notify', 'in_app', ['str/concat', 'Collected ', '@payload.item.name']],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'USE',\n effects: [\n ['let', [['item', ['array/nth', '@entity.items', '@payload.slot']]],\n ['if', '@item.onUse', ['emit', '@item.onUse', { item: '@item' }]],\n ['if', '@item.consumable',\n ['set', '@entity.items', ['array/filter', '@entity.items', ['fn', 'i', 'idx', ['!=', '@idx', '@payload.slot']]]]]],\n ['if', ['=', ['array/len', '@entity.items'], 0], ['emit', 'INVENTORY_EMPTY']],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'DROP',\n effects: [\n ['let', [['item', ['array/nth', '@entity.items', '@payload.slot']]],\n ['set', '@entity.items', ['array/filter', '@entity.items', ['fn', 'i', 'idx', ['!=', '@idx', '@payload.slot']]]],\n ['emit', 'ITEM_DROPPED', { item: '@item', position: { x: '@entity.x', y: '@entity.y' } }]],\n ['if', ['=', ['array/len', '@entity.items'], 0], ['emit', 'INVENTORY_EMPTY']],\n ],\n },\n {\n from: 'HasItems',\n to: 'Empty',\n event: 'INVENTORY_EMPTY',\n effects: [],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'EQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/set', '@entity.equipped', '@payload.slot', '@payload.item']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'EQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/set', '@entity.equipped', '@payload.slot', '@payload.item']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'UNEQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/remove', '@entity.equipped', '@payload.slot']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'UNEQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/remove', '@entity.equipped', '@payload.slot']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'OPEN',\n effects: [\n ['render-ui', 'modal', {\n type: 'modal',\n title: 'Inventory',\n isOpen: '@entity.isOpen',\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'OPEN',\n effects: [\n ['render-ui', 'modal', {\n type: 'modal',\n title: 'Inventory',\n isOpen: '@entity.isOpen',\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'CLOSE',\n effects: [['set', '@entity.isOpen', false]],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'CLOSE',\n effects: [['set', '@entity.isOpen', false]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_ENTITY_BEHAVIORS: OrbitalSchema[] = [\n HEALTH_BEHAVIOR,\n SCORE_BEHAVIOR,\n MOVEMENT_BEHAVIOR,\n COMBAT_BEHAVIOR,\n INVENTORY_BEHAVIOR,\n];\n","/**\n * Game UI Behaviors\n *\n * Game interface behaviors: flow, dialogue, level progression.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-gameflow - Game State Machine\n// ============================================================================\n\n/**\n * std-gameflow - Master game state management.\n *\n * States: Menu → Playing → Paused → GameOver/Victory\n */\nexport const GAME_FLOW_BEHAVIOR: OrbitalSchema = {\n name: 'std-gameflow',\n version: '1.0.0',\n description: 'Master game flow: menu, play, pause, game over, victory',\n orbitals: [\n {\n name: 'GameFlowOrbital',\n entity: {\n name: 'GameFlowState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'playTime', type: 'number', default: 0 },\n { name: 'attempts', type: 'number', default: 0 },\n { name: 'lastState', type: 'string', default: 'Menu' },\n { name: 'title', type: 'string', default: 'Game' },\n { name: 'allowPause', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'GameFlow',\n linkedEntity: 'GameFlowState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Menu', isInitial: true },\n { name: 'Playing' },\n { name: 'Paused' },\n { name: 'GameOver', isTerminal: true },\n { name: 'Victory', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'GAME_OVER', name: 'Game Over' },\n { key: 'VICTORY', name: 'Victory' },\n { key: 'RESTART', name: 'Restart' },\n { key: 'QUIT', name: 'Quit' },\n ],\n transitions: [\n {\n from: 'Menu',\n to: 'Menu',\n event: 'QUIT',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'screen', {\n type: 'game-menu',\n title: '@entity.title',\n options: [{ event: 'START', label: 'Start Game' }],\n onSelect: 'START',\n }],\n ],\n },\n {\n from: 'Menu',\n to: 'Playing',\n event: 'START',\n effects: [\n ['set', '@entity.attempts', ['+', '@entity.attempts', 1]],\n ['set', '@entity.playTime', 0],\n ['emit', 'GAME_LOOP_START'],\n ],\n },\n {\n from: 'Playing',\n to: 'Paused',\n event: 'PAUSE',\n guard: '@entity.allowPause',\n effects: [\n ['set', '@entity.lastState', 'Playing'],\n ['emit', 'GAME_LOOP_PAUSE'],\n ['render-ui', 'overlay', {\n type: 'game-pause-overlay',\n title: 'Paused',\n visible: true,\n options: [\n { event: 'RESUME', label: 'Resume' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'Paused',\n to: 'Playing',\n event: 'RESUME',\n effects: [['emit', 'GAME_LOOP_RESUME']],\n },\n {\n from: 'Playing',\n to: 'GameOver',\n event: 'GAME_OVER',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Game Over',\n stats: [\n { label: 'Play Time', value: '@entity.playTime' },\n { label: 'Attempts', value: '@entity.attempts' },\n ],\n actions: [\n { event: 'RESTART', label: 'Try Again' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'Playing',\n to: 'Victory',\n event: 'VICTORY',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Victory!',\n variant: 'success',\n stats: [\n { label: 'Play Time', value: '@entity.playTime' },\n { label: 'Attempts', value: '@entity.attempts' },\n ],\n actions: [\n { event: 'RESTART', label: 'Play Again' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'GameOver',\n to: 'Playing',\n event: 'RESTART',\n effects: [\n ['emit', 'GAME_RESET'],\n ['emit', 'START'],\n ],\n },\n {\n from: 'Victory',\n to: 'Playing',\n event: 'RESTART',\n effects: [\n ['emit', 'GAME_RESET'],\n ['emit', 'START'],\n ],\n },\n {\n from: 'Playing',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'Paused',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'GameOver',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'Victory',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-dialogue - NPC Conversation System\n// ============================================================================\n\n/**\n * std-dialogue - Manages NPC dialogue and branching conversations.\n */\nexport const DIALOGUE_BEHAVIOR: OrbitalSchema = {\n name: 'std-dialogue',\n version: '1.0.0',\n description: 'NPC dialogue system with branching conversations',\n orbitals: [\n {\n name: 'DialogueOrbital',\n entity: {\n name: 'DialogueState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'dialogueTree', type: 'array', default: [] },\n { name: 'currentNode', type: 'number', default: 0 },\n { name: 'displayedText', type: 'string', default: '' },\n { name: 'isTyping', type: 'boolean', default: false },\n { name: 'speaker', type: 'string', default: '' },\n { name: 'typeIndex', type: 'number', default: 0 },\n { name: 'lastTypeTime', type: 'number', default: 0 },\n { name: 'typingSpeed', type: 'number', default: 50 },\n ],\n },\n traits: [\n {\n name: 'Dialogue',\n linkedEntity: 'DialogueState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Hidden', isInitial: true },\n { name: 'Typing' },\n { name: 'Showing' },\n { name: 'Choice' },\n ],\n events: [\n { key: 'SHOW', name: 'Show' },\n { key: 'NEXT', name: 'Next' },\n { key: 'SELECT_CHOICE', name: 'Select Choice' },\n { key: 'SKIP', name: 'Skip' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'TYPE_CHAR', name: 'Type Char' },\n { key: 'TYPE_COMPLETE', name: 'Type Complete' },\n ],\n transitions: [\n {\n from: 'Hidden',\n to: 'Typing',\n event: 'SHOW',\n effects: [\n ['set', '@entity.dialogueTree', '@payload.dialogue'],\n ['set', '@entity.currentNode', 0],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0],\n ['set', '@entity.lastTypeTime', '@now'],\n ['emit', 'GAME_PAUSE'],\n ['render-ui', 'overlay.dialogue', {\n type: 'dialogue-box',\n dialogue: {\n speaker: '@entity.speaker',\n text: '@entity.displayedText',\n isTyping: '@entity.isTyping',\n },\n onAdvance: 'NEXT',\n }],\n ],\n },\n {\n from: 'Typing',\n to: 'Typing',\n event: 'TYPE_CHAR',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['do',\n ['set', '@entity.typeIndex', ['+', '@entity.typeIndex', 1]],\n ['set', '@entity.displayedText', ['str/slice', '@currentDialogue.text', 0, '@entity.typeIndex']],\n ['set', '@entity.lastTypeTime', '@now']]],\n ],\n },\n {\n from: 'Typing',\n to: 'Showing',\n event: 'TYPE_COMPLETE',\n effects: [['set', '@entity.isTyping', false]],\n },\n {\n from: 'Typing',\n to: 'Showing',\n event: 'SKIP',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['do',\n ['set', '@entity.isTyping', false],\n ['set', '@entity.displayedText', '@currentDialogue.text']]],\n ],\n },\n {\n from: 'Showing',\n to: 'Typing',\n event: 'NEXT',\n guard: ['not', ['object/get', ['array/nth', '@entity.dialogueTree', '@entity.currentNode'], 'choices']],\n effects: [\n ['if', ['>=', '@entity.currentNode', ['-', ['array/len', '@entity.dialogueTree'], 1]],\n ['emit', 'CLOSE'],\n ['do',\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0]]],\n ],\n },\n {\n from: 'Showing',\n to: 'Choice',\n event: 'NEXT',\n guard: ['object/get', ['array/nth', '@entity.dialogueTree', '@entity.currentNode'], 'choices'],\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['render-ui', 'overlay.dialogue', {\n type: 'dialogue-box',\n dialogue: {\n speaker: 'Choose',\n choices: '@currentDialogue.choices',\n },\n onChoice: 'SELECT_CHOICE',\n }]],\n ],\n },\n {\n from: 'Choice',\n to: 'Typing',\n event: 'SELECT_CHOICE',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['let', [['choice', ['array/nth', '@currentDialogue.choices', '@payload.index']]],\n ['do',\n ['if', '@choice.nextNode',\n ['set', '@entity.currentNode', '@choice.nextNode'],\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]]],\n ['if', '@choice.effect', ['emit', '@choice.effect']]]]],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0],\n ],\n },\n {\n from: 'Typing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n {\n from: 'Showing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n {\n from: 'Choice',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'TypewriterEffect',\n interval: 'frame',\n guard: ['and', '@entity.isTyping', ['>', ['-', '@now', '@entity.lastTypeTime'], ['/', 1000, '@entity.typingSpeed']]],\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['if', ['<', '@entity.typeIndex', ['str/len', '@currentDialogue.text']],\n ['emit', 'TYPE_CHAR'],\n ['emit', 'TYPE_COMPLETE']]],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-levelprogress - Level Unlock and Progression\n// ============================================================================\n\n/**\n * std-levelprogress - Manages level unlock, selection, and completion.\n */\nexport const LEVEL_PROGRESS_BEHAVIOR: OrbitalSchema = {\n name: 'std-levelprogress',\n version: '1.0.0',\n description: 'Level progression with unlock, selection, and completion tracking',\n orbitals: [\n {\n name: 'LevelProgressOrbital',\n entity: {\n name: 'LevelProgressState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentLevel', type: 'number', default: 0 },\n { name: 'unlockedLevels', type: 'array', default: [0] },\n { name: 'levelStars', type: 'object', default: {} },\n { name: 'totalStars', type: 'number', default: 0 },\n { name: 'levels', type: 'array', default: [] },\n { name: 'starsPerLevel', type: 'number', default: 3 },\n { name: 'unlockNext', type: 'boolean', default: true },\n { name: 'persistProgress', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'LevelProgress',\n linkedEntity: 'LevelProgressState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'LevelLoading' },\n { name: 'InLevel' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_LEVEL', name: 'Select Level' },\n { key: 'LEVEL_LOADED', name: 'Level Loaded' },\n { key: 'COMPLETE_LEVEL', name: 'Complete Level' },\n { key: 'UNLOCK_LEVEL', name: 'Unlock Level' },\n { key: 'BACK_TO_SELECT', name: 'Back To Select' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['render-ui', 'screen', {\n type: 'level-select',\n title: 'Select Level',\n levels: '@entity.levels',\n onSelect: 'SELECT_LEVEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'LevelLoading',\n event: 'SELECT_LEVEL',\n guard: ['array/includes', '@entity.unlockedLevels', '@payload.levelIndex'],\n effects: [\n ['set', '@entity.currentLevel', '@payload.levelIndex'],\n ['emit', 'LOAD_LEVEL', { levelData: ['array/nth', '@entity.levels', '@payload.levelIndex'] }],\n ],\n },\n {\n from: 'LevelLoading',\n to: 'InLevel',\n event: 'LEVEL_LOADED',\n effects: [['emit', 'START']],\n },\n {\n from: 'InLevel',\n to: 'InLevel',\n event: 'COMPLETE_LEVEL',\n effects: [\n ['set', '@entity.levelStars', ['object/set', '@entity.levelStars', ['str/toString', '@entity.currentLevel'],\n ['math/max', '@payload.stars', ['object/get', '@entity.levelStars', ['str/toString', '@entity.currentLevel'], 0]]]],\n ['set', '@entity.totalStars', ['array/reduce', ['object/values', '@entity.levelStars'], ['fn', 'sum', 'v', ['+', '@sum', '@v']], 0]],\n ['if', ['and', '@entity.unlockNext', ['<', '@entity.currentLevel', ['-', ['array/len', '@entity.levels'], 1]]],\n ['emit', 'UNLOCK_LEVEL', { levelIndex: ['+', '@entity.currentLevel', 1] }]],\n ['if', '@entity.persistProgress',\n ['persist', 'save', 'LevelProgress', {\n unlockedLevels: '@entity.unlockedLevels',\n levelStars: '@entity.levelStars',\n }]],\n ],\n },\n {\n from: 'InLevel',\n to: 'InLevel',\n event: 'UNLOCK_LEVEL',\n guard: ['not', ['array/includes', '@entity.unlockedLevels', '@payload.levelIndex']],\n effects: [\n ['set', '@entity.unlockedLevels', ['array/append', '@entity.unlockedLevels', '@payload.levelIndex']],\n ],\n },\n {\n from: 'InLevel',\n to: 'Browsing',\n event: 'BACK_TO_SELECT',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'LevelLoading',\n to: 'Browsing',\n event: 'INIT',\n effects: [],\n },\n {\n from: 'InLevel',\n to: 'Browsing',\n event: 'INIT',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_UI_BEHAVIORS: OrbitalSchema[] = [\n GAME_FLOW_BEHAVIOR,\n DIALOGUE_BEHAVIOR,\n LEVEL_PROGRESS_BEHAVIOR,\n];\n","/**\n * Standard Behaviors Registry\n *\n * Combined registry of all Standard Behaviors with lookup functions.\n * Note: Behaviors are now typed as OrbitalSchema (OrbitalSchema).\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema, BehaviorMetadata } from './types.js';\nimport { getBehaviorMetadata } from './types.js';\nimport { UI_INTERACTION_BEHAVIORS } from './ui-interaction.js';\nimport { DATA_MANAGEMENT_BEHAVIORS } from './data-management.js';\nimport { ASYNC_BEHAVIORS } from './async.js';\nimport { FEEDBACK_BEHAVIORS } from './feedback.js';\nimport { GAME_CORE_BEHAVIORS } from './game-core.js';\nimport { GAME_ENTITY_BEHAVIORS } from './game-entity.js';\nimport { GAME_UI_BEHAVIORS } from './game-ui.js';\n\n// ============================================================================\n// Combined Registry\n// ============================================================================\n\n/**\n * All Standard Behaviors combined into a single array.\n * Each behavior is now a OrbitalSchema (OrbitalSchema).\n */\nexport const STANDARD_BEHAVIORS: OrbitalSchema[] = [\n ...UI_INTERACTION_BEHAVIORS,\n ...DATA_MANAGEMENT_BEHAVIORS,\n ...ASYNC_BEHAVIORS,\n ...FEEDBACK_BEHAVIORS,\n ...GAME_CORE_BEHAVIORS,\n ...GAME_ENTITY_BEHAVIORS,\n ...GAME_UI_BEHAVIORS,\n];\n\n/**\n * Behavior registry indexed by name for fast lookup.\n */\nexport const BEHAVIOR_REGISTRY: Record<string, OrbitalSchema> = STANDARD_BEHAVIORS.reduce(\n (acc, behavior) => {\n acc[behavior.name] = behavior;\n return acc;\n },\n {} as Record<string, OrbitalSchema>\n);\n\n// ============================================================================\n// Lookup Functions\n// ============================================================================\n\n/**\n * Get a behavior by name.\n *\n * @param name - Behavior name (e.g., 'std-list')\n * @returns The behavior or undefined if not found\n */\nexport function getBehavior(name: string): OrbitalSchema | undefined {\n return BEHAVIOR_REGISTRY[name];\n}\n\n/**\n * Check if a behavior exists.\n *\n * @param name - Behavior name\n * @returns true if the behavior exists\n */\nexport function isKnownBehavior(name: string): boolean {\n return name in BEHAVIOR_REGISTRY;\n}\n\n/**\n * Get all behavior names.\n *\n * @returns Array of all behavior names\n */\nexport function getAllBehaviorNames(): string[] {\n return Object.keys(BEHAVIOR_REGISTRY);\n}\n\n/**\n * Get all behaviors.\n *\n * @returns Array of all behaviors\n */\nexport function getAllBehaviors(): OrbitalSchema[] {\n return STANDARD_BEHAVIORS;\n}\n\n/**\n * Get metadata for all behaviors (lightweight).\n *\n * @returns Array of behavior metadata\n */\nexport function getAllBehaviorMetadata(): BehaviorMetadata[] {\n return STANDARD_BEHAVIORS.map(getBehaviorMetadata);\n}\n\n/**\n * Find behaviors that match a use case based on description.\n *\n * @param useCase - Use case description to match\n * @returns Array of matching behaviors\n */\nexport function findBehaviorsForUseCase(useCase: string): OrbitalSchema[] {\n const lowerUseCase = useCase.toLowerCase();\n return STANDARD_BEHAVIORS.filter((behavior) =>\n behavior.description?.toLowerCase().includes(lowerUseCase) ?? false\n );\n}\n\n/**\n * Get behaviors that handle a specific event.\n *\n * @param event - Event name\n * @returns Array of behaviors that handle this event\n */\nexport function getBehaviorsForEvent(event: string): OrbitalSchema[] {\n return STANDARD_BEHAVIORS.filter((behavior) => {\n // Access stateMachine from first orbital's traits\n for (const orbital of behavior.orbitals || []) {\n for (const trait of orbital.traits || []) {\n if (typeof trait === 'object' && 'stateMachine' in trait) {\n const events = trait.stateMachine?.events || [];\n if (events.some((e: { key: string }) => e.key === event)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n}\n\n/**\n * Get behaviors that have a specific state.\n *\n * @param state - State name\n * @returns Array of behaviors that have this state\n */\nexport function getBehaviorsWithState(state: string): OrbitalSchema[] {\n return STANDARD_BEHAVIORS.filter((behavior) => {\n // Access stateMachine from first orbital's traits\n for (const orbital of behavior.orbitals || []) {\n for (const trait of orbital.traits || []) {\n if (typeof trait === 'object' && 'stateMachine' in trait) {\n const states = trait.stateMachine?.states || [];\n if (states.some((s: { name: string }) => s.name === state)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n}\n\n// ============================================================================\n// Validation Functions\n// ============================================================================\n\n/**\n * Validate that a behavior reference is valid.\n *\n * @param name - Behavior name\n * @returns Error message if invalid, null if valid\n */\nexport function validateBehaviorReference(name: string): string | null {\n // Behaviors now use 'std-' prefix (kebab-case)\n if (!name.startsWith('std-')) {\n return `Behavior name must start with 'std-': ${name}`;\n }\n\n if (!isKnownBehavior(name)) {\n const suggestions = findSimilarBehaviors(name);\n if (suggestions.length > 0) {\n return `Unknown behavior '${name}'. Did you mean: ${suggestions.join(', ')}?`;\n }\n return `Unknown behavior: ${name}`;\n }\n\n return null;\n}\n\n/**\n * Find behaviors with similar names (for suggestions).\n *\n * @param name - Input name\n * @returns Array of similar behavior names\n */\nfunction findSimilarBehaviors(name: string): string[] {\n const normalizedInput = name.toLowerCase().replace('std-', '');\n return getAllBehaviorNames().filter((behaviorName) => {\n const normalizedBehavior = behaviorName.toLowerCase().replace('std-', '');\n return (\n normalizedBehavior.includes(normalizedInput) ||\n normalizedInput.includes(normalizedBehavior) ||\n levenshteinDistance(normalizedInput, normalizedBehavior) <= 3\n );\n });\n}\n\n/**\n * Simple Levenshtein distance for string similarity.\n */\nfunction levenshteinDistance(a: string, b: string): number {\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n\n const matrix: number[][] = [];\n\n for (let i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n\n for (let j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n\n for (let i = 1; i <= b.length; i++) {\n for (let j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n } else {\n matrix[i][j] = Math.min(\n matrix[i - 1][j - 1] + 1,\n matrix[i][j - 1] + 1,\n matrix[i - 1][j] + 1\n );\n }\n }\n }\n\n return matrix[b.length][a.length];\n}\n\n// ============================================================================\n// Statistics\n// ============================================================================\n\n/**\n * Get statistics about the behavior library.\n */\nexport function getBehaviorLibraryStats(): {\n totalBehaviors: number;\n totalStates: number;\n totalEvents: number;\n totalTransitions: number;\n totalTicks: number;\n} {\n let totalStates = 0;\n let totalEvents = 0;\n let totalTransitions = 0;\n let totalTicks = 0;\n\n for (const behavior of STANDARD_BEHAVIORS) {\n // Access stateMachine and ticks from orbital traits\n for (const orbital of behavior.orbitals || []) {\n for (const trait of orbital.traits || []) {\n if (typeof trait === 'object' && 'stateMachine' in trait) {\n const sm = trait.stateMachine;\n if (sm) {\n totalStates += (sm.states || []).length;\n totalEvents += (sm.events || []).length;\n totalTransitions += (sm.transitions || []).length;\n }\n totalTicks += (trait.ticks || []).length;\n }\n }\n }\n }\n\n return {\n totalBehaviors: STANDARD_BEHAVIORS.length,\n totalStates,\n totalEvents,\n totalTransitions,\n totalTicks,\n };\n}\n"]}
1
+ {"version":3,"sources":["../../behaviors/types.ts","../../behaviors/action-affinity.ts","../../behaviors/ui-interaction.ts","../../behaviors/data-management.ts","../../behaviors/async.ts","../../behaviors/feedback.ts","../../behaviors/game-core.ts","../../behaviors/game-entity.ts","../../behaviors/game-ui.ts","../../behaviors/registry.ts"],"names":["FILTER_BEHAVIOR"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Standard Behaviors Types\n *\n * Standard Behaviors are reusable OrbitalSchema definitions with a `std-` naming convention.\n * Each behavior is a self-contained .orb file that can function independently.\n *\n * @packageDocumentation\n */\n\nimport type {\n SExpr,\n RequiredField,\n Effect,\n Expression,\n Trait,\n TraitCategory,\n StateMachine,\n State,\n Event,\n Transition,\n Guard,\n TraitTick,\n TraitDataEntity,\n TraitEntityField,\n TraitEventListener,\n OrbitalSchema,\n Orbital,\n Entity,\n} from '@almadar/core/types';\n\n// Re-export core types for use in behaviors\nexport type {\n Effect,\n Expression,\n Trait,\n StateMachine,\n State,\n Event,\n Transition,\n Guard,\n TraitTick,\n TraitDataEntity,\n TraitEntityField,\n TraitCategory,\n OrbitalSchema,\n Orbital,\n Entity,\n};\n\n// ============================================================================\n// Legacy Type Aliases (for backward compatibility only)\n// ============================================================================\n\n/**\n * @deprecated Use OrbitalSchema directly. BehaviorTrait is kept for backward compatibility.\n */\nexport type BehaviorTrait = Trait;\n\n// ============================================================================\n// Item Action (for render_ui props)\n// ============================================================================\n\nexport interface ItemAction {\n label: string;\n event?: string;\n navigatesTo?: string;\n placement?: 'row' | 'bulk' | 'card' | 'footer' | 'header';\n variant?: 'primary' | 'secondary' | 'ghost' | 'danger';\n showWhen?: SExpr | string;\n}\n\n// ============================================================================\n// Behavior Metadata (for quick lookup and documentation)\n// ============================================================================\n\n/**\n * Behavior metadata extracted from a Trait for documentation purposes\n */\nexport interface BehaviorMetadata {\n name: string;\n category?: TraitCategory;\n description: string;\n states: string[];\n events: string[];\n tickCount: number;\n transitionCount: number;\n hasDataEntities: boolean;\n}\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\n/**\n * Extract metadata from a BehaviorTrait for documentation\n */\nexport function getBehaviorMetadata(behavior: BehaviorTrait): BehaviorMetadata {\n const sm = behavior.stateMachine;\n\n // Core types: State is always an object with name\n const states: string[] = (sm?.states || []).map(s => s.name);\n\n // Core types: Event is always an object with key\n const events: string[] = (sm?.events || []).map(e => e.key);\n\n return {\n name: behavior.name,\n category: behavior.category,\n description: behavior.description || '',\n states,\n events,\n tickCount: behavior.ticks?.length || 0,\n transitionCount: sm?.transitions?.length || 0,\n hasDataEntities: (behavior.dataEntities?.length || 0) > 0,\n };\n}\n\n/**\n * Validate behavior structure\n */\nexport function validateBehaviorStructure(behavior: BehaviorTrait): string[] {\n const errors: string[] = [];\n\n if (!behavior.name) {\n errors.push('Behavior must have a name');\n }\n\n if (!behavior.name.startsWith('std/')) {\n errors.push(`Behavior name should start with 'std/' (got: ${behavior.name})`);\n }\n\n const sm = behavior.stateMachine;\n if (sm) {\n if (!sm.states || sm.states.length === 0) {\n errors.push('State machine must have at least one state');\n }\n\n // Core types: check initial state using isInitial flag on State\n const hasInitialState = sm.states?.some(s => s.isInitial);\n if (!hasInitialState) {\n errors.push('State machine must have an initial state (set isInitial: true on one state)');\n }\n }\n\n return errors;\n}\n\n/**\n * Validate behavior events match transitions\n */\nexport function validateBehaviorEvents(behavior: BehaviorTrait): string[] {\n const errors: string[] = [];\n const sm = behavior.stateMachine;\n if (!sm) return errors;\n\n // Core types: Event is always an object with key\n const declaredEvents = new Set(\n (sm.events || []).map(e => e.key)\n );\n\n const transitionEvents = new Set(\n (sm.transitions || []).map(t => t.event)\n );\n\n for (const event of transitionEvents) {\n if (event && !declaredEvents.has(event)) {\n errors.push(`Transition uses undeclared event: ${event}`);\n }\n }\n\n return errors;\n}\n\n/**\n * Validate behavior states match transitions\n */\nexport function validateBehaviorStates(behavior: BehaviorTrait): string[] {\n const errors: string[] = [];\n const sm = behavior.stateMachine;\n if (!sm) return errors;\n\n // Core types: State is always an object with name\n const declaredStates = new Set(\n (sm.states || []).map(s => s.name)\n );\n\n for (const t of sm.transitions || []) {\n // Core types: from and to are both strings\n if (t.from && !declaredStates.has(t.from)) {\n errors.push(`Transition from undeclared state: ${t.from}`);\n }\n\n if (t.to && !declaredStates.has(t.to)) {\n errors.push(`Transition to undeclared state: ${t.to}`);\n }\n }\n\n return errors;\n}\n","/**\n * Action-Component Affinity Rules\n *\n * Defines which actions are valid on which components in the Closed Circuit pattern.\n * This enforces that behaviors only emit actions that make sense for their component context.\n *\n * The Closed Circuit pattern:\n * Behavior → render_ui → Component → User Action → Event Bus → Behavior\n *\n * @packageDocumentation\n */\n\n// ============================================================================\n// Action Affinity Types\n// ============================================================================\n\n/**\n * Action affinity definition for a component\n */\nexport interface ActionAffinity {\n /** Actions that are valid on this component */\n valid: string[];\n /** Actions that should NEVER appear on this component */\n invalid: string[];\n}\n\n/**\n * Action placement options\n */\nexport type ActionPlacement = 'row' | 'bulk' | 'card' | 'footer' | 'header';\n\n/**\n * Event naming convention for UI events\n */\nexport interface UIEventInfo {\n /** Event name (without UI: prefix) */\n event: string;\n /** Components that typically emit this event */\n emittedBy: string[];\n /** Expected payload shape */\n payload: Record<string, string>;\n /** Description of when this event is used */\n description: string;\n}\n\n// ============================================================================\n// Action-Component Affinity Matrix\n// ============================================================================\n\n/**\n * The action-component affinity matrix.\n * This defines which actions belong on which components.\n *\n * CRITICAL: Not all actions belong on all components.\n * The Closed Circuit pattern requires that actions match their component context.\n */\nexport const ACTION_AFFINITY: Record<string, ActionAffinity> = {\n // Display components - view data and trigger navigation/editing\n 'entity-table': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT', 'SORT', 'PAGE'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n 'entity-list': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n 'entity-cards': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n 'card-grid': {\n valid: ['VIEW', 'EDIT', 'DELETE', 'SELECT'],\n invalid: ['SAVE', 'CANCEL', 'SUBMIT', 'CREATE', 'CLOSE'],\n },\n\n // Header components - page-level actions\n 'page-header': {\n valid: ['CREATE', 'REFRESH', 'EXPORT', 'IMPORT', 'BACK', 'FILTER'],\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'SUBMIT'],\n },\n\n // Form components - data entry and submission\n 'form': {\n valid: ['SAVE', 'CANCEL', 'SUBMIT', 'CLOSE', 'RESET', 'FIELD_CHANGE', 'FIELD_BLUR'],\n invalid: ['VIEW', 'DELETE', 'CREATE', 'SELECT', 'EDIT'],\n },\n 'form-section': {\n valid: ['FIELD_CHANGE', 'FIELD_BLUR'],\n invalid: ['SAVE', 'VIEW', 'DELETE', 'CREATE', 'SELECT', 'EDIT'],\n },\n 'form-actions': {\n valid: ['SAVE', 'CANCEL', 'SUBMIT', 'RESET'],\n invalid: ['VIEW', 'DELETE', 'CREATE', 'SELECT', 'EDIT'],\n },\n\n // Detail components - view single entity with edit/delete options\n 'detail-panel': {\n valid: ['EDIT', 'DELETE', 'CLOSE', 'BACK'],\n invalid: ['SAVE', 'CREATE', 'SELECT', 'SUBMIT'],\n },\n 'entity-detail': {\n valid: ['EDIT', 'DELETE', 'CLOSE', 'BACK'],\n invalid: ['SAVE', 'CREATE', 'SELECT', 'SUBMIT'],\n },\n\n // Container components - open/close states\n 'modal': {\n valid: ['CLOSE', 'CONFIRM', 'CANCEL'],\n invalid: ['VIEW', 'CREATE', 'EDIT', 'DELETE'],\n },\n 'modal-container': {\n valid: ['CLOSE', 'CONFIRM', 'CANCEL'],\n invalid: ['VIEW', 'CREATE', 'EDIT', 'DELETE'],\n },\n 'drawer': {\n valid: ['CLOSE'],\n invalid: ['VIEW', 'CREATE', 'DELETE'],\n },\n\n // Navigation components\n 'tabs': {\n valid: ['SELECT_TAB'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'tab-bar': {\n valid: ['SELECT_TAB'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'wizard-navigation': {\n valid: ['NEXT', 'PREV', 'GO_TO', 'COMPLETE'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'wizard-progress': {\n valid: ['GO_TO'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT', 'NEXT', 'PREV'],\n },\n\n // Filter components\n 'filter-group': {\n valid: ['SET_FILTER', 'CLEAR_FILTER', 'CLEAR_ALL'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'search-bar': {\n valid: ['SEARCH', 'CLEAR_SEARCH'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'search-input': {\n valid: ['SEARCH', 'CLEAR_SEARCH'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n\n // Pagination components\n 'pagination': {\n valid: ['NEXT_PAGE', 'PREV_PAGE', 'GO_TO_PAGE', 'SET_PAGE_SIZE'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n\n // Confirmation components\n 'confirm-dialog': {\n valid: ['CONFIRM', 'CANCEL'],\n invalid: ['VIEW', 'CREATE', 'EDIT', 'DELETE', 'SAVE'],\n },\n\n // Empty/Loading states - no actions\n 'empty-state': {\n valid: ['CREATE'], // Often has a \"Create first item\" CTA\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'CANCEL'],\n },\n 'loading-state': {\n valid: [],\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'CREATE', 'CANCEL'],\n },\n\n // Stats/Dashboard - view only\n 'stats': {\n valid: [],\n invalid: ['SAVE', 'VIEW', 'EDIT', 'DELETE', 'CREATE', 'CANCEL'],\n },\n\n // Game components\n 'game-canvas': {\n valid: ['INPUT', 'PAUSE', 'UNPAUSE'],\n invalid: ['SAVE', 'CREATE', 'DELETE'],\n },\n 'game-hud': {\n valid: ['PAUSE'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-controls': {\n valid: ['INPUT', 'ACTION'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-menu': {\n valid: ['START', 'OPTIONS', 'QUIT', 'SELECT'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-pause-overlay': {\n valid: ['RESUME', 'QUIT', 'OPTIONS'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n 'game-over-screen': {\n valid: ['RETRY', 'QUIT', 'MAIN_MENU'],\n invalid: ['SAVE', 'CREATE', 'DELETE', 'VIEW', 'EDIT'],\n },\n};\n\n// ============================================================================\n// UI Event Definitions\n// ============================================================================\n\n/**\n * Standard UI events and their metadata\n */\nexport const UI_EVENTS: Record<string, UIEventInfo> = {\n VIEW: {\n event: 'VIEW',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards', 'card-grid'],\n payload: { row: 'object', entity: 'string' },\n description: 'View item detail',\n },\n EDIT: {\n event: 'EDIT',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards', 'detail-panel'],\n payload: { row: 'object', entity: 'string' },\n description: 'Edit item',\n },\n DELETE: {\n event: 'DELETE',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards', 'detail-panel'],\n payload: { row: 'object', entity: 'string' },\n description: 'Delete item',\n },\n CREATE: {\n event: 'CREATE',\n emittedBy: ['page-header', 'empty-state'],\n payload: { entity: 'string' },\n description: 'Create new item',\n },\n SAVE: {\n event: 'SAVE',\n emittedBy: ['form', 'form-actions'],\n payload: { data: 'object', entity: 'string' },\n description: 'Save form data',\n },\n CANCEL: {\n event: 'CANCEL',\n emittedBy: ['form', 'form-actions', 'modal', 'confirm-dialog'],\n payload: {},\n description: 'Cancel form/modal',\n },\n CLOSE: {\n event: 'CLOSE',\n emittedBy: ['modal', 'drawer', 'detail-panel'],\n payload: {},\n description: 'Close modal/drawer',\n },\n SELECT: {\n event: 'SELECT',\n emittedBy: ['entity-table', 'entity-list', 'entity-cards'],\n payload: { selectedIds: 'string[]' },\n description: 'Selection change',\n },\n SEARCH: {\n event: 'SEARCH',\n emittedBy: ['search-bar', 'search-input'],\n payload: { searchTerm: 'string' },\n description: 'Search filter',\n },\n CONFIRM: {\n event: 'CONFIRM',\n emittedBy: ['modal', 'confirm-dialog'],\n payload: {},\n description: 'Confirm action',\n },\n SELECT_TAB: {\n event: 'SELECT_TAB',\n emittedBy: ['tabs', 'tab-bar'],\n payload: { tabId: 'string' },\n description: 'Tab selection',\n },\n NEXT: {\n event: 'NEXT',\n emittedBy: ['wizard-navigation'],\n payload: {},\n description: 'Wizard next step',\n },\n PREV: {\n event: 'PREV',\n emittedBy: ['wizard-navigation'],\n payload: {},\n description: 'Wizard previous step',\n },\n};\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\n/**\n * Check if an action is valid for a component\n */\nexport function isActionValidForComponent(action: string, component: string): boolean {\n const affinity = ACTION_AFFINITY[component];\n if (!affinity) {\n // Unknown component - allow by default but warn\n return true;\n }\n return affinity.valid.includes(action) || !affinity.invalid.includes(action);\n}\n\n/**\n * Check if an action is explicitly invalid for a component\n */\nexport function isActionInvalidForComponent(action: string, component: string): boolean {\n const affinity = ACTION_AFFINITY[component];\n if (!affinity) {\n return false;\n }\n return affinity.invalid.includes(action);\n}\n\n/**\n * Get valid actions for a component\n */\nexport function getValidActionsForComponent(component: string): string[] {\n const affinity = ACTION_AFFINITY[component];\n return affinity?.valid ?? [];\n}\n\n/**\n * Get invalid actions for a component\n */\nexport function getInvalidActionsForComponent(component: string): string[] {\n const affinity = ACTION_AFFINITY[component];\n return affinity?.invalid ?? [];\n}\n\n/**\n * Get components that can emit a specific event\n */\nexport function getComponentsForEvent(event: string): string[] {\n return UI_EVENTS[event]?.emittedBy ?? [];\n}\n\n/**\n * Validate that a set of item actions are appropriate for a component\n *\n * @returns Array of validation errors (empty if valid)\n */\nexport function validateActionsForComponent(\n actions: Array<{ event?: string; label?: string }>,\n component: string\n): string[] {\n const errors: string[] = [];\n const affinity = ACTION_AFFINITY[component];\n\n if (!affinity) {\n // Unknown component - no validation\n return errors;\n }\n\n for (const action of actions) {\n if (action.event && affinity.invalid.includes(action.event)) {\n errors.push(\n `Action \"${action.event}\" is not valid on \"${component}\". ` +\n `Valid actions: ${affinity.valid.join(', ')}`\n );\n }\n }\n\n return errors;\n}\n\n/**\n * Get all known components in the affinity matrix\n */\nexport function getAllKnownComponents(): string[] {\n return Object.keys(ACTION_AFFINITY);\n}\n\n/**\n * Get all components by category\n */\nexport function getComponentsByCategory(): Record<string, string[]> {\n return {\n display: ['entity-table', 'entity-list', 'entity-cards', 'card-grid'],\n header: ['page-header'],\n form: ['form', 'form-section', 'form-actions'],\n detail: ['detail-panel', 'entity-detail'],\n container: ['modal', 'modal-container', 'drawer'],\n navigation: ['tabs', 'tab-bar', 'wizard-navigation', 'wizard-progress'],\n filter: ['filter-group', 'search-bar', 'search-input'],\n pagination: ['pagination'],\n confirmation: ['confirm-dialog'],\n state: ['empty-state', 'loading-state'],\n dashboard: ['stats'],\n game: [\n 'game-canvas',\n 'game-hud',\n 'game-controls',\n 'game-menu',\n 'game-pause-overlay',\n 'game-over-screen',\n ],\n };\n}\n","/**\n * UI Interaction Behaviors\n *\n * Standard behaviors for common UI interaction patterns.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-list - Entity List Management\n// ============================================================================\n\n/**\n * std-list - The core behavior for displaying and interacting with entity collections.\n *\n * States: Browsing → Creating/Viewing/Editing/Deleting\n * Implements complete CRUD operations with modal/drawer UI patterns.\n */\nexport const LIST_BEHAVIOR: OrbitalSchema = {\n name: 'std-list',\n version: '1.0.0',\n description: 'Entity list management with CRUD operations',\n orbitals: [\n {\n name: 'ListOrbital',\n entity: {\n name: 'ListState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selectedId', type: 'string', default: null },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'title', type: 'string', default: 'Items' },\n { name: 'columns', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'List',\n linkedEntity: 'ListState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'Creating' },\n { name: 'Viewing' },\n { name: 'Editing' },\n { name: 'Deleting' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'CREATE', name: 'Create' },\n { key: 'VIEW', name: 'View' },\n { key: 'EDIT', name: 'Edit' },\n { key: 'DELETE', name: 'Delete' },\n { key: 'CONFIRM_DELETE', name: 'Confirm Delete' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'SAVE', name: 'Save' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'page-header',\n title: '@entity.title',\n actions: [{ label: 'Create', event: 'CREATE', variant: 'primary' }],\n }],\n ['render-ui', 'main', {\n type: 'entity-table',\n entity: '@entity.entityType',\n columns: '@entity.columns',\n itemActions: [\n { label: 'View', event: 'VIEW', placement: 'row' },\n { label: 'Edit', event: 'EDIT', placement: 'row' },\n { label: 'Delete', event: 'DELETE', variant: 'danger', placement: 'row' },\n ],\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Creating',\n event: 'CREATE',\n effects: [\n ['render-ui', 'modal', {\n type: 'form-section',\n entity: '@entity.entityType',\n mode: 'create',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Viewing',\n event: 'VIEW',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'drawer', {\n type: 'detail-panel',\n entity: '@entity.entityType',\n data: '@payload.id',\n actions: [\n { label: 'Edit', event: 'EDIT' },\n { label: 'Close', event: 'CANCEL' },\n ],\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Editing',\n event: 'EDIT',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'drawer', {\n type: 'form-section',\n entity: '@entity.entityType',\n initialData: '@payload.id',\n mode: 'edit',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Viewing',\n to: 'Editing',\n event: 'EDIT',\n effects: [\n ['render-ui', 'drawer', {\n type: 'form-section',\n entity: '@entity.entityType',\n initialData: '@entity.selectedId',\n mode: 'edit',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'Deleting',\n event: 'DELETE',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'modal', {\n type: 'confirm-dialog',\n isOpen: true,\n onClose: 'CANCEL',\n onConfirm: 'CONFIRM_DELETE',\n title: 'Delete Confirmation',\n message: 'Are you sure you want to delete this item?',\n confirmText: 'Delete',\n variant: 'danger',\n }],\n ],\n },\n {\n from: 'Creating',\n to: 'Browsing',\n event: 'SAVE',\n effects: [\n ['persist', 'create', '@entity.entityType', '@payload.data'],\n ['notify', 'in_app', 'Created successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Editing',\n to: 'Browsing',\n event: 'SAVE',\n effects: [\n ['persist', 'update', '@entity.entityType', '@payload.data'],\n ['notify', 'in_app', 'Updated successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Deleting',\n to: 'Browsing',\n event: 'CONFIRM_DELETE',\n effects: [\n ['persist', 'delete', '@entity.entityType', '@entity.selectedId'],\n ['notify', 'in_app', 'Deleted successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Creating',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n {\n from: 'Viewing',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n {\n from: 'Editing',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n {\n from: 'Deleting',\n to: 'Browsing',\n event: 'CANCEL',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-detail - Single Entity View\n// ============================================================================\n\nexport const DETAIL_BEHAVIOR: OrbitalSchema = {\n name: 'std-detail',\n version: '1.0.0',\n description: 'Single entity view with edit/delete capabilities',\n orbitals: [\n {\n name: 'DetailOrbital',\n entity: {\n name: 'DetailState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'entityId', type: 'string', default: null },\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'hasChanges', type: 'boolean', default: false },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'fields', type: 'array', default: [] },\n { name: 'returnUrl', type: 'string', default: '/' },\n ],\n },\n traits: [\n {\n name: 'Detail',\n linkedEntity: 'DetailState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Viewing', isInitial: true },\n { name: 'Editing' },\n { name: 'Deleting' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'EDIT', name: 'Edit' },\n { key: 'SAVE', name: 'Save' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'DELETE', name: 'Delete' },\n { key: 'CONFIRM_DELETE', name: 'Confirm Delete' },\n ],\n transitions: [\n {\n from: 'Viewing',\n to: 'Viewing',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'page-header',\n title: '@entity.name',\n actions: [\n { label: 'Edit', event: 'EDIT' },\n { label: 'Delete', event: 'DELETE', variant: 'danger' },\n ],\n }],\n ['render-ui', 'main', {\n type: 'detail-panel',\n entity: '@entity.entityType',\n fieldNames: '@entity.fields',\n }],\n ],\n },\n {\n from: 'Viewing',\n to: 'Editing',\n event: 'EDIT',\n effects: [\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n mode: 'edit',\n fields: '@entity.fields',\n onSubmit: 'SAVE',\n onCancel: 'CANCEL',\n }],\n ],\n },\n {\n from: 'Editing',\n to: 'Viewing',\n event: 'SAVE',\n effects: [\n ['persist', 'update', '@entity.entityType', '@payload.data'],\n ['notify', 'in_app', 'Updated successfully'],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Editing',\n to: 'Viewing',\n event: 'CANCEL',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'Viewing',\n to: 'Deleting',\n event: 'DELETE',\n effects: [\n ['render-ui', 'modal', {\n type: 'confirm-dialog',\n isOpen: true,\n onClose: 'CANCEL',\n onConfirm: 'CONFIRM',\n title: 'Delete Confirmation',\n message: 'Are you sure you want to delete this item?',\n }],\n ],\n },\n {\n from: 'Deleting',\n to: 'Viewing',\n event: 'CONFIRM_DELETE',\n effects: [\n ['persist', 'delete', '@entity.entityType', '@entity.id'],\n ['navigate', '@entity.returnUrl'],\n ],\n },\n {\n from: 'Deleting',\n to: 'Viewing',\n event: 'CANCEL',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-form - Form State Management\n// ============================================================================\n\nexport const FORM_BEHAVIOR: OrbitalSchema = {\n name: 'std-form',\n version: '1.0.0',\n description: 'Form state management with validation and submission',\n orbitals: [\n {\n name: 'FormOrbital',\n entity: {\n name: 'FormState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'values', type: 'object', default: {} },\n { name: 'errors', type: 'object', default: {} },\n { name: 'touched', type: 'object', default: {} },\n { name: 'isDirty', type: 'boolean', default: false },\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'fields', type: 'array', default: [] },\n { name: 'mode', type: 'string', default: 'create' },\n { name: 'validation', type: 'object', default: {} },\n { name: 'cancelEvent', type: 'string', default: 'CANCEL' },\n { name: 'submitEvent', type: 'string', default: 'SUBMIT_SUCCESS' },\n ],\n },\n traits: [\n {\n name: 'Form',\n linkedEntity: 'FormState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Editing' },\n { name: 'Validating' },\n { name: 'Submitting' },\n { name: 'Success', isTerminal: true },\n { name: 'Error' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FIELD_CHANGE', name: 'Field Change' },\n { key: 'FIELD_BLUR', name: 'Field Blur' },\n { key: 'SUBMIT', name: 'Submit' },\n { key: 'VALIDATION_PASSED', name: 'Validation Passed' },\n { key: 'VALIDATION_FAILED', name: 'Validation Failed' },\n { key: 'SUBMIT_SUCCESS', name: 'Submit Success' },\n { key: 'SUBMIT_ERROR', name: 'Submit Error' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Editing',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n fields: '@entity.fields',\n initialData: '@entity.values',\n onSubmit: 'SUBMIT',\n onCancel: '@entity.cancelEvent',\n }],\n ],\n },\n {\n from: 'Editing',\n to: 'Editing',\n event: 'FIELD_CHANGE',\n effects: [\n ['set', '@entity.values', ['object/set', '@entity.values', '@payload.field', '@payload.value']],\n ['set', '@entity.isDirty', true],\n ],\n },\n {\n from: 'Editing',\n to: 'Editing',\n event: 'FIELD_BLUR',\n effects: [\n ['set', '@entity.touched', ['object/set', '@entity.touched', '@payload.field', true]],\n ],\n },\n {\n from: 'Editing',\n to: 'Validating',\n event: 'SUBMIT',\n effects: [\n ['let', [['result', ['validate/check', '@entity.values', '@entity.validation']]],\n ['if', '@result.valid',\n ['emit', 'VALIDATION_PASSED'],\n ['do',\n ['set', '@entity.errors', '@result.errors'],\n ['emit', 'VALIDATION_FAILED']]]],\n ],\n },\n {\n from: 'Validating',\n to: 'Submitting',\n event: 'VALIDATION_PASSED',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['if', ['=', '@entity.mode', 'create'],\n ['persist', 'create', '@entity.entityType', '@entity.values'],\n ['persist', 'update', '@entity.entityType', '@entity.values']],\n ],\n },\n {\n from: 'Validating',\n to: 'Editing',\n event: 'VALIDATION_FAILED',\n effects: [\n ['notify', 'in_app', 'Please fix the validation errors'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', 'in_app', 'Saved successfully'],\n ['emit', '@entity.submitEvent', { data: '@entity.values' }],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.errors', { _form: '@payload.error' }],\n ['notify', 'in_app', '@payload.error'],\n ],\n },\n {\n from: 'Editing',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.values', {}],\n ['set', '@entity.errors', {}],\n ['set', '@entity.touched', {}],\n ['set', '@entity.isDirty', false],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.values', {}],\n ['set', '@entity.errors', {}],\n ['set', '@entity.touched', {}],\n ['set', '@entity.isDirty', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-modal - Modal Dialog\n// ============================================================================\n\nexport const MODAL_BEHAVIOR: OrbitalSchema = {\n name: 'std-modal',\n version: '1.0.0',\n description: 'Modal dialog with open/close state management',\n orbitals: [\n {\n name: 'ModalOrbital',\n entity: {\n name: 'ModalState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'content', type: 'object', default: null },\n ],\n },\n traits: [\n {\n name: 'Modal',\n linkedEntity: 'ModalState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Closed', isInitial: true },\n { name: 'Open' },\n ],\n events: [\n { key: 'OPEN', name: 'Open' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CONFIRM', name: 'Confirm' },\n ],\n transitions: [\n {\n from: 'Closed',\n to: 'Open',\n event: 'OPEN',\n effects: [\n ['set', '@entity.content', '@payload.content'],\n ['render-ui', 'modal', {\n type: 'modal',\n isOpen: true,\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CLOSE',\n effects: [],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CONFIRM',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-drawer - Side Drawer Panel\n// ============================================================================\n\nexport const DRAWER_BEHAVIOR: OrbitalSchema = {\n name: 'std-drawer',\n version: '1.0.0',\n description: 'Side drawer panel for detail views and forms',\n orbitals: [\n {\n name: 'DrawerOrbital',\n entity: {\n name: 'DrawerState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'content', type: 'object', default: null },\n ],\n },\n traits: [\n {\n name: 'Drawer',\n linkedEntity: 'DrawerState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Closed', isInitial: true },\n { name: 'Open' },\n ],\n events: [\n { key: 'OPEN', name: 'Open' },\n { key: 'CLOSE', name: 'Close' },\n ],\n transitions: [\n {\n from: 'Closed',\n to: 'Open',\n event: 'OPEN',\n effects: [\n ['set', '@entity.content', '@payload.content'],\n ['render-ui', 'drawer', {\n type: 'drawer',\n isOpen: true,\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CLOSE',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-tabs - Tabbed Navigation\n// ============================================================================\n\nexport const TABS_BEHAVIOR: OrbitalSchema = {\n name: 'std-tabs',\n version: '1.0.0',\n description: 'Tabbed navigation within a page',\n orbitals: [\n {\n name: 'TabsOrbital',\n entity: {\n name: 'TabsState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'activeTab', type: 'string', default: null },\n { name: 'tabs', type: 'array', default: [] },\n { name: 'defaultTab', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Tabs',\n linkedEntity: 'TabsState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_TAB', name: 'Select Tab' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.activeTab', '@entity.defaultTab'],\n ['render-ui', 'main', {\n type: 'tabs',\n tabs: '@entity.tabs',\n activeTab: '@entity.activeTab',\n onTabChange: 'SELECT_TAB',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT_TAB',\n effects: [['set', '@entity.activeTab', '@payload.tabId']],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-wizard - Multi-Step Flow\n// ============================================================================\n\nexport const WIZARD_BEHAVIOR: OrbitalSchema = {\n name: 'std-wizard',\n version: '1.0.0',\n description: 'Multi-step wizard flow - each step is a state',\n orbitals: [\n {\n name: 'WizardOrbital',\n entity: {\n name: 'WizardState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'stepData', type: 'object', default: {} },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'step1Fields', type: 'array', default: [] },\n { name: 'step2Fields', type: 'array', default: [] },\n { name: 'completionUrl', type: 'string', default: '/' },\n ],\n },\n traits: [\n {\n name: 'Wizard',\n linkedEntity: 'WizardState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Step1', isInitial: true },\n { name: 'Step2' },\n { name: 'Step3' },\n { name: 'Complete', isTerminal: true },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEXT', name: 'Next' },\n { key: 'PREV', name: 'Previous' },\n { key: 'COMPLETE', name: 'Complete' },\n ],\n transitions: [\n {\n from: 'Step1',\n to: 'Step1',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'wizard-progress',\n steps: ['Step 1', 'Step 2', 'Step 3'],\n currentStep: 0,\n }],\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n fields: '@entity.step1Fields',\n onSubmit: 'NEXT',\n }],\n ],\n },\n {\n from: 'Step1',\n to: 'Step2',\n event: 'NEXT',\n effects: [\n ['set', '@entity.stepData.step1', '@payload'],\n ['render-ui', 'main', {\n type: 'wizard-progress',\n steps: ['Step 1', 'Step 2', 'Step 3'],\n currentStep: 1,\n }],\n ['render-ui', 'main', {\n type: 'form-section',\n entity: '@entity.entityType',\n fields: '@entity.step2Fields',\n onSubmit: 'NEXT',\n onCancel: 'PREV',\n }],\n ],\n },\n {\n from: 'Step2',\n to: 'Step1',\n event: 'PREV',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'Step2',\n to: 'Step3',\n event: 'NEXT',\n effects: [\n ['set', '@entity.stepData.step2', '@payload'],\n ['render-ui', 'main', {\n type: 'wizard-progress',\n steps: ['Step 1', 'Step 2', 'Step 3'],\n currentStep: 2,\n }],\n ['render-ui', 'main', {\n type: 'detail-panel',\n entity: '@entity.entityType',\n fieldNames: ['step1', 'step2'],\n title: 'Review',\n }],\n ],\n },\n {\n from: 'Step3',\n to: 'Step2',\n event: 'PREV',\n effects: [],\n },\n {\n from: 'Step3',\n to: 'Complete',\n event: 'COMPLETE',\n effects: [\n ['persist', 'create', '@entity.entityType', '@entity.stepData'],\n ['notify', 'in_app', 'Wizard completed!'],\n ['navigate', '@entity.completionUrl'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-masterdetail - List + Detail Layout\n// ============================================================================\n\nexport const MASTER_DETAIL_BEHAVIOR: OrbitalSchema = {\n name: 'std-masterdetail',\n version: '1.0.0',\n description: 'Master-detail layout with synchronized list and detail views',\n orbitals: [\n {\n name: 'MasterDetailOrbital',\n entity: {\n name: 'MasterDetailState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selectedId', type: 'string', default: null },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'masterColumns', type: 'array', default: [] },\n { name: 'detailFields', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'MasterDetail',\n linkedEntity: 'MasterDetailState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'NoSelection', isInitial: true },\n { name: 'Selected' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select' },\n { key: 'DESELECT', name: 'Deselect' },\n ],\n transitions: [\n {\n from: 'NoSelection',\n to: 'NoSelection',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'master-detail',\n master: '@entity.entityType',\n detail: '@entity.selectedId',\n hasSelection: '@entity.hasSelection',\n }],\n ['render-ui', 'main', {\n type: 'empty-state',\n message: 'Select an item to view details',\n }],\n ],\n },\n {\n from: 'NoSelection',\n to: 'Selected',\n event: 'SELECT',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'main', {\n type: 'detail-panel',\n entity: '@entity.entityType',\n data: '@payload.id',\n fieldNames: '@entity.detailFields',\n }],\n ],\n },\n {\n from: 'Selected',\n to: 'Selected',\n event: 'SELECT',\n effects: [\n ['set', '@entity.selectedId', '@payload.id'],\n ['render-ui', 'main', {\n type: 'detail-panel',\n entity: '@entity.entityType',\n data: '@payload.id',\n fieldNames: '@entity.detailFields',\n }],\n ],\n },\n {\n from: 'Selected',\n to: 'NoSelection',\n event: 'DESELECT',\n effects: [\n ['set', '@entity.selectedId', null],\n ['render-ui', 'main', {\n type: 'empty-state',\n message: 'Select an item to view details',\n }],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-filter - Filter Management (ui-interaction version)\n// ============================================================================\n\nexport const FILTER_BEHAVIOR: OrbitalSchema = {\n name: 'std-filter-ui',\n version: '1.0.0',\n description: 'Filter and search management for lists',\n orbitals: [\n {\n name: 'FilterOrbital',\n entity: {\n name: 'FilterState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'filters', type: 'object', default: {} },\n { name: 'searchTerm', type: 'string', default: '' },\n { name: 'filterConfig', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'Filter',\n linkedEntity: 'FilterState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Filtering' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SET_FILTER', name: 'Set Filter' },\n { key: 'CLEAR_FILTERS', name: 'Clear Filters' },\n { key: 'SEARCH', name: 'Search' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['render-ui', 'main', {\n type: 'filter-group',\n entity: '@entity.entityType',\n filters: '@entity.filterConfig',\n onFilterChange: 'SET_FILTER',\n onClearAll: 'CLEAR_FILTERS',\n }],\n ],\n },\n {\n from: 'Idle',\n to: 'Filtering',\n event: 'SET_FILTER',\n effects: [\n ['set', '@entity.filters', ['object/set', '@entity.filters', '@payload.field', '@payload.value']],\n ['emit', 'FILTER_CHANGED', '@entity.filters'],\n ],\n },\n {\n from: 'Filtering',\n to: 'Idle',\n event: 'SET_FILTER',\n effects: [\n ['set', '@entity.filters', ['object/set', '@entity.filters', '@payload.field', '@payload.value']],\n ['emit', 'FILTER_CHANGED', '@entity.filters'],\n ],\n },\n {\n from: 'Filtering',\n to: 'Idle',\n event: 'CLEAR_FILTERS',\n effects: [\n ['set', '@entity.filters', {}],\n ['set', '@entity.searchTerm', ''],\n ['emit', 'FILTER_CHANGED', {}],\n ],\n },\n {\n from: 'Idle',\n to: 'Filtering',\n event: 'SEARCH',\n effects: [\n ['set', '@entity.searchTerm', '@payload.term'],\n ['emit', 'SEARCH_CHANGED', '@payload.term'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const UI_INTERACTION_BEHAVIORS: OrbitalSchema[] = [\n LIST_BEHAVIOR,\n DETAIL_BEHAVIOR,\n FORM_BEHAVIOR,\n MODAL_BEHAVIOR,\n DRAWER_BEHAVIOR,\n TABS_BEHAVIOR,\n WIZARD_BEHAVIOR,\n MASTER_DETAIL_BEHAVIOR,\n FILTER_BEHAVIOR,\n];\n","/**\n * Data Management Behaviors\n *\n * Standard behaviors for data operations like pagination, selection,\n * sorting, filtering, and search.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-pagination - Page Navigation\n// ============================================================================\n\n/**\n * std-pagination - Page navigation behavior for large data sets.\n */\nexport const PAGINATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-pagination',\n version: '1.0.0',\n description: 'Page-based navigation for large data sets',\n orbitals: [\n {\n name: 'PaginationOrbital',\n entity: {\n name: 'PaginationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'page', type: 'number', default: 1 },\n { name: 'pageSize', type: 'number', default: 20 },\n { name: 'totalItems', type: 'number', default: 0 },\n { name: 'defaultPageSize', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Pagination',\n linkedEntity: 'PaginationState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEXT_PAGE', name: 'Next Page' },\n { key: 'PREV_PAGE', name: 'Previous Page' },\n { key: 'GO_TO_PAGE', name: 'Go to Page' },\n { key: 'SET_PAGE_SIZE', name: 'Set Page Size' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.page', 1],\n ['set', '@entity.pageSize', '@entity.defaultPageSize'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'NEXT_PAGE',\n guard: ['<', '@entity.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]],\n effects: [['set', '@entity.page', ['+', '@entity.page', 1]]],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'PREV_PAGE',\n guard: ['>', '@entity.page', 1],\n effects: [['set', '@entity.page', ['-', '@entity.page', 1]]],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GO_TO_PAGE',\n guard: ['and',\n ['>=', '@payload.page', 1],\n ['<=', '@payload.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]]],\n effects: [['set', '@entity.page', '@payload.page']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SET_PAGE_SIZE',\n effects: [\n ['set', '@entity.pageSize', '@payload.size'],\n ['set', '@entity.page', 1],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-selection - Single/Multi Selection\n// ============================================================================\n\nexport const SELECTION_BEHAVIOR: OrbitalSchema = {\n name: 'std-selection',\n version: '1.0.0',\n description: 'Single or multi-selection management',\n orbitals: [\n {\n name: 'SelectionOrbital',\n entity: {\n name: 'SelectionState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selected', type: 'array', default: [] },\n { name: 'lastSelected', type: 'string', default: null },\n { name: 'mode', type: 'string', default: 'multi' },\n { name: 'maxSelection', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Selection',\n linkedEntity: 'SelectionState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select' },\n { key: 'DESELECT', name: 'Deselect' },\n { key: 'TOGGLE', name: 'Toggle' },\n { key: 'SELECT_ALL', name: 'Select All' },\n { key: 'CLEAR', name: 'Clear' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.selected', []],\n ['set', '@entity.lastSelected', null],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT',\n effects: [\n ['if', ['=', '@entity.mode', 'single'],\n ['do',\n ['set', '@entity.selected', ['@payload.id']],\n ['set', '@entity.lastSelected', '@payload.id']],\n ['if', ['or',\n ['not', '@entity.maxSelection'],\n ['<', ['array/len', '@entity.selected'], '@entity.maxSelection']],\n ['do',\n ['set', '@entity.selected', ['array/append', '@entity.selected', '@payload.id']],\n ['set', '@entity.lastSelected', '@payload.id']],\n ['notify', 'in_app', 'Maximum selection reached']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'DESELECT',\n effects: [\n ['set', '@entity.selected', ['array/filter', '@entity.selected', ['fn', 'id', ['!=', '@id', '@payload.id']]]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TOGGLE',\n effects: [\n ['if', ['array/includes', '@entity.selected', '@payload.id'],\n ['set', '@entity.selected', ['array/filter', '@entity.selected', ['fn', 'id', ['!=', '@id', '@payload.id']]]],\n ['if', ['or', ['=', '@entity.mode', 'single'], ['or',\n ['not', '@entity.maxSelection'],\n ['<', ['array/len', '@entity.selected'], '@entity.maxSelection']]],\n ['set', '@entity.selected',\n ['if', ['=', '@entity.mode', 'single'],\n ['@payload.id'],\n ['array/append', '@entity.selected', '@payload.id']]],\n ['notify', 'in_app', 'Maximum selection reached']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT_ALL',\n guard: ['=', '@entity.mode', 'multi'],\n effects: [['set', '@entity.selected', '@payload.ids']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR',\n effects: [\n ['set', '@entity.selected', []],\n ['set', '@entity.lastSelected', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-sort - Sorting\n// ============================================================================\n\nexport const SORT_BEHAVIOR: OrbitalSchema = {\n name: 'std-sort',\n version: '1.0.0',\n description: 'Sorting by field with direction toggle',\n orbitals: [\n {\n name: 'SortOrbital',\n entity: {\n name: 'SortState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'sortField', type: 'string', default: null },\n { name: 'sortDirection', type: 'string', default: 'asc' },\n { name: 'defaultField', type: 'string', default: null },\n { name: 'defaultDirection', type: 'string', default: 'asc' },\n ],\n },\n traits: [\n {\n name: 'Sort',\n linkedEntity: 'SortState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SORT', name: 'Sort' },\n { key: 'TOGGLE_DIRECTION', name: 'Toggle Direction' },\n { key: 'CLEAR_SORT', name: 'Clear Sort' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.sortField', '@entity.defaultField'],\n ['set', '@entity.sortDirection', '@entity.defaultDirection'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SORT',\n effects: [\n ['if', ['=', '@entity.sortField', '@payload.field'],\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n ['do',\n ['set', '@entity.sortField', '@payload.field'],\n ['set', '@entity.sortDirection', 'asc']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TOGGLE_DIRECTION',\n guard: ['!=', '@entity.sortField', null],\n effects: [\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR_SORT',\n effects: [\n ['set', '@entity.sortField', null],\n ['set', '@entity.sortDirection', 'asc'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-filter - Query Singleton Pattern for Filtering\n// ============================================================================\n\n/**\n * std-filter - Query Singleton pattern for explicit filtering.\n *\n * This behavior uses a singleton entity to hold filter state, making filtering\n * explicit in the schema rather than implicit in component behavior.\n */\nexport const FILTER_BEHAVIOR: OrbitalSchema = {\n name: 'std-filter',\n version: '1.0.0',\n description: 'Query Singleton pattern for explicit filtering - use with entity-table query prop',\n orbitals: [\n {\n name: 'FilterOrbital',\n entity: {\n name: 'QueryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'status', type: 'string', default: null },\n { name: 'priority', type: 'string', default: null },\n { name: 'search', type: 'string', default: '' },\n { name: 'sortBy', type: 'string', default: 'createdAt' },\n { name: 'sortOrder', type: 'string', default: 'desc' },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'filters', type: 'array', default: [] },\n { name: 'columns', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'Filter',\n linkedEntity: 'QueryState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FILTER', name: 'Filter' },\n { key: 'SEARCH', name: 'Search' },\n { key: 'SORT', name: 'Sort' },\n { key: 'CLEAR_FILTERS', name: 'Clear Filters' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['render-ui', 'sidebar', {\n type: 'filter-group',\n entity: '@entity.entityType',\n query: '@QueryState',\n filters: '@entity.filters',\n }],\n ['render-ui', 'main', {\n type: 'entity-table',\n entity: '@entity.entityType',\n query: '@QueryState',\n columns: '@entity.columns',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'FILTER',\n effects: [\n ['set', '@QueryState.status', '@payload.status'],\n ['set', '@QueryState.priority', '@payload.priority'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SEARCH',\n effects: [['set', '@QueryState.search', '@payload.searchTerm']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SORT',\n effects: [\n ['set', '@QueryState.sortBy', '@payload.field'],\n ['set', '@QueryState.sortOrder', '@payload.order'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR_FILTERS',\n effects: [\n ['set', '@QueryState.status', null],\n ['set', '@QueryState.priority', null],\n ['set', '@QueryState.search', ''],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-search - Search with Debounce\n// ============================================================================\n\n/**\n * std-search - Search with debounce.\n */\nexport const SEARCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-search',\n version: '1.0.0',\n description: 'Search with debounce - updates QueryState.search field',\n orbitals: [\n {\n name: 'SearchOrbital',\n entity: {\n name: 'SearchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'search', type: 'string', default: '' },\n { name: 'isSearching', type: 'boolean', default: false },\n { name: 'minLength', type: 'number', default: 2 },\n { name: 'debounceMs', type: 'number', default: 300 },\n { name: 'placeholder', type: 'string', default: 'Search...' },\n ],\n },\n traits: [\n {\n name: 'Search',\n linkedEntity: 'SearchState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Searching' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SEARCH', name: 'Search' },\n { key: 'CLEAR_SEARCH', name: 'Clear Search' },\n { key: 'SEARCH_COMPLETE', name: 'Search Complete' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ['render-ui', 'main', {\n type: 'search-input',\n query: '@SearchState',\n placeholder: '@entity.placeholder',\n }],\n ],\n },\n {\n from: 'Idle',\n to: 'Searching',\n event: 'SEARCH',\n guard: ['>=', ['str/len', '@payload.term'], '@entity.minLength'],\n effects: [\n ['set', '@entity.search', '@payload.term'],\n ['set', '@entity.isSearching', true],\n ['async/debounce', '@entity.debounceMs', ['emit', 'SEARCH_COMPLETE']],\n ],\n },\n {\n from: 'Idle',\n to: 'Idle',\n event: 'SEARCH',\n guard: ['<', ['str/len', '@payload.term'], '@entity.minLength'],\n effects: [['set', '@entity.search', '@payload.term']],\n },\n {\n from: 'Searching',\n to: 'Idle',\n event: 'SEARCH_COMPLETE',\n effects: [['set', '@entity.isSearching', false]],\n },\n {\n from: 'Idle',\n to: 'Idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ],\n },\n {\n from: 'Searching',\n to: 'Idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Data Management Behaviors\n// ============================================================================\n\nexport const DATA_MANAGEMENT_BEHAVIORS: OrbitalSchema[] = [\n PAGINATION_BEHAVIOR,\n SELECTION_BEHAVIOR,\n SORT_BEHAVIOR,\n FILTER_BEHAVIOR,\n SEARCH_BEHAVIOR,\n];\n","/**\n * Async Behaviors\n *\n * Standard behaviors for asynchronous operations like loading,\n * fetching, submission, retry, and polling.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-loading - Loading State Management\n// ============================================================================\n\nexport const LOADING_BEHAVIOR: OrbitalSchema = {\n name: 'std-loading',\n version: '1.0.0',\n description: 'Loading state management with success/error handling',\n orbitals: [\n {\n name: 'LoadingOrbital',\n entity: {\n name: 'LoadingState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'data', type: 'object', default: null },\n { name: 'startTime', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Loading',\n linkedEntity: 'LoadingState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Loading' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'SUCCESS', name: 'Success' },\n { key: 'ERROR', name: 'Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Loading',\n event: 'START',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Loading',\n to: 'Success',\n event: 'SUCCESS',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.data', '@payload.data'],\n ],\n },\n {\n from: 'Loading',\n to: 'Error',\n event: 'ERROR',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', '@payload.error'],\n ['render-ui', 'content', {\n type: 'error-state',\n message: '@entity.error',\n onRetry: 'RETRY',\n }],\n ],\n },\n {\n from: 'Error',\n to: 'Loading',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-fetch - Data Fetching\n// ============================================================================\n\nexport const FETCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-fetch',\n version: '1.0.0',\n description: 'Data fetching with caching and refresh capabilities',\n orbitals: [\n {\n name: 'FetchOrbital',\n entity: {\n name: 'FetchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'data', type: 'object', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'isFetching', type: 'boolean', default: false },\n { name: 'lastFetchedAt', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Fetch',\n linkedEntity: 'FetchState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Fetching' },\n { name: 'Stale' },\n { name: 'Fresh' },\n { name: 'Error' },\n ],\n events: [\n { key: 'FETCH', name: 'Fetch' },\n { key: 'FETCH_SUCCESS', name: 'Fetch Success' },\n { key: 'FETCH_ERROR', name: 'Fetch Error' },\n { key: 'REFRESH', name: 'Refresh' },\n { key: 'INVALIDATE', name: 'Invalidate' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Fetching',\n to: 'Fresh',\n event: 'FETCH_SUCCESS',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.data', '@payload.data'],\n ['set', '@entity.lastFetchedAt', ['time/now']],\n ],\n },\n {\n from: 'Fetching',\n to: 'Error',\n event: 'FETCH_ERROR',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.error', '@payload.error'],\n ],\n },\n {\n from: 'Fresh',\n to: 'Stale',\n event: 'INVALIDATE',\n effects: [['set', '@entity.lastFetchedAt', null]],\n },\n {\n from: 'Fresh',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Error',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-submit - Form Submission\n// ============================================================================\n\nexport const SUBMIT_BEHAVIOR: OrbitalSchema = {\n name: 'std-submit',\n version: '1.0.0',\n description: 'Async submission with retry capabilities',\n orbitals: [\n {\n name: 'SubmitOrbital',\n entity: {\n name: 'SubmitState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'lastSubmittedData', type: 'object', default: null },\n { name: 'successMessage', type: 'string', default: 'Submitted successfully' },\n { name: 'errorMessage', type: 'string', default: 'Submission failed' },\n { name: 'resetOnSuccess', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Submit',\n linkedEntity: 'SubmitState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Submitting' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'SUBMIT', name: 'Submit' },\n { key: 'SUBMIT_SUCCESS', name: 'Submit Success' },\n { key: 'SUBMIT_ERROR', name: 'Submit Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Submitting',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', '@payload.data'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', 'in_app', '@entity.successMessage'],\n ['when', '@entity.resetOnSuccess', ['emit', 'RESET']],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', '@entity.errorMessage'],\n ],\n },\n {\n from: 'Error',\n to: 'Submitting',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-retry - Automatic Retry\n// ============================================================================\n\nexport const RETRY_BEHAVIOR: OrbitalSchema = {\n name: 'std-retry',\n version: '1.0.0',\n description: 'Automatic retry with exponential backoff',\n orbitals: [\n {\n name: 'RetryOrbital',\n entity: {\n name: 'RetryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'attempt', type: 'number', default: 0 },\n { name: 'error', type: 'object', default: null },\n { name: 'nextRetryAt', type: 'number', default: null },\n { name: 'maxAttempts', type: 'number', default: 3 },\n { name: 'initialDelayMs', type: 'number', default: 1000 },\n { name: 'backoffMultiplier', type: 'number', default: 2 },\n { name: 'maxDelayMs', type: 'number', default: 30000 },\n ],\n },\n traits: [\n {\n name: 'Retry',\n linkedEntity: 'RetryState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Attempting' },\n { name: 'Waiting' },\n { name: 'Success', isTerminal: true },\n { name: 'Failed', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'ATTEMPT_SUCCESS', name: 'Attempt Success' },\n { key: 'ATTEMPT_ERROR', name: 'Attempt Error' },\n { key: 'RETRY_TICK', name: 'Retry Tick' },\n { key: 'GIVE_UP', name: 'Give Up' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Attempting',\n event: 'START',\n effects: [\n ['set', '@entity.attempt', 1],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Attempting',\n to: 'Success',\n event: 'ATTEMPT_SUCCESS',\n effects: [],\n },\n {\n from: 'Attempting',\n to: 'Waiting',\n event: 'ATTEMPT_ERROR',\n guard: ['<', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['let', [['delay', ['math/min',\n ['*', '@entity.initialDelayMs', ['math/pow', '@entity.backoffMultiplier', '@entity.attempt']],\n '@entity.maxDelayMs']]],\n ['set', '@entity.nextRetryAt', ['+', ['time/now'], '@delay']],\n ['async/delay', '@delay', ['emit', 'RETRY_TICK']]],\n ],\n },\n {\n from: 'Attempting',\n to: 'Failed',\n event: 'ATTEMPT_ERROR',\n guard: ['>=', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', 'All retry attempts failed'],\n ],\n },\n {\n from: 'Waiting',\n to: 'Attempting',\n event: 'RETRY_TICK',\n effects: [['set', '@entity.attempt', ['+', '@entity.attempt', 1]]],\n },\n {\n from: 'Waiting',\n to: 'Failed',\n event: 'GIVE_UP',\n effects: [['notify', 'in_app', 'Retry cancelled']],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n {\n from: 'Failed',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-poll - Periodic Polling\n// ============================================================================\n\nexport const POLL_BEHAVIOR: OrbitalSchema = {\n name: 'std-poll',\n version: '1.0.0',\n description: 'Periodic polling with start/stop control',\n orbitals: [\n {\n name: 'PollOrbital',\n entity: {\n name: 'PollState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isPolling', type: 'boolean', default: false },\n { name: 'pollCount', type: 'number', default: 0 },\n { name: 'lastPollAt', type: 'number', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'intervalMs', type: 'number', default: 5000 },\n { name: 'maxPolls', type: 'number', default: null },\n { name: 'stopOnError', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Poll',\n linkedEntity: 'PollState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Polling' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'POLL_TICK', name: 'Poll Tick' },\n { key: 'POLL_SUCCESS', name: 'Poll Success' },\n { key: 'POLL_ERROR', name: 'Poll Error' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Polling',\n event: 'START',\n effects: [\n ['set', '@entity.isPolling', true],\n ['set', '@entity.pollCount', 0],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_TICK',\n guard: ['or', ['=', '@entity.maxPolls', null], ['<', '@entity.pollCount', '@entity.maxPolls']],\n effects: [['set', '@entity.lastPollAt', ['time/now']]],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_SUCCESS',\n effects: [\n ['set', '@entity.pollCount', ['+', '@entity.pollCount', 1]],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_ERROR',\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['when', '@entity.stopOnError', ['emit', 'STOP']],\n ],\n },\n {\n from: 'Polling',\n to: 'Paused',\n event: 'PAUSE',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Polling',\n event: 'RESUME',\n effects: [\n ['set', '@entity.isPolling', true],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Async Behaviors\n// ============================================================================\n\nexport const ASYNC_BEHAVIORS: OrbitalSchema[] = [\n LOADING_BEHAVIOR,\n FETCH_BEHAVIOR,\n SUBMIT_BEHAVIOR,\n RETRY_BEHAVIOR,\n POLL_BEHAVIOR,\n];\n","/**\n * Feedback Behaviors\n *\n * Standard behaviors for user feedback including notifications,\n * confirmations, and undo functionality.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-notification - Toast Notifications\n// ============================================================================\n\nexport const NOTIFICATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-notification',\n version: '1.0.0',\n description: 'Toast notification with auto-dismiss',\n orbitals: [\n {\n name: 'NotificationOrbital',\n entity: {\n name: 'NotificationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'notifications', type: 'array', default: [] },\n { name: 'currentId', type: 'number', default: 0 },\n { name: 'autoDismissMs', type: 'number', default: 5000 },\n ],\n },\n traits: [\n {\n name: 'Notification',\n linkedEntity: 'NotificationState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Hidden', isInitial: true },\n { name: 'Visible' },\n { name: 'Dismissing' },\n ],\n events: [\n { key: 'SHOW', name: 'Show' },\n { key: 'HIDE', name: 'Hide' },\n { key: 'DISMISS', name: 'Dismiss' },\n { key: 'AUTO_DISMISS', name: 'Auto Dismiss' },\n ],\n transitions: [\n {\n from: 'Hidden',\n to: 'Visible',\n event: 'SHOW',\n effects: [\n ['let', [['id', ['+', '@entity.currentId', 1]]],\n ['do',\n ['set', '@entity.currentId', '@id'],\n ['set', '@entity.notifications',\n ['array/append', '@entity.notifications', {\n id: '@id',\n type: '@payload.type',\n message: '@payload.message',\n title: '@payload.title',\n }]],\n ['when', ['>', '@entity.autoDismissMs', 0],\n ['async/delay', '@entity.autoDismissMs', ['emit', 'AUTO_DISMISS', { id: '@id' }]]]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Visible',\n event: 'SHOW',\n effects: [\n ['let', [['id', ['+', '@entity.currentId', 1]]],\n ['do',\n ['set', '@entity.currentId', '@id'],\n ['set', '@entity.notifications',\n ['array/append', '@entity.notifications', {\n id: '@id',\n type: '@payload.type',\n message: '@payload.message',\n title: '@payload.title',\n }]],\n ['when', ['>', '@entity.autoDismissMs', 0],\n ['async/delay', '@entity.autoDismissMs', ['emit', 'AUTO_DISMISS', { id: '@id' }]]]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Visible',\n event: 'DISMISS',\n effects: [\n ['set', '@entity.notifications',\n ['array/filter', '@entity.notifications', ['fn', 'n', ['!=', '@n.id', '@payload.id']]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Visible',\n event: 'AUTO_DISMISS',\n effects: [\n ['set', '@entity.notifications',\n ['array/filter', '@entity.notifications', ['fn', 'n', ['!=', '@n.id', '@payload.id']]]],\n ],\n },\n {\n from: 'Visible',\n to: 'Hidden',\n event: 'HIDE',\n effects: [['set', '@entity.notifications', []]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-confirmation - Confirmation Dialog\n// ============================================================================\n\nexport const CONFIRMATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-confirmation',\n version: '1.0.0',\n description: 'Confirmation dialog with confirm/cancel actions',\n orbitals: [\n {\n name: 'ConfirmationOrbital',\n entity: {\n name: 'ConfirmationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'message', type: 'string', default: '' },\n { name: 'pendingAction', type: 'object', default: null },\n { name: 'confirmLabel', type: 'string', default: 'Confirm' },\n { name: 'cancelLabel', type: 'string', default: 'Cancel' },\n { name: 'confirmVariant', type: 'string', default: 'danger' },\n ],\n },\n traits: [\n {\n name: 'Confirmation',\n linkedEntity: 'ConfirmationState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Closed', isInitial: true },\n { name: 'Open' },\n ],\n events: [\n { key: 'REQUEST', name: 'Request' },\n { key: 'CONFIRM', name: 'Confirm' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'Closed',\n to: 'Open',\n event: 'REQUEST',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.message', '@payload.message'],\n ['set', '@entity.pendingAction', '@payload.onConfirm'],\n ['render-ui', 'modal', {\n type: 'confirm-dialog',\n isOpen: true,\n onClose: 'CANCEL',\n onConfirm: 'CONFIRM',\n title: '@entity.title',\n message: '@entity.message',\n confirmText: '@entity.confirmLabel',\n cancelText: '@entity.cancelLabel',\n variant: '@entity.confirmVariant',\n }],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CONFIRM',\n effects: [\n ['when', '@entity.pendingAction', ['emit', '@entity.pendingAction.event', '@entity.pendingAction.payload']],\n ['set', '@entity.pendingAction', null],\n ],\n },\n {\n from: 'Open',\n to: 'Closed',\n event: 'CANCEL',\n effects: [['set', '@entity.pendingAction', null]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-undo - Undo Stack\n// ============================================================================\n\nexport const UNDO_BEHAVIOR: OrbitalSchema = {\n name: 'std-undo',\n version: '1.0.0',\n description: 'Undo/redo stack for reversible actions',\n orbitals: [\n {\n name: 'UndoOrbital',\n entity: {\n name: 'UndoState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'undoStack', type: 'array', default: [] },\n { name: 'redoStack', type: 'array', default: [] },\n { name: 'maxHistory', type: 'number', default: 50 },\n { name: 'showToast', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'Undo',\n linkedEntity: 'UndoState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Ready', isInitial: true }],\n events: [\n { key: 'PUSH', name: 'Push' },\n { key: 'UNDO', name: 'Undo' },\n { key: 'REDO', name: 'Redo' },\n { key: 'CLEAR', name: 'Clear' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Ready',\n event: 'PUSH',\n effects: [\n ['set', '@entity.undoStack',\n ['array/slice',\n ['array/prepend', '@entity.undoStack', {\n action: '@payload.action',\n data: '@payload.data',\n reverseAction: '@payload.reverseAction',\n reverseData: '@payload.reverseData',\n description: '@payload.description',\n }],\n 0, '@entity.maxHistory']],\n ['set', '@entity.redoStack', []],\n ['when', '@entity.showToast',\n ['emit', 'NOTIFY', {\n type: 'info',\n message: ['str/concat', '@payload.description', ' - Click to undo'],\n action: { label: 'Undo', event: 'UNDO' },\n }]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'UNDO',\n guard: ['>', ['array/len', '@entity.undoStack'], 0],\n effects: [\n ['let', [['action', ['array/first', '@entity.undoStack']]],\n ['do',\n ['set', '@entity.undoStack', ['array/slice', '@entity.undoStack', 1]],\n ['set', '@entity.redoStack', ['array/prepend', '@entity.redoStack', '@action']],\n ['emit', '@action.reverseAction', '@action.reverseData']]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'REDO',\n guard: ['>', ['array/len', '@entity.redoStack'], 0],\n effects: [\n ['let', [['action', ['array/first', '@entity.redoStack']]],\n ['do',\n ['set', '@entity.redoStack', ['array/slice', '@entity.redoStack', 1]],\n ['set', '@entity.undoStack', ['array/prepend', '@entity.undoStack', '@action']],\n ['emit', '@action.action', '@action.data']]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'CLEAR',\n effects: [\n ['set', '@entity.undoStack', []],\n ['set', '@entity.redoStack', []],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Feedback Behaviors\n// ============================================================================\n\nexport const FEEDBACK_BEHAVIORS: OrbitalSchema[] = [\n NOTIFICATION_BEHAVIOR,\n CONFIRMATION_BEHAVIOR,\n UNDO_BEHAVIOR,\n];\n","/**\n * Game Core Behaviors\n *\n * Foundation behaviors for game systems: loop, physics, input, collision.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-gameloop - Master Game Tick Coordination\n// ============================================================================\n\n/**\n * std-gameloop - Coordinates game tick execution at 60fps.\n *\n * States: Running, Paused\n * Provides the master clock for all game systems.\n */\nexport const GAME_LOOP_BEHAVIOR: OrbitalSchema = {\n name: 'std-gameloop',\n version: '1.0.0',\n description: 'Master game loop coordinator running at 60fps',\n orbitals: [\n {\n name: 'GameLoopOrbital',\n entity: {\n name: 'GameLoopState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'frameCount', type: 'number', default: 0 },\n { name: 'deltaTime', type: 'number', default: 16 },\n { name: 'elapsedTime', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'GameLoop',\n linkedEntity: 'GameLoopState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Running' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'TICK', name: 'Tick' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Running',\n event: 'START',\n effects: [\n ['set', '@entity.frameCount', 0],\n ['set', '@entity.elapsedTime', 0],\n ],\n },\n {\n from: 'Running',\n to: 'Paused',\n event: 'PAUSE',\n effects: [],\n },\n {\n from: 'Paused',\n to: 'Running',\n event: 'RESUME',\n effects: [],\n },\n {\n from: 'Running',\n to: 'Stopped',\n event: 'STOP',\n effects: [],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'GameTick',\n interval: 'frame',\n guard: ['=', '@state', 'Running'],\n effects: [\n ['set', '@entity.frameCount', ['+', '@entity.frameCount', 1]],\n ['set', '@entity.elapsedTime', ['+', '@entity.elapsedTime', '@entity.deltaTime']],\n ['emit', 'GAME_TICK', { frame: '@entity.frameCount', delta: '@entity.deltaTime' }],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-physics2d - Gravity and Velocity\n// ============================================================================\n\n/**\n * std-physics2d - 2D physics with gravity, velocity, and friction.\n *\n * Applied to entities that need physics simulation.\n */\nexport const PHYSICS_2D_BEHAVIOR: OrbitalSchema = {\n name: 'std-physics2d',\n version: '1.0.0',\n description: '2D physics with gravity, velocity, and friction',\n orbitals: [\n {\n name: 'Physics2DOrbital',\n entity: {\n name: 'Physics2DState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'vx', type: 'number', default: 0 },\n { name: 'vy', type: 'number', default: 0 },\n { name: 'isGrounded', type: 'boolean', default: false },\n // Config fields (previously @config bindings)\n { name: 'gravity', type: 'number', default: 0.5 },\n { name: 'friction', type: 'number', default: 0.8 },\n { name: 'airResistance', type: 'number', default: 0.99 },\n { name: 'maxVelocityY', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Physics2D',\n linkedEntity: 'Physics2DState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Frozen' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'APPLY_FORCE', name: 'Apply Force' },\n { key: 'GROUND_HIT', name: 'Ground Hit' },\n { key: 'FREEZE', name: 'Freeze' },\n { key: 'UNFREEZE', name: 'Unfreeze' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n ],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.vx', 0],\n ['set', '@entity.vy', 0],\n ['set', '@entity.isGrounded', false],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'APPLY_FORCE',\n effects: [\n ['set', '@entity.vx', ['+', '@entity.vx', '@payload.fx']],\n ['set', '@entity.vy', ['+', '@entity.vy', '@payload.fy']],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GROUND_HIT',\n effects: [\n ['set', '@entity.isGrounded', true],\n ['set', '@entity.vy', 0],\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.friction']],\n ],\n },\n {\n from: 'Active',\n to: 'Frozen',\n event: 'FREEZE',\n effects: [],\n },\n {\n from: 'Frozen',\n to: 'Active',\n event: 'UNFREEZE',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'ApplyGravity',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Active'], ['not', '@entity.isGrounded']],\n effects: [\n ['set', '@entity.vy', ['math/min', '@entity.maxVelocityY', ['+', '@entity.vy', '@entity.gravity']]],\n ],\n },\n {\n name: 'ApplyVelocity',\n interval: 'frame',\n guard: ['=', '@state', 'Active'],\n effects: [\n ['set', '@entity.vx', ['*', '@entity.vx', '@entity.airResistance']],\n ['set', '@entity.x', ['+', '@entity.x', '@entity.vx']],\n ['set', '@entity.y', ['+', '@entity.y', '@entity.vy']],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-input - Unified Input State\n// ============================================================================\n\n/**\n * std-input - Manages keyboard and touch input state.\n *\n * Singleton behavior that tracks all input state.\n */\nexport const INPUT_BEHAVIOR: OrbitalSchema = {\n name: 'std-input',\n version: '1.0.0',\n description: 'Unified keyboard and touch input state management',\n orbitals: [\n {\n name: 'InputOrbital',\n entity: {\n name: 'InputState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'left', type: 'boolean', default: false },\n { name: 'right', type: 'boolean', default: false },\n { name: 'up', type: 'boolean', default: false },\n { name: 'down', type: 'boolean', default: false },\n { name: 'jump', type: 'boolean', default: false },\n { name: 'action', type: 'boolean', default: false },\n { name: 'pause', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Input',\n linkedEntity: 'InputState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Ready', isInitial: true }],\n events: [\n { key: 'KEY_DOWN', name: 'Key Down' },\n { key: 'KEY_UP', name: 'Key Up' },\n { key: 'TOUCH_START', name: 'Touch Start' },\n { key: 'TOUCH_END', name: 'Touch End' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_DOWN',\n effects: [\n ['if', ['or', ['=', '@payload.key', 'ArrowLeft'], ['=', '@payload.key', 'a']], ['set', '@entity.left', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowRight'], ['=', '@payload.key', 'd']], ['set', '@entity.right', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowUp'], ['=', '@payload.key', 'w']], ['set', '@entity.up', true]],\n ['if', ['or', ['=', '@payload.key', 'ArrowDown'], ['=', '@payload.key', 's']], ['set', '@entity.down', true]],\n ['if', ['=', '@payload.key', ' '], ['set', '@entity.jump', true]],\n ['if', ['or', ['=', '@payload.key', 'Enter'], ['=', '@payload.key', 'e']], ['set', '@entity.action', true]],\n ['if', ['or', ['=', '@payload.key', 'Escape'], ['=', '@payload.key', 'p']], ['set', '@entity.pause', true]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'KEY_UP',\n effects: [\n ['if', ['or', ['=', '@payload.key', 'ArrowLeft'], ['=', '@payload.key', 'a']], ['set', '@entity.left', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowRight'], ['=', '@payload.key', 'd']], ['set', '@entity.right', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowUp'], ['=', '@payload.key', 'w']], ['set', '@entity.up', false]],\n ['if', ['or', ['=', '@payload.key', 'ArrowDown'], ['=', '@payload.key', 's']], ['set', '@entity.down', false]],\n ['if', ['=', '@payload.key', ' '], ['set', '@entity.jump', false]],\n ['if', ['or', ['=', '@payload.key', 'Enter'], ['=', '@payload.key', 'e']], ['set', '@entity.action', false]],\n ['if', ['or', ['=', '@payload.key', 'Escape'], ['=', '@payload.key', 'p']], ['set', '@entity.pause', false]],\n ],\n },\n {\n from: 'Ready',\n to: 'Ready',\n event: 'RESET',\n effects: [\n ['set', '@entity.left', false],\n ['set', '@entity.right', false],\n ['set', '@entity.up', false],\n ['set', '@entity.down', false],\n ['set', '@entity.jump', false],\n ['set', '@entity.action', false],\n ['set', '@entity.pause', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-collision - Collision Detection & Response\n// ============================================================================\n\n/**\n * std-collision - Handles collision detection and response.\n *\n * Configures how an entity responds to collisions.\n */\nexport const COLLISION_BEHAVIOR: OrbitalSchema = {\n name: 'std-collision',\n version: '1.0.0',\n description: 'Collision detection and response configuration',\n orbitals: [\n {\n name: 'CollisionOrbital',\n entity: {\n name: 'CollisionState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isColliding', type: 'boolean', default: false },\n { name: 'collidingWith', type: 'array', default: [] },\n // Config fields (previously @config bindings)\n { name: 'onCollision', type: 'string', default: null },\n { name: 'onTrigger', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Collision',\n linkedEntity: 'CollisionState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Active', isInitial: true },\n { name: 'Disabled' },\n ],\n events: [\n { key: 'COLLISION', name: 'Collision' },\n { key: 'TRIGGER_ENTER', name: 'Trigger Enter' },\n { key: 'TRIGGER_EXIT', name: 'Trigger Exit' },\n { key: 'ENABLE', name: 'Enable' },\n { key: 'DISABLE', name: 'Disable' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'COLLISION',\n effects: [\n ['set', '@entity.isColliding', true],\n ['set', '@entity.collidingWith', ['array/append', '@entity.collidingWith', '@payload.entityId']],\n ['if', '@entity.onCollision', ['emit', '@entity.onCollision', { entityId: '@payload.entityId', side: '@payload.side' }]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TRIGGER_ENTER',\n effects: [\n ['if', '@entity.onTrigger', ['emit', '@entity.onTrigger', { entityId: '@payload.entityId', action: 'enter' }]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TRIGGER_EXIT',\n effects: [\n ['set', '@entity.collidingWith', ['array/filter', '@entity.collidingWith', ['fn', 'id', ['!=', '@id', '@payload.entityId']]]],\n ['if', ['=', ['array/len', '@entity.collidingWith'], 0], ['set', '@entity.isColliding', false]],\n ],\n },\n {\n from: 'Active',\n to: 'Disabled',\n event: 'DISABLE',\n effects: [\n ['set', '@entity.isColliding', false],\n ['set', '@entity.collidingWith', []],\n ],\n },\n {\n from: 'Disabled',\n to: 'Active',\n event: 'ENABLE',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_CORE_BEHAVIORS: OrbitalSchema[] = [\n GAME_LOOP_BEHAVIOR,\n PHYSICS_2D_BEHAVIOR,\n INPUT_BEHAVIOR,\n COLLISION_BEHAVIOR,\n];\n","/**\n * Game Entity Behaviors\n *\n * Entity state behaviors: health, score, movement, combat, inventory.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-health - Entity Health System\n// ============================================================================\n\n/**\n * std-health - Manages entity health with damage, healing, and death.\n *\n * States: Alive → Damaged → Dead\n */\nexport const HEALTH_BEHAVIOR: OrbitalSchema = {\n name: 'std-health',\n version: '1.0.0',\n description: 'Entity health with damage, healing, invulnerability, and death',\n orbitals: [\n {\n name: 'HealthOrbital',\n entity: {\n name: 'HealthState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentHealth', type: 'number', default: 100 },\n { name: 'maxHealth', type: 'number', default: 100 },\n { name: 'isInvulnerable', type: 'boolean', default: false },\n { name: 'lastDamageTime', type: 'number', default: 0 },\n { name: 'invulnerabilityTime', type: 'number', default: 1000 },\n { name: 'onDeath', type: 'string', default: null },\n ],\n },\n traits: [\n {\n name: 'Health',\n linkedEntity: 'HealthState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Alive', isInitial: true },\n { name: 'Damaged' },\n { name: 'Invulnerable' },\n { name: 'Dead', isTerminal: true },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'DAMAGE', name: 'Damage' },\n { key: 'HEAL', name: 'Heal' },\n { key: 'DIE', name: 'Die' },\n { key: 'RESPAWN', name: 'Respawn' },\n { key: 'INVULNERABILITY_END', name: 'Invulnerability End' },\n ],\n transitions: [\n {\n from: 'Alive',\n to: 'Alive',\n event: 'INIT',\n effects: [\n ['set', '@entity.currentHealth', '@entity.maxHealth'],\n ['set', '@entity.isInvulnerable', false],\n ['render-ui', 'hud-top', {\n type: 'stats',\n label: 'Health',\n value: '@entity.currentHealth',\n }],\n ],\n },\n {\n from: 'Alive',\n to: 'Damaged',\n event: 'DAMAGE',\n guard: ['not', '@entity.isInvulnerable'],\n effects: [\n ['set', '@entity.currentHealth', ['math/max', 0, ['-', '@entity.currentHealth', '@payload.amount']]],\n ['set', '@entity.lastDamageTime', '@now'],\n ['if', ['<=', '@entity.currentHealth', 0],\n ['emit', 'DIE'],\n ['do',\n ['set', '@entity.isInvulnerable', true]]],\n ],\n },\n {\n from: 'Damaged',\n to: 'Alive',\n event: 'INVULNERABILITY_END',\n effects: [['set', '@entity.isInvulnerable', false]],\n },\n {\n from: 'Invulnerable',\n to: 'Alive',\n event: 'INVULNERABILITY_END',\n effects: [['set', '@entity.isInvulnerable', false]],\n },\n {\n from: 'Alive',\n to: 'Alive',\n event: 'HEAL',\n effects: [\n ['set', '@entity.currentHealth', ['math/min', '@entity.maxHealth', ['+', '@entity.currentHealth', '@payload.amount']]],\n ],\n },\n {\n from: 'Damaged',\n to: 'Damaged',\n event: 'HEAL',\n effects: [\n ['set', '@entity.currentHealth', ['math/min', '@entity.maxHealth', ['+', '@entity.currentHealth', '@payload.amount']]],\n ],\n },\n {\n from: 'Alive',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.currentHealth', 0],\n ['if', '@entity.onDeath', ['emit', '@entity.onDeath', { entityId: '@entity.id' }]],\n ],\n },\n {\n from: 'Damaged',\n to: 'Dead',\n event: 'DIE',\n effects: [\n ['set', '@entity.currentHealth', 0],\n ['if', '@entity.onDeath', ['emit', '@entity.onDeath', { entityId: '@entity.id' }]],\n ],\n },\n {\n from: 'Dead',\n to: 'Alive',\n event: 'RESPAWN',\n effects: [['emit', 'INIT']],\n },\n ],\n },\n ticks: [\n {\n name: 'InvulnerabilityTimer',\n interval: 'frame',\n guard: ['and', '@entity.isInvulnerable', ['>', ['-', '@now', '@entity.lastDamageTime'], '@entity.invulnerabilityTime']],\n effects: [['emit', 'INVULNERABILITY_END']],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-score - Points and Combo System\n// ============================================================================\n\n/**\n * std-score - Manages score with points, combos, and multipliers.\n */\nexport const SCORE_BEHAVIOR: OrbitalSchema = {\n name: 'std-score',\n version: '1.0.0',\n description: 'Score tracking with points, combos, and multipliers',\n orbitals: [\n {\n name: 'ScoreOrbital',\n entity: {\n name: 'ScoreState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentScore', type: 'number', default: 0 },\n { name: 'highScore', type: 'number', default: 0 },\n { name: 'comboCount', type: 'number', default: 0 },\n { name: 'multiplier', type: 'number', default: 1 },\n { name: 'lastScoreTime', type: 'number', default: 0 },\n { name: 'maxMultiplier', type: 'number', default: 5 },\n { name: 'comboTimeWindow', type: 'number', default: 2000 },\n ],\n },\n traits: [\n {\n name: 'Score',\n linkedEntity: 'ScoreState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'ADD_POINTS', name: 'Add Points' },\n { key: 'COMBO_HIT', name: 'Combo Hit' },\n { key: 'COMBO_BREAK', name: 'Combo Break' },\n { key: 'RESET', name: 'Reset' },\n { key: 'SAVE_HIGH_SCORE', name: 'Save High Score' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.currentScore', 0],\n ['set', '@entity.comboCount', 0],\n ['set', '@entity.multiplier', 1],\n ['render-ui', 'hud-top', {\n type: 'stats',\n label: 'Score',\n value: '@entity.currentScore',\n subtitle: 'High: @entity.highScore',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'ADD_POINTS',\n effects: [\n ['set', '@entity.currentScore', ['+', '@entity.currentScore', ['*', '@payload.points', '@entity.multiplier']]],\n ['set', '@entity.lastScoreTime', '@now'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'COMBO_HIT',\n effects: [\n ['set', '@entity.comboCount', ['+', '@entity.comboCount', 1]],\n ['set', '@entity.multiplier', ['math/min', '@entity.maxMultiplier', ['+', 1, ['/', '@entity.comboCount', 5]]]],\n ['set', '@entity.lastScoreTime', '@now'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'COMBO_BREAK',\n effects: [\n ['set', '@entity.comboCount', 0],\n ['set', '@entity.multiplier', 1],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'RESET',\n effects: [\n ['if', ['>', '@entity.currentScore', '@entity.highScore'],\n ['set', '@entity.highScore', '@entity.currentScore']],\n ['emit', 'INIT'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SAVE_HIGH_SCORE',\n guard: ['>', '@entity.currentScore', '@entity.highScore'],\n effects: [\n ['set', '@entity.highScore', '@entity.currentScore'],\n ['persist', 'update', 'HighScore', { score: '@entity.highScore' }],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'ComboTimeout',\n interval: 'frame',\n guard: ['and', ['>', '@entity.comboCount', 0], ['>', ['-', '@now', '@entity.lastScoreTime'], '@entity.comboTimeWindow']],\n effects: [['emit', 'COMBO_BREAK']],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-movement - Entity Position and Velocity\n// ============================================================================\n\n/**\n * std-movement - Basic movement for any entity.\n *\n * Handles position updates based on input or AI.\n */\nexport const MOVEMENT_BEHAVIOR: OrbitalSchema = {\n name: 'std-movement',\n version: '1.0.0',\n description: 'Entity movement with speed and direction',\n orbitals: [\n {\n name: 'MovementOrbital',\n entity: {\n name: 'MovementState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'direction', type: 'number', default: 0 },\n { name: 'facingRight', type: 'boolean', default: true },\n { name: 'canJump', type: 'boolean', default: true },\n { name: 'moveSpeed', type: 'number', default: 5 },\n { name: 'jumpForce', type: 'number', default: -15 },\n ],\n },\n traits: [\n {\n name: 'Movement',\n linkedEntity: 'MovementState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Moving' },\n { name: 'Jumping' },\n { name: 'Falling' },\n ],\n events: [\n { key: 'MOVE', name: 'Move' },\n { key: 'STOP', name: 'Stop' },\n { key: 'JUMP', name: 'Jump' },\n { key: 'LAND', name: 'Land' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Moving',\n event: 'MOVE',\n effects: [\n ['set', '@entity.direction', '@payload.direction'],\n ['if', ['>', '@payload.direction', 0], ['set', '@entity.facingRight', true]],\n ['if', ['<', '@payload.direction', 0], ['set', '@entity.facingRight', false]],\n ],\n },\n {\n from: 'Moving',\n to: 'Moving',\n event: 'MOVE',\n effects: [\n ['set', '@entity.direction', '@payload.direction'],\n ['if', ['>', '@payload.direction', 0], ['set', '@entity.facingRight', true]],\n ['if', ['<', '@payload.direction', 0], ['set', '@entity.facingRight', false]],\n ],\n },\n {\n from: 'Moving',\n to: 'Idle',\n event: 'STOP',\n effects: [['set', '@entity.direction', 0]],\n },\n {\n from: 'Idle',\n to: 'Jumping',\n event: 'JUMP',\n guard: '@entity.canJump',\n effects: [\n ['set', '@entity.canJump', false],\n ['emit', 'APPLY_FORCE', { fx: 0, fy: '@entity.jumpForce' }],\n ],\n },\n {\n from: 'Moving',\n to: 'Jumping',\n event: 'JUMP',\n guard: '@entity.canJump',\n effects: [\n ['set', '@entity.canJump', false],\n ['emit', 'APPLY_FORCE', { fx: 0, fy: '@entity.jumpForce' }],\n ],\n },\n {\n from: 'Jumping',\n to: 'Idle',\n event: 'LAND',\n effects: [\n ['set', '@entity.canJump', true],\n ['if', ['!=', '@entity.direction', 0], ['emit', 'MOVE', { direction: '@entity.direction' }]],\n ],\n },\n {\n from: 'Falling',\n to: 'Idle',\n event: 'LAND',\n effects: [\n ['set', '@entity.canJump', true],\n ['if', ['!=', '@entity.direction', 0], ['emit', 'MOVE', { direction: '@entity.direction' }]],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'ApplyMovement',\n interval: 'frame',\n guard: ['!=', '@entity.direction', 0],\n effects: [\n ['set', '@entity.x', ['+', '@entity.x', ['*', '@entity.direction', '@entity.moveSpeed']]],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-combat - Attack and Damage System\n// ============================================================================\n\n/**\n * std-combat - Handles attacks, cooldowns, and hit detection.\n */\nexport const COMBAT_BEHAVIOR: OrbitalSchema = {\n name: 'std-combat',\n version: '1.0.0',\n description: 'Combat system with attacks, cooldowns, and hitboxes',\n orbitals: [\n {\n name: 'CombatOrbital',\n entity: {\n name: 'CombatState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isAttacking', type: 'boolean', default: false },\n { name: 'attackStartTime', type: 'number', default: 0 },\n { name: 'hitEntities', type: 'array', default: [] },\n { name: 'attackDamage', type: 'number', default: 10 },\n { name: 'attackDuration', type: 'number', default: 300 },\n { name: 'cooldownDuration', type: 'number', default: 500 },\n { name: 'hitboxOffset', type: 'object', default: { x: 20, y: 0 } },\n { name: 'hitboxSize', type: 'object', default: { width: 30, height: 30 } },\n ],\n },\n traits: [\n {\n name: 'Combat',\n linkedEntity: 'CombatState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Ready', isInitial: true },\n { name: 'Attacking' },\n { name: 'Cooldown' },\n ],\n events: [\n { key: 'ATTACK', name: 'Attack' },\n { key: 'ATTACK_END', name: 'Attack End' },\n { key: 'HIT_CONNECT', name: 'Hit Connect' },\n { key: 'COOLDOWN_END', name: 'Cooldown End' },\n ],\n transitions: [\n {\n from: 'Ready',\n to: 'Attacking',\n event: 'ATTACK',\n effects: [\n ['set', '@entity.isAttacking', true],\n ['set', '@entity.attackStartTime', '@now'],\n ['set', '@entity.hitEntities', []],\n ],\n },\n {\n from: 'Attacking',\n to: 'Attacking',\n event: 'HIT_CONNECT',\n guard: ['not', ['array/includes', '@entity.hitEntities', '@payload.entityId']],\n effects: [\n ['set', '@entity.hitEntities', ['array/append', '@entity.hitEntities', '@payload.entityId']],\n ['emit', 'DAMAGE', { target: '@payload.entityId', amount: '@entity.attackDamage' }],\n ],\n },\n {\n from: 'Attacking',\n to: 'Cooldown',\n event: 'ATTACK_END',\n effects: [['set', '@entity.isAttacking', false]],\n },\n {\n from: 'Cooldown',\n to: 'Ready',\n event: 'COOLDOWN_END',\n effects: [],\n },\n ],\n },\n ticks: [\n {\n name: 'AttackDuration',\n interval: 'frame',\n guard: ['and', '@entity.isAttacking', ['>', ['-', '@now', '@entity.attackStartTime'], '@entity.attackDuration']],\n effects: [['emit', 'ATTACK_END']],\n },\n {\n name: 'CooldownTimer',\n interval: 'frame',\n guard: ['and', ['=', '@state', 'Cooldown'], ['>', ['-', '@now', '@entity.attackStartTime'], ['+', '@entity.attackDuration', '@entity.cooldownDuration']]],\n effects: [['emit', 'COOLDOWN_END']],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-inventory - Item Collection and Management\n// ============================================================================\n\n/**\n * std-inventory - Manages collected items and equipment.\n */\nexport const INVENTORY_BEHAVIOR: OrbitalSchema = {\n name: 'std-inventory',\n version: '1.0.0',\n description: 'Item collection, storage, and usage',\n orbitals: [\n {\n name: 'InventoryOrbital',\n entity: {\n name: 'InventoryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'x', type: 'number', default: 0 },\n { name: 'y', type: 'number', default: 0 },\n { name: 'items', type: 'array', default: [] },\n { name: 'selectedSlot', type: 'number', default: 0 },\n { name: 'isOpen', type: 'boolean', default: false },\n { name: 'equipped', type: 'object', default: {} },\n { name: 'maxSlots', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Inventory',\n linkedEntity: 'InventoryState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Empty', isInitial: true },\n { name: 'HasItems' },\n { name: 'Full' },\n ],\n events: [\n { key: 'COLLECT', name: 'Collect' },\n { key: 'USE', name: 'Use' },\n { key: 'DROP', name: 'Drop' },\n { key: 'EQUIP', name: 'Equip' },\n { key: 'UNEQUIP', name: 'Unequip' },\n { key: 'OPEN', name: 'Open' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'INVENTORY_EMPTY', name: 'Inventory Empty' },\n ],\n transitions: [\n {\n from: 'Empty',\n to: 'HasItems',\n event: 'COLLECT',\n guard: ['<', ['array/len', '@entity.items'], '@entity.maxSlots'],\n effects: [\n ['set', '@entity.items', ['array/append', '@entity.items', '@payload.item']],\n ['notify', 'in_app', ['str/concat', 'Collected ', '@payload.item.name']],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'COLLECT',\n guard: ['<', ['array/len', '@entity.items'], '@entity.maxSlots'],\n effects: [\n ['set', '@entity.items', ['array/append', '@entity.items', '@payload.item']],\n ['notify', 'in_app', ['str/concat', 'Collected ', '@payload.item.name']],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'USE',\n effects: [\n ['let', [['item', ['array/nth', '@entity.items', '@payload.slot']]],\n ['if', '@item.onUse', ['emit', '@item.onUse', { item: '@item' }]],\n ['if', '@item.consumable',\n ['set', '@entity.items', ['array/filter', '@entity.items', ['fn', 'i', 'idx', ['!=', '@idx', '@payload.slot']]]]]],\n ['if', ['=', ['array/len', '@entity.items'], 0], ['emit', 'INVENTORY_EMPTY']],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'DROP',\n effects: [\n ['let', [['item', ['array/nth', '@entity.items', '@payload.slot']]],\n ['set', '@entity.items', ['array/filter', '@entity.items', ['fn', 'i', 'idx', ['!=', '@idx', '@payload.slot']]]],\n ['emit', 'ITEM_DROPPED', { item: '@item', position: { x: '@entity.x', y: '@entity.y' } }]],\n ['if', ['=', ['array/len', '@entity.items'], 0], ['emit', 'INVENTORY_EMPTY']],\n ],\n },\n {\n from: 'HasItems',\n to: 'Empty',\n event: 'INVENTORY_EMPTY',\n effects: [],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'EQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/set', '@entity.equipped', '@payload.slot', '@payload.item']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'EQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/set', '@entity.equipped', '@payload.slot', '@payload.item']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'UNEQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/remove', '@entity.equipped', '@payload.slot']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'UNEQUIP',\n effects: [\n ['set', '@entity.equipped', ['object/remove', '@entity.equipped', '@payload.slot']],\n ['emit', 'STATS_UPDATED', { equipped: '@entity.equipped' }],\n ],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'OPEN',\n effects: [\n ['render-ui', 'modal', {\n type: 'modal',\n title: 'Inventory',\n isOpen: '@entity.isOpen',\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'OPEN',\n effects: [\n ['render-ui', 'modal', {\n type: 'modal',\n title: 'Inventory',\n isOpen: '@entity.isOpen',\n onClose: 'CLOSE',\n }],\n ],\n },\n {\n from: 'Empty',\n to: 'Empty',\n event: 'CLOSE',\n effects: [['set', '@entity.isOpen', false]],\n },\n {\n from: 'HasItems',\n to: 'HasItems',\n event: 'CLOSE',\n effects: [['set', '@entity.isOpen', false]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_ENTITY_BEHAVIORS: OrbitalSchema[] = [\n HEALTH_BEHAVIOR,\n SCORE_BEHAVIOR,\n MOVEMENT_BEHAVIOR,\n COMBAT_BEHAVIOR,\n INVENTORY_BEHAVIOR,\n];\n","/**\n * Game UI Behaviors\n *\n * Game interface behaviors: flow, dialogue, level progression.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-gameflow - Game State Machine\n// ============================================================================\n\n/**\n * std-gameflow - Master game state management.\n *\n * States: Menu → Playing → Paused → GameOver/Victory\n */\nexport const GAME_FLOW_BEHAVIOR: OrbitalSchema = {\n name: 'std-gameflow',\n version: '1.0.0',\n description: 'Master game flow: menu, play, pause, game over, victory',\n orbitals: [\n {\n name: 'GameFlowOrbital',\n entity: {\n name: 'GameFlowState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'playTime', type: 'number', default: 0 },\n { name: 'attempts', type: 'number', default: 0 },\n { name: 'lastState', type: 'string', default: 'Menu' },\n { name: 'title', type: 'string', default: 'Game' },\n { name: 'allowPause', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'GameFlow',\n linkedEntity: 'GameFlowState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Menu', isInitial: true },\n { name: 'Playing' },\n { name: 'Paused' },\n { name: 'GameOver', isTerminal: true },\n { name: 'Victory', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'GAME_OVER', name: 'Game Over' },\n { key: 'VICTORY', name: 'Victory' },\n { key: 'RESTART', name: 'Restart' },\n { key: 'QUIT', name: 'Quit' },\n ],\n transitions: [\n {\n from: 'Menu',\n to: 'Menu',\n event: 'QUIT',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'screen', {\n type: 'game-menu',\n title: '@entity.title',\n options: [{ event: 'START', label: 'Start Game' }],\n onSelect: 'START',\n }],\n ],\n },\n {\n from: 'Menu',\n to: 'Playing',\n event: 'START',\n effects: [\n ['set', '@entity.attempts', ['+', '@entity.attempts', 1]],\n ['set', '@entity.playTime', 0],\n ['emit', 'GAME_LOOP_START'],\n ],\n },\n {\n from: 'Playing',\n to: 'Paused',\n event: 'PAUSE',\n guard: '@entity.allowPause',\n effects: [\n ['set', '@entity.lastState', 'Playing'],\n ['emit', 'GAME_LOOP_PAUSE'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Paused',\n variant: 'pause',\n actions: [\n { event: 'RESUME', label: 'Resume' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'Paused',\n to: 'Playing',\n event: 'RESUME',\n effects: [['emit', 'GAME_LOOP_RESUME']],\n },\n {\n from: 'Playing',\n to: 'GameOver',\n event: 'GAME_OVER',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Game Over',\n stats: [\n { label: 'Play Time', value: '@entity.playTime' },\n { label: 'Attempts', value: '@entity.attempts' },\n ],\n actions: [\n { event: 'RESTART', label: 'Try Again' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'Playing',\n to: 'Victory',\n event: 'VICTORY',\n effects: [\n ['emit', 'STOP'],\n ['render-ui', 'overlay', {\n type: 'game-over-screen',\n title: 'Victory!',\n variant: 'success',\n stats: [\n { label: 'Play Time', value: '@entity.playTime' },\n { label: 'Attempts', value: '@entity.attempts' },\n ],\n actions: [\n { event: 'RESTART', label: 'Play Again' },\n { event: 'QUIT', label: 'Quit' },\n ],\n }],\n ],\n },\n {\n from: 'GameOver',\n to: 'Playing',\n event: 'RESTART',\n effects: [\n ['emit', 'GAME_RESET'],\n ['emit', 'START'],\n ],\n },\n {\n from: 'Victory',\n to: 'Playing',\n event: 'RESTART',\n effects: [\n ['emit', 'GAME_RESET'],\n ['emit', 'START'],\n ],\n },\n {\n from: 'Playing',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'Paused',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'GameOver',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n {\n from: 'Victory',\n to: 'Menu',\n event: 'QUIT',\n effects: [['emit', 'STOP']],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-dialogue - NPC Conversation System\n// ============================================================================\n\n/**\n * std-dialogue - Manages NPC dialogue and branching conversations.\n */\nexport const DIALOGUE_BEHAVIOR: OrbitalSchema = {\n name: 'std-dialogue',\n version: '1.0.0',\n description: 'NPC dialogue system with branching conversations',\n orbitals: [\n {\n name: 'DialogueOrbital',\n entity: {\n name: 'DialogueState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'dialogueTree', type: 'array', default: [] },\n { name: 'currentNode', type: 'number', default: 0 },\n { name: 'displayedText', type: 'string', default: '' },\n { name: 'isTyping', type: 'boolean', default: false },\n { name: 'speaker', type: 'string', default: '' },\n { name: 'typeIndex', type: 'number', default: 0 },\n { name: 'lastTypeTime', type: 'number', default: 0 },\n { name: 'typingSpeed', type: 'number', default: 50 },\n ],\n },\n traits: [\n {\n name: 'Dialogue',\n linkedEntity: 'DialogueState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Hidden', isInitial: true },\n { name: 'Typing' },\n { name: 'Showing' },\n { name: 'Choice' },\n ],\n events: [\n { key: 'SHOW', name: 'Show' },\n { key: 'NEXT', name: 'Next' },\n { key: 'SELECT_CHOICE', name: 'Select Choice' },\n { key: 'SKIP', name: 'Skip' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'TYPE_CHAR', name: 'Type Char' },\n { key: 'TYPE_COMPLETE', name: 'Type Complete' },\n ],\n transitions: [\n {\n from: 'Hidden',\n to: 'Typing',\n event: 'SHOW',\n effects: [\n ['set', '@entity.dialogueTree', '@payload.dialogue'],\n ['set', '@entity.currentNode', 0],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0],\n ['set', '@entity.lastTypeTime', '@now'],\n ['emit', 'GAME_PAUSE'],\n ['render-ui', 'overlay.dialogue', {\n type: 'dialogue-box',\n dialogue: {\n speaker: '@entity.speaker',\n text: '@entity.displayedText',\n isTyping: '@entity.isTyping',\n },\n onAdvance: 'NEXT',\n }],\n ],\n },\n {\n from: 'Typing',\n to: 'Typing',\n event: 'TYPE_CHAR',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['do',\n ['set', '@entity.typeIndex', ['+', '@entity.typeIndex', 1]],\n ['set', '@entity.displayedText', ['str/slice', '@currentDialogue.text', 0, '@entity.typeIndex']],\n ['set', '@entity.lastTypeTime', '@now']]],\n ],\n },\n {\n from: 'Typing',\n to: 'Showing',\n event: 'TYPE_COMPLETE',\n effects: [['set', '@entity.isTyping', false]],\n },\n {\n from: 'Typing',\n to: 'Showing',\n event: 'SKIP',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['do',\n ['set', '@entity.isTyping', false],\n ['set', '@entity.displayedText', '@currentDialogue.text']]],\n ],\n },\n {\n from: 'Showing',\n to: 'Typing',\n event: 'NEXT',\n guard: ['not', ['object/get', ['array/nth', '@entity.dialogueTree', '@entity.currentNode'], 'choices']],\n effects: [\n ['if', ['>=', '@entity.currentNode', ['-', ['array/len', '@entity.dialogueTree'], 1]],\n ['emit', 'CLOSE'],\n ['do',\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0]]],\n ],\n },\n {\n from: 'Showing',\n to: 'Choice',\n event: 'NEXT',\n guard: ['object/get', ['array/nth', '@entity.dialogueTree', '@entity.currentNode'], 'choices'],\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['render-ui', 'overlay.dialogue', {\n type: 'dialogue-box',\n dialogue: {\n speaker: 'Choose',\n choices: '@currentDialogue.choices',\n },\n onChoice: 'SELECT_CHOICE',\n }]],\n ],\n },\n {\n from: 'Choice',\n to: 'Typing',\n event: 'SELECT_CHOICE',\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['let', [['choice', ['array/nth', '@currentDialogue.choices', '@payload.index']]],\n ['do',\n ['if', '@choice.nextNode',\n ['set', '@entity.currentNode', '@choice.nextNode'],\n ['set', '@entity.currentNode', ['+', '@entity.currentNode', 1]]],\n ['if', '@choice.effect', ['emit', '@choice.effect']]]]],\n ['set', '@entity.isTyping', true],\n ['set', '@entity.displayedText', ''],\n ['set', '@entity.typeIndex', 0],\n ],\n },\n {\n from: 'Typing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n {\n from: 'Showing',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n {\n from: 'Choice',\n to: 'Hidden',\n event: 'CLOSE',\n effects: [\n ['set', '@entity.dialogueTree', []],\n ['set', '@entity.currentNode', 0],\n ['emit', 'GAME_RESUME'],\n ],\n },\n ],\n },\n ticks: [\n {\n name: 'TypewriterEffect',\n interval: 'frame',\n guard: ['and', '@entity.isTyping', ['>', ['-', '@now', '@entity.lastTypeTime'], ['/', 1000, '@entity.typingSpeed']]],\n effects: [\n ['let', [['currentDialogue', ['array/nth', '@entity.dialogueTree', '@entity.currentNode']]],\n ['if', ['<', '@entity.typeIndex', ['str/len', '@currentDialogue.text']],\n ['emit', 'TYPE_CHAR'],\n ['emit', 'TYPE_COMPLETE']]],\n ],\n },\n ],\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-levelprogress - Level Unlock and Progression\n// ============================================================================\n\n/**\n * std-levelprogress - Manages level unlock, selection, and completion.\n */\nexport const LEVEL_PROGRESS_BEHAVIOR: OrbitalSchema = {\n name: 'std-levelprogress',\n version: '1.0.0',\n description: 'Level progression with unlock, selection, and completion tracking',\n orbitals: [\n {\n name: 'LevelProgressOrbital',\n entity: {\n name: 'LevelProgressState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'currentLevel', type: 'number', default: 0 },\n { name: 'unlockedLevels', type: 'array', default: [0] },\n { name: 'levelStars', type: 'object', default: {} },\n { name: 'totalStars', type: 'number', default: 0 },\n { name: 'levels', type: 'array', default: [] },\n { name: 'starsPerLevel', type: 'number', default: 3 },\n { name: 'unlockNext', type: 'boolean', default: true },\n { name: 'persistProgress', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'LevelProgress',\n linkedEntity: 'LevelProgressState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Browsing', isInitial: true },\n { name: 'LevelLoading' },\n { name: 'InLevel' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT_LEVEL', name: 'Select Level' },\n { key: 'LEVEL_LOADED', name: 'Level Loaded' },\n { key: 'COMPLETE_LEVEL', name: 'Complete Level' },\n { key: 'UNLOCK_LEVEL', name: 'Unlock Level' },\n { key: 'BACK_TO_SELECT', name: 'Back To Select' },\n ],\n transitions: [\n {\n from: 'Browsing',\n to: 'Browsing',\n event: 'INIT',\n effects: [\n ['render-ui', 'screen', {\n type: 'game-menu',\n title: 'Select Level',\n options: '@entity.levels',\n onSelect: 'SELECT_LEVEL',\n }],\n ],\n },\n {\n from: 'Browsing',\n to: 'LevelLoading',\n event: 'SELECT_LEVEL',\n guard: ['array/includes', '@entity.unlockedLevels', '@payload.levelIndex'],\n effects: [\n ['set', '@entity.currentLevel', '@payload.levelIndex'],\n ['emit', 'LOAD_LEVEL', { levelData: ['array/nth', '@entity.levels', '@payload.levelIndex'] }],\n ],\n },\n {\n from: 'LevelLoading',\n to: 'InLevel',\n event: 'LEVEL_LOADED',\n effects: [['emit', 'START']],\n },\n {\n from: 'InLevel',\n to: 'InLevel',\n event: 'COMPLETE_LEVEL',\n effects: [\n ['set', '@entity.levelStars', ['object/set', '@entity.levelStars', ['str/toString', '@entity.currentLevel'],\n ['math/max', '@payload.stars', ['object/get', '@entity.levelStars', ['str/toString', '@entity.currentLevel'], 0]]]],\n ['set', '@entity.totalStars', ['array/reduce', ['object/values', '@entity.levelStars'], ['fn', 'sum', 'v', ['+', '@sum', '@v']], 0]],\n ['if', ['and', '@entity.unlockNext', ['<', '@entity.currentLevel', ['-', ['array/len', '@entity.levels'], 1]]],\n ['emit', 'UNLOCK_LEVEL', { levelIndex: ['+', '@entity.currentLevel', 1] }]],\n ['if', '@entity.persistProgress',\n ['persist', 'save', 'LevelProgress', {\n unlockedLevels: '@entity.unlockedLevels',\n levelStars: '@entity.levelStars',\n }]],\n ],\n },\n {\n from: 'InLevel',\n to: 'InLevel',\n event: 'UNLOCK_LEVEL',\n guard: ['not', ['array/includes', '@entity.unlockedLevels', '@payload.levelIndex']],\n effects: [\n ['set', '@entity.unlockedLevels', ['array/append', '@entity.unlockedLevels', '@payload.levelIndex']],\n ],\n },\n {\n from: 'InLevel',\n to: 'Browsing',\n event: 'BACK_TO_SELECT',\n effects: [['emit', 'INIT']],\n },\n {\n from: 'LevelLoading',\n to: 'Browsing',\n event: 'INIT',\n effects: [],\n },\n {\n from: 'InLevel',\n to: 'Browsing',\n event: 'INIT',\n effects: [],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Behaviors\n// ============================================================================\n\nexport const GAME_UI_BEHAVIORS: OrbitalSchema[] = [\n GAME_FLOW_BEHAVIOR,\n DIALOGUE_BEHAVIOR,\n LEVEL_PROGRESS_BEHAVIOR,\n];\n","/**\n * Standard Behaviors Registry\n *\n * Combined registry of all Standard Behaviors with lookup functions.\n * Note: Behaviors are now typed as OrbitalSchema (OrbitalSchema).\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema, BehaviorMetadata } from './types.js';\nimport { getBehaviorMetadata } from './types.js';\nimport { UI_INTERACTION_BEHAVIORS } from './ui-interaction.js';\nimport { DATA_MANAGEMENT_BEHAVIORS } from './data-management.js';\nimport { ASYNC_BEHAVIORS } from './async.js';\nimport { FEEDBACK_BEHAVIORS } from './feedback.js';\nimport { GAME_CORE_BEHAVIORS } from './game-core.js';\nimport { GAME_ENTITY_BEHAVIORS } from './game-entity.js';\nimport { GAME_UI_BEHAVIORS } from './game-ui.js';\n\n// ============================================================================\n// Combined Registry\n// ============================================================================\n\n/**\n * All Standard Behaviors combined into a single array.\n * Each behavior is now a OrbitalSchema (OrbitalSchema).\n */\nexport const STANDARD_BEHAVIORS: OrbitalSchema[] = [\n ...UI_INTERACTION_BEHAVIORS,\n ...DATA_MANAGEMENT_BEHAVIORS,\n ...ASYNC_BEHAVIORS,\n ...FEEDBACK_BEHAVIORS,\n ...GAME_CORE_BEHAVIORS,\n ...GAME_ENTITY_BEHAVIORS,\n ...GAME_UI_BEHAVIORS,\n];\n\n/**\n * Behavior registry indexed by name for fast lookup.\n */\nexport const BEHAVIOR_REGISTRY: Record<string, OrbitalSchema> = STANDARD_BEHAVIORS.reduce(\n (acc, behavior) => {\n acc[behavior.name] = behavior;\n return acc;\n },\n {} as Record<string, OrbitalSchema>\n);\n\n// ============================================================================\n// Lookup Functions\n// ============================================================================\n\n/**\n * Get a behavior by name.\n *\n * @param name - Behavior name (e.g., 'std-list')\n * @returns The behavior or undefined if not found\n */\nexport function getBehavior(name: string): OrbitalSchema | undefined {\n return BEHAVIOR_REGISTRY[name];\n}\n\n/**\n * Check if a behavior exists.\n *\n * @param name - Behavior name\n * @returns true if the behavior exists\n */\nexport function isKnownBehavior(name: string): boolean {\n return name in BEHAVIOR_REGISTRY;\n}\n\n/**\n * Get all behavior names.\n *\n * @returns Array of all behavior names\n */\nexport function getAllBehaviorNames(): string[] {\n return Object.keys(BEHAVIOR_REGISTRY);\n}\n\n/**\n * Get all behaviors.\n *\n * @returns Array of all behaviors\n */\nexport function getAllBehaviors(): OrbitalSchema[] {\n return STANDARD_BEHAVIORS;\n}\n\n/**\n * Get metadata for all behaviors (lightweight).\n *\n * @returns Array of behavior metadata\n */\nexport function getAllBehaviorMetadata(): BehaviorMetadata[] {\n return STANDARD_BEHAVIORS.map(getBehaviorMetadata);\n}\n\n/**\n * Find behaviors that match a use case based on description.\n *\n * @param useCase - Use case description to match\n * @returns Array of matching behaviors\n */\nexport function findBehaviorsForUseCase(useCase: string): OrbitalSchema[] {\n const lowerUseCase = useCase.toLowerCase();\n return STANDARD_BEHAVIORS.filter((behavior) =>\n behavior.description?.toLowerCase().includes(lowerUseCase) ?? false\n );\n}\n\n/**\n * Get behaviors that handle a specific event.\n *\n * @param event - Event name\n * @returns Array of behaviors that handle this event\n */\nexport function getBehaviorsForEvent(event: string): OrbitalSchema[] {\n return STANDARD_BEHAVIORS.filter((behavior) => {\n // Access stateMachine from first orbital's traits\n for (const orbital of behavior.orbitals || []) {\n for (const trait of orbital.traits || []) {\n if (typeof trait === 'object' && 'stateMachine' in trait) {\n const events = trait.stateMachine?.events || [];\n if (events.some((e: { key: string }) => e.key === event)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n}\n\n/**\n * Get behaviors that have a specific state.\n *\n * @param state - State name\n * @returns Array of behaviors that have this state\n */\nexport function getBehaviorsWithState(state: string): OrbitalSchema[] {\n return STANDARD_BEHAVIORS.filter((behavior) => {\n // Access stateMachine from first orbital's traits\n for (const orbital of behavior.orbitals || []) {\n for (const trait of orbital.traits || []) {\n if (typeof trait === 'object' && 'stateMachine' in trait) {\n const states = trait.stateMachine?.states || [];\n if (states.some((s: { name: string }) => s.name === state)) {\n return true;\n }\n }\n }\n }\n return false;\n });\n}\n\n// ============================================================================\n// Validation Functions\n// ============================================================================\n\n/**\n * Validate that a behavior reference is valid.\n *\n * @param name - Behavior name\n * @returns Error message if invalid, null if valid\n */\nexport function validateBehaviorReference(name: string): string | null {\n // Behaviors now use 'std-' prefix (kebab-case)\n if (!name.startsWith('std-')) {\n return `Behavior name must start with 'std-': ${name}`;\n }\n\n if (!isKnownBehavior(name)) {\n const suggestions = findSimilarBehaviors(name);\n if (suggestions.length > 0) {\n return `Unknown behavior '${name}'. Did you mean: ${suggestions.join(', ')}?`;\n }\n return `Unknown behavior: ${name}`;\n }\n\n return null;\n}\n\n/**\n * Find behaviors with similar names (for suggestions).\n *\n * @param name - Input name\n * @returns Array of similar behavior names\n */\nfunction findSimilarBehaviors(name: string): string[] {\n const normalizedInput = name.toLowerCase().replace('std-', '');\n return getAllBehaviorNames().filter((behaviorName) => {\n const normalizedBehavior = behaviorName.toLowerCase().replace('std-', '');\n return (\n normalizedBehavior.includes(normalizedInput) ||\n normalizedInput.includes(normalizedBehavior) ||\n levenshteinDistance(normalizedInput, normalizedBehavior) <= 3\n );\n });\n}\n\n/**\n * Simple Levenshtein distance for string similarity.\n */\nfunction levenshteinDistance(a: string, b: string): number {\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n\n const matrix: number[][] = [];\n\n for (let i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n\n for (let j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n\n for (let i = 1; i <= b.length; i++) {\n for (let j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n } else {\n matrix[i][j] = Math.min(\n matrix[i - 1][j - 1] + 1,\n matrix[i][j - 1] + 1,\n matrix[i - 1][j] + 1\n );\n }\n }\n }\n\n return matrix[b.length][a.length];\n}\n\n// ============================================================================\n// Statistics\n// ============================================================================\n\n/**\n * Get statistics about the behavior library.\n */\nexport function getBehaviorLibraryStats(): {\n totalBehaviors: number;\n totalStates: number;\n totalEvents: number;\n totalTransitions: number;\n totalTicks: number;\n} {\n let totalStates = 0;\n let totalEvents = 0;\n let totalTransitions = 0;\n let totalTicks = 0;\n\n for (const behavior of STANDARD_BEHAVIORS) {\n // Access stateMachine and ticks from orbital traits\n for (const orbital of behavior.orbitals || []) {\n for (const trait of orbital.traits || []) {\n if (typeof trait === 'object' && 'stateMachine' in trait) {\n const sm = trait.stateMachine;\n if (sm) {\n totalStates += (sm.states || []).length;\n totalEvents += (sm.events || []).length;\n totalTransitions += (sm.transitions || []).length;\n }\n totalTicks += (trait.ticks || []).length;\n }\n }\n }\n }\n\n return {\n totalBehaviors: STANDARD_BEHAVIORS.length,\n totalStates,\n totalEvents,\n totalTransitions,\n totalTicks,\n };\n}\n"]}