commit ee49963daf1497dc7596f3578646b85c18ebda7e
parent afa292990671b64dc2598a4d390e8557bfe173d4
Author: Michael Camilleri <[email protected]>
Date: Wed, 17 Jun 2026 01:09:25 +0900
Soften recent-change cell borders
This commit makes the changed-while-away border less stark by drawing a
wide translucent halo under a lighter inner stroke. The highlighted
cells still read as square borders, but the colour sits back from the
letter grid instead of appearing as a hard outline.
Co-Authored-By: Codex GPT 5.5 <[email protected]>
Diffstat:
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/Crossmate/CrossmateApp.swift b/Crossmate/CrossmateApp.swift
@@ -547,16 +547,6 @@ struct RootView: View {
}
}
await services.start(appDelegate: appDelegate)
-#if DEBUG
- services.announcements.post(Announcement(
- id: "debug-share-link-join-failed",
- scope: .global,
- severity: .warning,
- title: "Puzzle Removed",
- body: "This puzzle was removed.",
- dismissal: .manual
- ))
-#endif
}
.onOpenURL { url in
if let id = services.importService.importGame(from: url) {
diff --git a/Crossmate/Views/Puzzle/GridView.swift b/Crossmate/Views/Puzzle/GridView.swift
@@ -487,10 +487,18 @@ private struct RecentChangeBorders: View {
spacing: spacing
)
for (pos, color) in shown {
- // Inset by half the line width so the stroke sits inside the
- // cell (thinner than `LocalCursorTints`' related-cell border).
- let rect = geometry.cellRect(row: pos.row, col: pos.col).insetBy(dx: 1, dy: 1)
- context.stroke(Path(rect), with: .color(color), lineWidth: 2)
+ let rect = geometry.cellRect(row: pos.row, col: pos.col)
+ let path = Path(rect.insetBy(dx: 1.5, dy: 1.5))
+ context.stroke(
+ path,
+ with: .color(color.opacity(0.10)),
+ lineWidth: 6
+ )
+ context.stroke(
+ path,
+ with: .color(color.opacity(0.30)),
+ lineWidth: 2
+ )
}
}
.opacity(visible ? 1 : 0)