oficina / sheets Public

Clone
git clone https://amadan.net/oficina/sheets

Plain git — no account needed to clone.

Download

Download this file

1# Oficina Sheets for Mac, iPhone and iPad
2
3Entirely native SwiftUI editors use the same authenticated Go calculation,
4formatting, sealed storage and permission paths as the web application.
5No embedded browser editor or second formula engine is used.
6
7Build with Xcode 26.6, Swift 6.2+, and XcodeGen:
8
9```sh
10native/scripts/build-mac.sh
11native/scripts/build-iphone.sh simulator
12```
13
14The macOS bundle is `native/build/Oficina Sheets.app`. Simulator products
15are under `native/build/ios`. Device builds use `build-iphone.sh device`
16and require `OFICINA_DEVELOPMENT_TEAM` and the team's normal signing setup.
17Simulator and device builds use separate DerivedData directories.
18`OFICINA_SKIP_PROJECT_GENERATION=1` allows the suite runner to generate the
19project once before starting parallel builds.
20
21The shared native transport and Mac packaging tools are pinned to reviewed
22revision `a49307c29cf36dff2cf423c3f98b38269ce9a553` of
23`https://amadan.net/rastrillo/native`. Both SwiftPM and Xcode resolve that
24revision; no sibling development checkout is required.
25
26Select a cell, then edit its formula bar, double-click, or type while the
27Mac grid has keyboard focus. Enter saves and moves down; Tab saves and
28moves right; Escape discards the focused cell edit. The range field accepts
29addresses such as `A1:C10`. Menus provide copy/paste, clear, fill, formatting,
30size controls, functions, history, comments, sharing and workbook transfer.
31Sort/filter opens a native table preserving each cell's original reference.
32
33Network content uses ephemeral transport. Requested exports stream to a private
34temporary workbook and are handed to the system file-save picker; the temporary
35file is removed on completion, cancellation or failure. Failed value batches
36remain available for retry/discard; window close and Quit protect pending
37edits. The app does not claim offline editing or sealed local document caches.
38
39Current web limits remain visible: a single worksheet, a 500-row/200-column
40grid window, 500-cell paste limit, first-worksheet XLSX/XLSM import up to
4120 MiB, and no undo for formatting or sizing. Formula evaluation and number
42display come from the Go server. Charts, conditional-format rule editing,
43structural row/column changes and additional worksheet editing do not exist
44in the web baseline and are not represented as finished features here.
45
46Verification:
47
48```sh
49swift test --package-path native/apple
50go test ./...
51```
52
53`SheetsReview` and `SheetsReviewPhone` are separate, unshipped review targets.
54Their fixture server uses temporary databases and ordinary authenticated
55sessions. Production entry points never contain fixture credentials.
56See the native design spec and review records for exercised coverage;
57compiling a target alone does not establish editing parity.
58