docs: Comprehensive documentation update for Dashboard V3 and Canvas
## Documentation Updates - DASHBOARD.md: Updated to V3.0 with Canvas V3 features, file browser, introspection - DASHBOARD_IMPLEMENTATION_STATUS.md: Marked Canvas V3 features as COMPLETE - CANVAS.md: New comprehensive guide for Canvas Builder V3 with all features - CLAUDE.md: Added dashboard quick reference and Canvas V3 features ## Canvas V3 Features Documented - File Browser: Browse studies directory for model files - Model Introspection: Auto-discover expressions, solver type, dependencies - One-Click Add: Add expressions as design variables instantly - Claude Bug Fixes: WebSocket reconnection, SQL errors resolved - Health Check: /api/health endpoint for monitoring ## Backend Services - NX introspection service with expression discovery - File browser API with type filtering - Claude session management improvements - Context builder enhancements ## Frontend Components - FileBrowser: Modal for file selection with search - IntrospectionPanel: View discovered model information - ExpressionSelector: Dropdown for design variable configuration - Improved chat hooks with reconnection logic ## Plan Documents - Added RALPH_LOOP_CANVAS_V2/V3 implementation records - Added ATOMIZER_DASHBOARD_V2_MASTER_PLAN - Added investigation and sync documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,14 +34,60 @@ export interface DesignVarNodeData extends BaseNodeData {
|
||||
expressionName?: string;
|
||||
minValue?: number;
|
||||
maxValue?: number;
|
||||
baseline?: number;
|
||||
unit?: string;
|
||||
enabled?: boolean;
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
// Extractor-specific config types
|
||||
export interface ZernikeConfig {
|
||||
innerRadius?: number;
|
||||
outerRadius?: number;
|
||||
nModes?: number;
|
||||
filterLowOrders?: number;
|
||||
subcases?: string[];
|
||||
subcaseLabels?: Record<string, string>;
|
||||
referenceSubcase?: string;
|
||||
extractMethod?: 'extract_relative' | 'extract_rms' | 'extract_absolute';
|
||||
}
|
||||
|
||||
export interface DisplacementConfig {
|
||||
subcase?: number;
|
||||
nodeSet?: string;
|
||||
component?: 'magnitude' | 'x' | 'y' | 'z';
|
||||
}
|
||||
|
||||
export interface StressConfig {
|
||||
subcase?: number;
|
||||
elementSet?: string;
|
||||
stressType?: 'vonMises' | 'principal' | 'max_shear';
|
||||
}
|
||||
|
||||
export interface MassConfig {
|
||||
source?: 'bdf' | 'expression';
|
||||
expressionName?: string;
|
||||
}
|
||||
|
||||
export interface FrequencyConfig {
|
||||
modeNumber?: number;
|
||||
}
|
||||
|
||||
export type ExtractorConfig = Record<string, unknown>;
|
||||
|
||||
export interface ExtractorNodeData extends BaseNodeData {
|
||||
type: 'extractor';
|
||||
extractorId?: string;
|
||||
extractorName?: string;
|
||||
config?: Record<string, unknown>;
|
||||
extractorType?: 'zernike_opd' | 'displacement' | 'stress' | 'mass' | 'frequency';
|
||||
extractMethod?: string;
|
||||
config?: ExtractorConfig;
|
||||
// Zernike-specific (for quick access)
|
||||
innerRadius?: number;
|
||||
nModes?: number;
|
||||
subcases?: string[];
|
||||
// Output mapping
|
||||
outputNames?: string[];
|
||||
}
|
||||
|
||||
export interface ObjectiveNodeData extends BaseNodeData {
|
||||
@@ -49,6 +95,9 @@ export interface ObjectiveNodeData extends BaseNodeData {
|
||||
name?: string;
|
||||
direction?: 'minimize' | 'maximize';
|
||||
weight?: number;
|
||||
extractorRef?: string; // Reference to extractor ID
|
||||
outputName?: string; // Which output from the extractor
|
||||
penaltyWeight?: number; // For hard constraints (penalty method)
|
||||
}
|
||||
|
||||
export interface ConstraintNodeData extends BaseNodeData {
|
||||
@@ -62,6 +111,11 @@ export interface AlgorithmNodeData extends BaseNodeData {
|
||||
type: 'algorithm';
|
||||
method?: 'TPE' | 'CMA-ES' | 'NSGA-II' | 'GP-BO' | 'RandomSearch';
|
||||
maxTrials?: number;
|
||||
// CMA-ES specific
|
||||
sigma0?: number;
|
||||
restartStrategy?: 'none' | 'ipop' | 'bipop';
|
||||
// Weight settings for multi-objective
|
||||
objectiveWeights?: Record<string, number>;
|
||||
}
|
||||
|
||||
export interface SurrogateNodeData extends BaseNodeData {
|
||||
|
||||
Reference in New Issue
Block a user