/** * ReshapeModal — confirm modal for reshaping the runtime-shaped net (P2). * * Offered when the composed ACTIVE input-axis count changes to something other * than the net's current input arity (see ConsoleApp's reshape-offer effect). * The locked decision (manifold-mixed-inputs memory) is a "reset-on-reshape" * flow: warm-start the weights from the current net, reset examples + explore * state. Declining keeps the current (over-provisioned, zero-padded) net — so * the default 32-input head behaviour never changes unless the user opts in. * * Small inline modal in the house design language (no external dialog dep). */ import { Button } from '../primitives'; export interface ReshapeModalProps { /** Target input arity (the current active axis count). */ target: number; /** The net's current input arity, for the copy. */ current: number; onConfirm: () => void; onCancel: () => void; } export function ReshapeModal({ target, current, onConfirm, onCancel }: ReshapeModalProps) { return (
Reshape the net to {target} input{target === 1 ? '' : 's'}? Weights are warm-started from the current {current}-input net; examples and exploration state reset.
Decline to keep the current net — the extra axes stay zero-padded (inert).