feat: Add Protocol 13 adaptive optimization, Plotly charts, and dashboard improvements

## Protocol 13: Adaptive Multi-Objective Optimization
- Iterative FEA + Neural Network surrogate workflow
- Initial FEA sampling, NN training, NN-accelerated search
- FEA validation of top NN predictions, retraining loop
- adaptive_state.json tracks iteration history and best values
- M1 mirror study (V11) with 103 FEA, 3000 NN trials

## Dashboard Visualization Enhancements
- Added Plotly.js interactive charts (parallel coords, Pareto, convergence)
- Lazy loading with React.lazy() for performance
- Code splitting: plotly.js-basic-dist (~1MB vs 3.5MB)
- Chart library toggle (Recharts default, Plotly on-demand)
- ExpandableChart component for full-screen modal views
- ConsoleOutput component for real-time log viewing

## Documentation
- Protocol 13 detailed documentation
- Dashboard visualization guide
- Plotly components README
- Updated run-optimization skill with Mode 5 (adaptive)

## Bug Fixes
- Fixed TypeScript errors in dashboard components
- Fixed Card component to accept ReactNode title
- Removed unused imports across components

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Antoine
2025-12-04 07:41:54 -05:00
parent e74f1ccf36
commit 8cbdbcad78
270 changed files with 15471 additions and 517 deletions

View File

@@ -0,0 +1,54 @@
{
"iteration": 3,
"total_fea_count": 103,
"total_nn_count": 3000,
"best_40_vs_20": 5.987584898942661,
"best_60_vs_20": 14.017083006096021,
"best_mfg": 30.409458049632082,
"best_weighted": 1.4557723208370854,
"best_params": {
"lateral_inner_angle": 27.09054171201854,
"lateral_outer_angle": 13.31074236287185,
"lateral_outer_pivot": 11.19807770786628,
"lateral_inner_pivot": 10.608668128037127,
"lateral_middle_pivot": 18.001401687138543,
"lateral_closeness": 10.844083045819298,
"whiffle_min": 44.085872072689895,
"whiffle_outer_to_vertical": 76.66759779190761,
"whiffle_triangle_closeness": 54.08764401832863,
"blank_backface_angle": 3.5924959120488027,
"inner_circular_rib_dia": 617.0928925287086
},
"history": [
{
"iteration": 1,
"fea_count": 95,
"nn_count": 1000,
"best_40_vs_20": 6.100722768997251,
"best_60_vs_20": 14.02163456614584,
"best_mfg": 29.81839947233277,
"best_weighted": 1.466149156176011,
"improved": false
},
{
"iteration": 2,
"fea_count": 99,
"nn_count": 2000,
"best_40_vs_20": 6.100722768997251,
"best_60_vs_20": 14.02163456614584,
"best_mfg": 29.81839947233277,
"best_weighted": 1.466149156176011,
"improved": false
},
{
"iteration": 3,
"fea_count": 103,
"nn_count": 3000,
"best_40_vs_20": 5.987584898942661,
"best_60_vs_20": 14.017083006096021,
"best_mfg": 30.409458049632082,
"best_weighted": 1.4557723208370854,
"improved": false
}
]
}

Binary file not shown.