Expand description
2026-09-25: The vision tower a built model holds, whichever family bound it.
Owner: model-layers (vision). Invariants: none beyond the types.
Two towers exist: the Qwen3-VL-shaped VisionEncoder and GLM-5.3’s
GlmVit. The engine uses them only through this enum:
forward_batched(images) -> per-image (post_h, post_w, merged_p),- a packed
[Σmerged_p, out_hidden_size]BF16 output, image-ordered, read throughout_row, out_hidden_size,ensure_scratch, for a tensor-parallel worker that receives rows instead of encoding.
An enum rather than a trait object, so adding a tower means adding a variant to every match here.