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