Outerline 1.0-43
Summary
Performance and infrastructure build. Preview Only mode (Cmd+3) scroll stutter has been resolved — the root cause was a feedback loop of per-tick state updates and a permanently-rendered hidden measurement overlay driving continuous SwiftUI AttributeGraph churn during scroll. This build also unifies word count across the app, reworks the build script to use proper Xcode archive/export, and adds a one-click MCP helper installer.
What's New
- Unified word count into a single shared implementation used by the editor, file list, version history, and MCP server.
- Reworked
build-app.shto use thexcodebuild archive→xcodebuild -exportArchiveflow. - Added MCPB bundle for one-click Claude Desktop MCP installation.
- Updated MCP helper icon.
Fixes
- Fixed Preview Only (Cmd+3) scroll stutter — replaced fire-every-tick
DispatchQueue.main.asyncoutline updates with a real 120ms debounce, eliminating per-frame@Publishedstate churn. - Fixed hidden measurement overlay being kept in the SwiftUI view tree permanently during scroll — overlay now removes itself once segment frames are captured and reappears only when content, theme, max-width, or pane width changes.
- Fixed stale segment frame measurements after window resize, theme change, or content max-width change.
- Fixed debounced outline active-heading update overwriting imperative outline changes (outline jump, doc switch, content edit).
- Fixed measurement not invalidating when the active scroll bridge changes (e.g. toggling split scroll sync or switching modes).
- Fixed inconsistent word counts between the editor, file list, version history, and MCP server.
- Fixed
--appstorebuild failure caused by missingWordCount.swiftin the Xcode project and duplicateAGENTS.mdresources. - Fixed flaky HTML escaping test.
Improvements
- Word count is now a zero-allocation Unicode scalar walk (
String.wordCountinOuterlineShared), replacing 4 divergent implementations. - Build output now exports to
~/Desktop/instead ofbuild/export/. - Added MCPB bundle documentation.
- Updated development docs with new build script usage, launch arguments, and Xcode project workflow.
- Added proprietary LICENSE file.
- Developer documentation audit and cleanup.