What problem does it solve?
This Skill serves as a comprehensive guide to the AppKit text system, particularly TextKit 2, within the context of the Edmund Markdown editor. It provides deep insights and mitigations for common issues, helping developers navigate and optimize their text layout and rendering.
Core Features & Use Cases
- Understanding TextKit 2: Offers detailed explanations of the TextKit 2 object model and viewport-based layout principles.
- Layout Mitigations: Provides solutions to viewport glitches, attribute-only mutation semantics, and the queued selection fixup issue.
- Custom Drawing Model: Explains the custom drawing approach used for text layout and decoration, including handling images and math.
- AppKit Edit Pipeline: Delivers insights into the AppKit edit pipeline contract and how to deal with AppKit's unconventional behavior.
- IME & Marked Text: Addresses the lifecycle of input methods and marked text, highlighting how to prevent issues related to IME usage.
- Drag Sessions & swift-markdown Walker: Discusses the complexities of drag sessions and the Swift-markdown parsing model used in Edmund.
Quick Start
Load the skill and consult the section on handling viewport glitches for a deeper understanding of the layout system in Edmund.