initial commit v 0.2.0
Verify source and build Android / android (push) Canceled after 0s

This commit is contained in:
2026-09-24 22:49:27 +02:00
commit db873063f8
129 changed files with 7512 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# 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.