Build Preview mode rendering
The card body's resting state: swift-markdown (pinned 0.8.0, smart typography off — Preview renders the bytes on disk) parsed into a pure BodyMarkup model with UTF-8 source offsets, rendered on one hosted TextKit 1 NSTextView — chosen because find-in-text is NSTextFinder, checkbox clicks reuse AppKit character hit-testing, links are .link attributes, and NSTextTable's automatic layout is exactly the columns-sized-to-contents rule. The GFM subset renders per 05; HTML stays verbatim code-styled text; relative images resolve against the card folder while remote URLs are never fetched, drawing a quiet chip instead. Task checkboxes are live: a click flips exactly one byte through a fresh-read, refuse-uneditable, stamp, atomic-replace write — the app's only offset-addressed write, so a moved target refuses as staleTarget and what the user saw decides the direction, netting one toggle on a double-click. Empty bodies open in Edit per CardBodyMode's opening rule, applied once; the Edit surface itself stays an honest read-only stub until its card. FindCommand prefers the card body's find over board search when a card window is focused. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -10,6 +10,13 @@ packages:
|
||||
Yams:
|
||||
url: https://github.com/jpsim/Yams.git
|
||||
from: 6.0.0
|
||||
# apple/swift-markdown — the card window's Preview parser (05-card-window.md ▸ Preview).
|
||||
# Pinned to the next *minor* rather than the next major because the package is pre-1.0: a
|
||||
# `from:` range here would silently accept 0.9's breaking changes, which is not what `from:`
|
||||
# means for Yams at 6.x.
|
||||
swift-markdown:
|
||||
url: https://github.com/apple/swift-markdown.git
|
||||
minorVersion: 0.8.0
|
||||
|
||||
settings:
|
||||
base:
|
||||
@@ -26,6 +33,8 @@ targets:
|
||||
- Kanban
|
||||
dependencies:
|
||||
- package: Yams
|
||||
- package: swift-markdown
|
||||
product: Markdown
|
||||
postBuildScripts:
|
||||
- script: '"${SRCROOT}/../indie-skills/skills/app-versioning/scripts/update_build_info.sh"'
|
||||
name: Update Build Info
|
||||
|
||||
Reference in New Issue
Block a user