agentjs-core
Version:
A comprehensive agent-based modeling framework with built-in p5.js visualization
123 lines • 3.85 kB
TypeScript
/**
* AgentDefinitionVisualizer - Real-time visualization of agent definition extent
*
* Shows agent definition progress in real-time during creation/modification,
* not just when complete. Provides visual feedback for incomplete definitions.
*/
/// <reference types="@types/p5-global" />
import type { Agent } from '../core/agents/Agent';
import type { Position } from '../types/core';
/** Configuration for definition visualization */
export interface DefinitionVisualizerConfig {
readonly showIncomplete: boolean;
readonly showProgress: boolean;
readonly highlightMissing: boolean;
readonly animateChanges: boolean;
readonly opacity: {
complete: number;
incomplete: number;
missing: number;
};
}
/** Agent definition state tracking */
export interface AgentDefinitionState {
readonly agentId: string;
readonly completeness: number;
readonly requiredProperties: string[];
readonly definedProperties: string[];
readonly missingProperties: string[];
readonly lastModified: number;
readonly isComplete: boolean;
}
/** Visual indicators for definition state */
export interface DefinitionVisuals {
readonly borderColor: Color;
readonly fillColor: Color;
readonly strokeWeight: number;
readonly size: number;
readonly opacity: number;
readonly showProgress: boolean;
readonly progressColor: Color;
}
/**
* AgentDefinitionVisualizer - Real-time agent definition visualization
*
* Features:
* - Shows partial agent definitions during creation
* - Visual completeness indicators (progress rings, opacity)
* - Highlights missing required properties
* - Animates property additions/modifications
* - Supports live editing workflows
*
* Use Cases:
* - Agent builder interfaces
* - Live parameter tuning
* - Definition validation feedback
* - Educational scaffolding
*/
export declare class AgentDefinitionVisualizer {
private config;
private definitionStates;
private animations;
/** Required properties for complete agent definition */
private requiredProperties;
constructor(config?: Partial<DefinitionVisualizerConfig>);
/**
* Update definition state for an agent
* Call whenever agent properties change
*/
updateAgentDefinition(agent: Agent): void;
/**
* Remove agent from definition tracking
*/
removeAgentDefinition(agentId: string): void;
/**
* Render agent with definition extent visualization
*/
renderAgentWithDefinition(sketch: p5Instance, agent: Agent, position: Position, baseVisuals: any): void;
/**
* Calculate visual properties based on definition state
*/
private calculateDefinitionVisuals;
/**
* Render the base agent with definition-aware styling
*/
private renderAgentBase;
/**
* Render progress indicator around agent
*/
private renderProgressIndicator;
/**
* Render indicator for missing properties
*/
private renderMissingPropertiesIndicator;
/**
* Render animation effects for recent changes
*/
private renderAnimationEffects;
/**
* Trigger animation for property change
*/
private triggerAnimation;
/**
* Get definition state for an agent
*/
getDefinitionState(agentId: string): AgentDefinitionState | undefined;
/**
* Get all tracked definition states
*/
getAllDefinitionStates(): Map<string, AgentDefinitionState>;
/**
* Set required properties for complete definition
*/
setRequiredProperties(properties: string[]): void;
/**
* Update configuration
*/
updateConfig(newConfig: Partial<DefinitionVisualizerConfig>): void;
/**
* Clear all tracked states
*/
clear(): void;
}
//# sourceMappingURL=AgentDefinitionVisualizer.d.ts.map