# Office engine decision record ## Decision in 0.1.0 Ship an Android source implementation with local reading previews and a reusable Kotlin core. Do not claim the LibreOfficeKit engine is bundled. Do not claim a reading preview preserves document layout, all text, formula results or embedded objects. The earlier high-level discussion made embedding LibreOfficeKit sound closer to adding a small library dependency than it really is. LibreOffice's own Android notes describe bundling a native LibreOffice core, bootstrapping it, a dedicated LOK thread, native callbacks and tiled rendering. This is a substantive integration/build/security/licensing track; `SOURCES.md` points to the primary upstream documentation. Its existing work remains valuable and is the preferred direction to investigate rather than writing a new compatible Office layout engine. ## Required prototype deliverables 1. A pinned upstream revision, licence inventory and documented build recipe with real Android binaries for the required ABIs. Do not assume a maintained public AAR exists. 2. A local open/page/tile/render prototype on actual hardware, including startup resources/fonts. Do not redistribute fonts copied from the authoring environment. 3. Single-thread/queue ownership rules for engine calls and callbacks, a crash-isolated service, and a bounded transport for page metadata, pixels, text and search results. 4. Explicit macro/external-link/font/network policies enforced inside the chosen engine and verified against hostile documents, not just disabled in the host UI. 5. Fidelity tests across DOCX/XLSX/PPTX/ODF and only then legacy formats. Account for missing fonts, unsupported layout behaviours, cached vs calculated spreadsheet values, and revision semantics. 6. Independent assessment of Apple build/distribution integration. The common Kotlin preview model remains reusable; the native engine may need different platform bootstrapping/rendering adapters. ## Not done in this repository There is no `liblo-native-code.so`, LOK JNI bridge, Collabora build, converted PDF cache, native engine licence bundle or Office layout validation. The `FormatHandler` interface is an extension seam for reading previews; it is not evidence of a full engine implementation.