3360be2488
Move the per-stage shape tables (attention + FFN) off the Per-stage latency tab and combine them with the weight + KV shape tables into a single 'All tensor shapes (per PE)' expander at the bottom of the Physical Layout tab. Five subsections in one place: - Attention weights (global + per-PE shape, per layer) - FFN weights (same schema) - KV cache (same schema) - Per-stage attention shapes (input / weight / output) - Per-stage FFN shapes (same) Rationale: the shape catalog belongs next to the physical-layout view that shows how the tensors are placed on hardware. The Per-stage latency tab now focuses purely on time-per-stage. Weight/KV tables stay on the Memory Breakdown tab too because the summary metrics underneath still consume the same rows. Guard test verifies the section string appears exactly once, is positioned inside tab_layout (before tab_memory / tab_stages), and that neither attn_stage_shape_rows nor ffn_stage_shape_rows is called inside the tab_stages block anymore. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>