Create the app icon and finalize versioning

App identity for both editions: the three-lane glyph
(rectangle.split.3x1.fill) over a gentle gradient - teal for base
Lanework, dark graphite for Lanework Pro - rendered as 1024 masters and
packaged down the full macOS ladder into each target's own iconset,
replacing the borrowed pathfinder icon.

The About window arrives via IndieAbout (0.2.x): icon, copyright,
version/build/date read from the Info.plist that update_build_info.sh
already stamps on every build (CFBundleVersion 160 = git commit count,
BuildDate, BuildHash - verified in the built product), the version line
opening the bundled CHANGELOG.md, and the new ISC LICENSE.md one
document link away. Both files are authored to the Apple
inline-Markdown subset (no # headings, single-line paragraphs) and
bundle into both editions.

CHANGELOG.md replaces its placeholder with the real 2.0 first-release
notes - one sentence per user-facing feature.

The About box is also an edition seam: base's EditionAbout carries the
one-line Pro signpost 12-editions.md allots ("Lanework Pro adds
git-backed board history and sync."), and the Pro target compiles its
own signpost-less twin instead of that file - the no-#if file-level
doctrine applied to a string. README gains the identity bullet.

1649 green on both schemes; verify-editions.sh 26/26.

Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
2026-07-29 12:43:26 -04:00
parent 1c263b9f2e
commit 28ef9eef7e
27 changed files with 119 additions and 1 deletions
+31
View File
@@ -0,0 +1,31 @@
import IndieAbout
/// **Base Lanework's About-box configuration one of the two places base names Lanework Pro.**
///
/// 12-editions.md Quiet signposts: "Base presents as a complete app, not a demo: Pro is named
/// in exactly two places one line in the About box, and the contextual popover line on `.git`
/// boards. Nothing on the welcome screen, nothing in banners." The popover line is
/// `BoardGitNote`'s; this is the About line, riding as the second line of the copyright text
/// `IndieAbout` renders `copyrightText` as one multi-line `Text`, so the signpost is literally a
/// line in the box, no custom layout.
///
/// **The Pro target does not compile this file** (project.yml excludes it and compiles
/// `KanbanPro/Edition/EditionAbout.swift` instead): Pro's About has no signpost the app it
/// would point to is the one showing the box and falls back to the Info.plist copyright. The
/// difference is a file one target builds and the other does not, per the edition split's
/// no-`#if` doctrine (12-editions.md Targets).
enum EditionAbout {
/// The About window's content: version/build/date from the stamped Info.plist
/// (`update_build_info.sh` CFBundleVersion, BuildDate, BuildHash), the version line
/// opening the bundled CHANGELOG.md, and the bundled ISC LICENSE.md as the one document
/// link. Both documents are authored to the Apple inline-Markdown subset see the files'
/// own single-line paragraphs.
static var configuration: AppInfoConfiguration {
AppInfoConfiguration(
copyrightText: "© 2026 rzen\nLanework Pro adds git-backed board history and sync.",
documents: [.license(extension: "md")],
changelogDocument: .changelog()
)
}
}