ZOFFICE // ENGINEERING REPORT

// implemented status · module breakdown · architecture

Home GitHub
3app classes (docs · sheets · slides)
1shared engine (zoffice-core)
v2Tauri desktop shell
970tests in zoffice-core
78.9kRust lines in the engine
169Tauri commands in the shell

This is an honest, source-verified report. zoffice is under active development, but the engine is real: zoffice-core implements DOCX/ODT, XLSX/ODS, and PPTX/ODP read/write across writer.rs, calc.rs, and impress.rs, and ships 970 tests over roughly 78,900 lines of Rust. The counts on this page are recomputed from source and updated as the engine and the desktop shell take shape.

What zoffice is

A from-scratch office suite in Rust covering the office triad — documents, spreadsheets, and presentations — packaged as a Tauri v2 desktop app behind a cyberpunk HUD, built to replace Microsoft Office. The editing engine is factored out as zoffice-core so the same engine can be embedded inside the other MenkeTechnologies apps rather than living only in the desktop binary. The suite interoperates with the Microsoft Office and OpenDocument document, spreadsheet, and presentation formats, with DOCX/ODT, XLSX/ODS, and PPTX/ODP I/O implemented in the engine today.

Module breakdown

areascopestage
documentsword-processor model · DOCX/ODT read/write (writer.rs)implemented
spreadsheetscell/grid model · formulas · XLSX/ODS read/write (calc.rs)implemented
presentationsslide model · PPTX/ODP read/write (impress.rs)implemented
zoffice-coreshared editing engine, GUI-free, embeddable in host appsimplemented
desktop shellTauri v2 app · cyberpunk HUD front-end · 169 registered commands (open/save, editing, inspectors, page & slide arrangers, embedded terminal)implemented

The document, spreadsheet, and presentation format handlers are implemented in zoffice-core (writer.rs, calc.rs, impress.rs), and the desktop shell wires them through 169 Tauri commands (app/src-tauri/src/lib.rs, generate_handler!) — including the Writer page-sorter (writer_pages / writer_reorder) and the Impress slide-sorter (impress_reorder). The split between the desktop app (zoffice) and the engine (zoffice-core) is the load-bearing architectural decision: the engine carries the document model and editing operations with no GUI dependency, so the same code can power both the desktop suite and embeds in the other MenkeTechnologies apps.

Verification

The counts on this page are recomputed from source, not asserted from memory. The engine carries 970 tests (grep -rEn "#\[(tokio::)?test\]" zoffice-core/src zoffice-core/tests | wc -l) across roughly 78,900 lines of Rust (find zoffice-core -name '*.rs' -not -path '*/target/*' | xargs wc -l → 78,947). The desktop shell registers 169 Tauri commands (the generate_handler! list in app/src-tauri/src/lib.rs). Format support is verifiable in writer.rs (DOCX/ODT), calc.rs (XLSX/ODS), and impress.rs (PPTX/ODP). These numbers will be refreshed from source as the engine and the desktop shell evolve.