This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user