task: placeholder logic for canvas and preview

Make region a real placeholder variant, then remove the hardcoded strings the region placeholders were reading.

The region box used to borrow the list variant and then fight its stylesheet with a doubled .db-placeholder.db-placeholder--region selector plus an overflow: visible / white-space: normal undo pair. The one-line chip rules now live on the two variants that are a chip, so region has nothing to override.

PageOnlySources is deleted rather than shrunk. Reducing it to a flat ID list and dropping ::sources() left a final class with one constant and one predicate, read by one caller; the "read by both surfaces" justification went with PreviewPanel no longer reading it. The list is now BuilderPanel::FORCE_PLACEHOLDER, and it answers one question only: is this node invisible. What a block placeholder says is derived from the block definition, the same way for every block. The two page regions answer for themselves through regionLabel(), regionHelp() and regionSize().

Cost, accepted: the five curated help sentences are gone, and the Preview's one-line marker no longer carries one either.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Closes #3618072

Merge request reports

Loading
Loading