You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Server: return loss (error + penalties) per step, use fixed-LR stepping
Server handler (`handlers.rs`):
- Compute `loss = |error| + penalties.total()` for each training step
- `sparklineData.errors` now contains loss values (was area error)
- Add `sparklineData.areaErrors` for pure area error
- Add `minLoss` / `minLossStepIndex` to batch result
- Switch from error-scaled `step()` to fixed-LR `step_clipped()`:
`step()` freezes when area error → 0 because `step_size = error * lr`;
`step_clipped()` uses `step = clamp(grad) * lr` so penalty gradients
still drive optimization when area error is negligible
WASM worker (`worker.ts`):
- Add `penaltyTotal()` and `stepLoss()` helpers to `utils.ts`
- Compute per-step loss from WASM step penalties
- `sparklineData.errors` now contains loss, `.areaErrors` contains area error
Also suppress pre-existing warnings:
- `_non_largest_sum_v` unused variable in `step.rs`
- `#[allow(dead_code)]` on `LayoutResult` in `layout_opt.rs`
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments