Compare

Honest trade-offs. K2F is not a lossless superset of PDF, Markdown, HTML, or DOCX.

CapabilityPDFMarkdownHTMLDOCXK2F
Agent-stable node idsNoNoFragile DOMFragile XMLYes — dotted ids in the semantic tree
Pixel-stable pagesYesNoNo (viewport reflow)Soft / app-dependentYes — viewers paint `document.K2F.lock`
Semantic roles vs presentationDrawing onlyHeadings / listsTags mixed with CSSStylesRoles + Theme; no inline CSS in State A
Integrity bannerNoNoNoOptionalRequired (SIGNED, UNSIGNED, SIGNED_BUT_BROKEN, BROKEN_INTEGRITY, UNLOCKED)
PDF as editable sourceIt is the fileN/AN/AN/ANo — `PDF_IS_NOT_A_SOURCE`; export is a drawing of the lock
Arbitrary vector art in sourceYesNoSVGDrawingMLNo in State A (a real loss vs PDF)
Engine / reader mismatchViewer differencesRenderer differencesUser-agent differencesApp differences`ENGINE_MISMATCH` — intentional, not silent drift
Markdown round-tripN/ANativeLossyLossySupported and lossy for theme, lock, and node ids
MCP serverN/AN/AN/AN/ANot shipped
Package registriesN/AN/AN/AN/ANot on npm/PyPI yet — local install only