- commit
- 84dcbde042ed2496505781a75cdebf9c63ea8a98
- parent
- 7b08a67f32dc26668134b1e11d30285c7c1a0666
- parent
- 92e5253fa14897097fc97c6f1c28f2d8bd5d5af4
- author
- Dami <dami.etoile@gmail.com>
| M | README.md | 1 | + |
| M | ROADMAP.md | 31 | ++++++++++++++++++++++++++++-- |
| M | docs/ | 6 | ++++++ |
@@ -7,6 +7,7 @@ Inside the grid it works the way Sheets does: typing replaces a cell, `=`
77 starts a formula, Enter and Tab move you on, Shift+arrows and the mouse88 select, and Sheets' shortcuts do what you expect. Around the grid, the99 control panel, the mode indicator and the character grid keep 1-2-3's look.10+Sheets and 1-2-3 are where it starts, not specs it follows to the letter.1011 It is one pure-Go binary.1112 1213 @@ -1,7 +1,8 @@
11 # Roadmap22 3-Principles: inside the grid 012 behaves like Google Sheets; 1-2-3 is the4-visual identity around it. The main binary stays pure Go3+Principles: Google Sheets is the seed for behavior inside the grid and4+1-2-3 for the visual identity around it; both are inspiration, not specs5+to match in every detail. The main binary stays pure Go56 (`CGO_ENABLED=0`), and every feature ships with unit tests, a libghostty67 e2e test and reviewed golden screens. Visual and UX quality keep pace78 with features: see [UX and visual bar](docs/contributing/ux.md).@@ -48,6 +49,32 @@ log macros record. Each step is useful on its own.
4849 | Shared viewing over SSH: several `012 serve` sessions open the same workbook; one edits, the others follow live with their own cursor, scroll and theme; presence shows who is where | Watch-along and review, one writer | M |4950 | Shared editing over SSH: every session edits, the server orders operations (no CRDT needed while one server holds the workbook), per-user undo, presence and edit ownership shown in the grid, saves by the server | Multiplayer 012 over SSH | L |5051 52+### 4. Toward 1.053+54+Solid before shared: what 012 already does keeps working from release to55+release, and shared editing builds on these guarantees. These come before56+shared editing in section 3.57+58+| Item | Result | Size |59+|---|---|---|60+| Files saved by each release kept as fixtures that every later build opens and saves unchanged; the `.012` format written down with a version | Old files keep opening | S |61+| Random sequences of edits, sorts, fills and region runs checked for invariants: undo all restores the start, save and reopen match, a full recalc agrees with the incremental one | Bugs between features found before users hit them | M |62+| A workbook of formulas where 012 matches Sheets on purpose (dates, text, rounding, errors, spills), results checked once in Sheets and asserted after; differences chosen on purpose listed in the docs | Formula results people rely on stay put | S |63+| Frame time and recalculation checked in `make check` against a baseline with a noise margin | Slowdowns fail the check, not a later benchmark | S |64+| A panic in any session saves the workbook for recovery and writes a short report, tested end to end | A crash loses nothing | S |65+| A week of real use by the owner, problems triaged into this page | Rough edges found by use | S |66+67+### 5. Around the grid68+69+| Item | Result | Size |70+|---|---|---|71+| Commands for scripts without the screen: `012 get`, `012 set`, `012 recalc`, `012 export` on a workbook file | 012 in scripts, cron and nushell pipelines | S to M |72+| `012 diff` cell by cell (values, formulas, formats, regions) and a git diff and merge driver for `.012` | Sheets kept in git review like code | M |73+| Formula tracing: precedents and dependents shown in the grid, a formula evaluated step by step | Finding why a number is wrong | M |74+| Named tables with structured references (`Sales[Amount]`); notebook regions are tables | Formulas that read by column name | M |75+| A sheet or chart exported as a static HTML page in 012's look | Sharing a sheet with someone without 012 | S |76+| Release archives and an install script served from the owner's nzip server | Installing without Go | S |77+5178 ## Later: other transports (shelved)5279 5380 Explored, not scheduled: carrying the same shared sessions over iroh@@ -18,6 +18,12 @@ follow-up task.
1818 1-2-3 disagree, Sheets wins. 1-2-3 lives on as the visual identity:1919 the control panel doubling as the formula bar, the mode indicator, the2020 crisp character grid.21+22+ Both are the seed and the design pattern, not a spec. Match them23+ where users' habits depend on it (keys, entry, formula syntax and24+ results people rely on); elsewhere do what serves a terminal25+ spreadsheet best, and say so in the docs where 012 differs on purpose.26+ "Sheets does it differently" is a reason to look, not a bug by itself.2127 2. **Familiar, but native to the terminal.** Sheets tells us which jobs2228 users expect to get done and which keys they reach for, not what the2329 screen must look like. This is a Bubble Tea program: prefer patterns