The board wears a picture — background becomes a mapping, and the window chrome follows it under a thin frost

background is {color:, image:} and only a mapping at every level; the board's image paints the full window under a transparent title bar, with a thin-material frost strip keeping the chrome legible and the standard accommodations intact.

Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
This commit is contained in:
2026-08-07 10:15:03 -04:00
parent 190a8e36f1
commit d5ad21c3da
37 changed files with 1182 additions and 76 deletions
+7 -2
View File
@@ -1931,11 +1931,16 @@ public final class BoardStore: HealHost {
}
}
/// Through `setStyleValue` rather than `set`/`remove` directly, which is this gesture's whole
/// answer to `background` being a mapping (BackgroundField.swift): the colour is written *into*
/// the key rather than over it, so a board carrying `background: {color: , image: }` comes out
/// of a colour change still carrying its image. `icon` takes the plain scalar path through the
/// same call.
private static func apply(_ change: StyleChange, to key: String, in document: inout FrontmatterDocument) {
switch change {
case .keep: break
case let .set(value): document.set(key, to: .string(value))
case .remove: document.remove(key)
case let .set(value): document.setStyleValue(value, for: key)
case .remove: document.setStyleValue(nil, for: key)
}
}