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
+3 -3
View File
@@ -460,11 +460,11 @@ struct ObjectKindWriteTests {
try BoardWriter.updateIndex(
inItemFolder: fixture.url("\(Ident.lane1)/\(Ident.card1)"),
operation: .style(title: nil)
) { $0.set(FrontmatterKeys.background, to: .string("fern")) }
) { $0.setStyleValue("fern", for: FrontmatterKeys.background) }
try BoardWriter.updateIndex(
inItemFolder: fixture.url(Ident.lane1),
operation: .style(title: nil)
) { $0.set(FrontmatterKeys.background, to: .string("fern")) }
) { $0.setStyleValue("fern", for: FrontmatterKeys.background) }
#expect(try kind(of: "\(Ident.lane1)/\(Ident.card1)", in: fixture) == .valid("card"))
#expect(try kind(of: Ident.lane1, in: fixture) == .valid("lane"))
@@ -498,7 +498,7 @@ struct ObjectKindWriteTests {
let folder = try fixture.item("notes", Item.rich(order: "1024", title: "Hand-made"))
try BoardWriter.updateIndex(inItemFolder: folder, operation: .style(title: nil)) {
$0.set(FrontmatterKeys.background, to: .string("fern"))
$0.setStyleValue("fern", for: FrontmatterKeys.background)
}
#expect(try kind(of: "notes", in: fixture) == .missing)