@a3s-lab/office 0.34.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -25
- package/dist/0~7048.js +497 -2
- package/dist/0~presentation-editor.js +19 -5
- package/dist/0~spreadsheet-editor.js +298 -32
- package/dist/0~work-office-diagnostics.js +1 -1
- package/dist/3266.js +189 -10
- package/dist/4121.js +257 -0
- package/dist/8715.js +299 -299
- package/dist/core.js +14 -4
- package/dist/internal/features/work/editors/presentation-editor-focus.d.ts +2 -0
- package/dist/internal/features/work/editors/presentation-text-editor.d.ts +7 -0
- package/dist/internal/features/work/editors/spreadsheet-calculation-model.d.ts +1 -1
- package/dist/internal/features/work/editors/spreadsheet-calculation-projection.d.ts +5 -2
- package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +10 -0
- package/dist/internal/features/work/editors/spreadsheet-command-selection.d.ts +22 -1
- package/dist/internal/features/work/editors/spreadsheet-table-calculated-columns.d.ts +42 -0
- package/dist/internal/features/work/editors/use-presentation-selection.d.ts +1 -1
- package/dist/internal/features/work/work-types.d.ts +5 -0
- package/dist/internal/kernel/office-kernel-protocol.d.ts +1 -1
- package/dist/internal/kernel/office-kernel-spreadsheet-protocol.d.ts +18 -0
- package/dist/internal/kernel/office-kernel-spreadsheet-structured-reference.d.ts +48 -0
- package/dist/office-kernel.wasm +0 -0
- package/dist/office-kernel.worker.js +505 -2
- package/docs/latest/en/browser-editor-architecture.md +21 -8
- package/package.json +16 -13
package/README.md
CHANGED
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
15
|
<a href="https://github.com/A3S-Lab/Office/actions/workflows/ci.yml"><img alt="CI status" src="https://img.shields.io/github/actions/workflow/status/A3S-Lab/Office/ci.yml?branch=main&style=flat-square&label=CI"></a>
|
|
16
|
-
<a href="https://a3s-lab.github.io/Office/"><img alt="Open the live Playground" src="https://img.shields.io/badge/Live_Playground-open-2f6fed?style=flat-square"></a>
|
|
16
|
+
<a href="https://a3s-lab.github.io/Office/playground/"><img alt="Open the live Playground" src="https://img.shields.io/badge/Live_Playground-open-2f6fed?style=flat-square"></a>
|
|
17
17
|
<a href="#project-status"><img alt="Project status: pre-1.0" src="https://img.shields.io/badge/status-pre--1.0-7a5bd6?style=flat-square"></a>
|
|
18
18
|
<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-159469?style=flat-square"></a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
21
|
<p align="center">
|
|
22
|
-
<a href="https://a3s-lab.github.io/Office/">Playground</a> ·
|
|
22
|
+
<a href="https://a3s-lab.github.io/Office/playground/">Playground</a> ·
|
|
23
23
|
<a href="https://a3s-lab.github.io/Office/docs/">Documentation</a> ·
|
|
24
24
|
<a href="#quick-start">Quick start</a> ·
|
|
25
25
|
<a href="#editor-capability-comparison">Editors</a> ·
|
|
@@ -56,9 +56,8 @@ workflows, and a separate Rust automation plane.
|
|
|
56
56
|
|
|
57
57
|
## Latest on `main`
|
|
58
58
|
|
|
59
|
-
The `0.
|
|
60
|
-
|
|
61
|
-
detail in the documentation:
|
|
59
|
+
The `0.36.0` release exposes these capabilities as normal user-facing
|
|
60
|
+
Playground templates, with matching implementation detail in the documentation:
|
|
62
61
|
|
|
63
62
|
| Editor | Latest capability | Public entry |
|
|
64
63
|
| --- | --- | --- |
|
|
@@ -69,18 +68,20 @@ detail in the documentation:
|
|
|
69
68
|
| Writer | Native character shading with exact `w:shd` patterns, foreground/background color identity, explicit resets, authoring, and DOCX reopen | Playground **Latest capabilities → 字符底纹** · [Document reference](docs/latest/en/components/document.mdx#native-character-shading) |
|
|
70
69
|
| Writer | Independent Latin, East Asian, and bidi proofing languages plus explicit `w:noProof` inclusion/exclusion | Playground **Latest capabilities → 校对语言** · [Document reference](docs/latest/en/components/document.mdx#native-proofing-languages) |
|
|
71
70
|
| Spreadsheet | Complete common Data Validation input, blank/dropdown, and Stop/Warning/Information error settings with native XLSX round trips | Playground **Latest capabilities → 数据验证** · [Spreadsheet reference](docs/latest/en/components/spreadsheet.mdx#data-validation) |
|
|
71
|
+
| Spreadsheet | Bounded structured-reference calculation plus automatic calculated-column fill for table names/display names, contiguous columns, header/data/totals selectors, qualified references, and table-local current-row formulas across Rust/WASM and JavaScript fallback | Playground **Latest capabilities → 结构化引用** · [Spreadsheet reference](docs/latest/en/components/spreadsheet.mdx#structured-reference-calculation) |
|
|
72
72
|
| PDF | Insert, delete, rotate, reorder, extract, merge, and split pages through a dedicated Web Worker, with Blob-level Undo/Redo and independent binary reopen verification | Playground **Latest capabilities → 组织 PDF 页面** · [PDF reference](docs/latest/en/components/pdf.mdx#page-organization) |
|
|
73
73
|
|
|
74
|
-
All
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
All nine entries are reachable from the first Playground viewport. The
|
|
75
|
+
filterable capability gallery groups releases by editor, publishes the source
|
|
76
|
+
release on every card, and grows from one shared metadata list instead of a
|
|
77
|
+
fixed-width strip. The eight content templates also remain under **新建**;
|
|
78
|
+
**组织 PDF 页面** opens the normal PDF file workflow because page organization
|
|
79
|
+
must operate on host-provided source bytes.
|
|
79
80
|
|
|
80
81
|
## See it working
|
|
81
82
|
|
|
82
83
|
The images below are committed visual-regression baselines from the real
|
|
83
|
-
[Playground](https://a3s-lab.github.io/Office/), not conceptual mockups.
|
|
84
|
+
[Playground](https://a3s-lab.github.io/Office/playground/), not conceptual mockups.
|
|
84
85
|
|
|
85
86
|
<p align="center">
|
|
86
87
|
<a href="visual-tests/__snapshots__/linux/desktop-1280/document.png">
|
|
@@ -150,8 +151,8 @@ baseline rather than one specific release.
|
|
|
150
151
|
| Cells, sheets, navigation, and history | **Supported** — multiple sheets, sparse editing, search, clipboard, four-direction fill, exact formula/value copy from above, and undo/redo | Mature grid workflows across desktop and web |
|
|
151
152
|
| Formatting and style rendering | **Partial** — native fonts, colors, borders, alignment, number formats, cell styles, all 17 native non-solid OOXML pattern fills, native linear/path XLSX gradients, and one Format Cells surface that authors none, solid, pattern, or gradient fills with exact geometry and 2–256 ordered stops; static date/time entry, contrast-safe font preview, native XLSX rich-text runs, selected-text font formatting, direct formula-bar/F2 insertion or deletion, and bounded authenticated formatted-HTML paste | Disjoint multi-edit rich-text authoring, broader themes, locale formats, and advanced style effects |
|
|
152
153
|
| Ribbon and shortcuts | **Partial** — common Office-style Home/Data/View commands, grid-scoped shortcuts, and focused Font-dialog aliases | Larger command catalog and platform-specific accelerators |
|
|
153
|
-
| Formulas and recalculation | **Partial** — dependency-aware calculation and
|
|
154
|
-
| Tables, pivots, charts, and rules | **Partial** — native tables, pivots, charts, conditional formatting, and common validation rules with complete input/error-setting authoring |
|
|
154
|
+
| Formulas and recalculation | **Partial** — dependency-aware calculation plus bounded structured references (`Table[Column]`, contiguous ranges, `#All`/`#Headers`/`#Data`/`#Totals`/`#This Row`, and `[@Column]`) in the shared Rust/WASM and JavaScript paths | Wider functions, arrays, volatile semantics, and calculation parity |
|
|
155
|
+
| Tables, pivots, charts, and rules | **Partial** — native tables, bounded structured-reference formulas, calculated-column formulas with automatic fill for newly inserted body rows, pivots, charts, conditional formatting, and common validation rules with complete input/error-setting authoring | Complete totals-row authoring, slicers, pivot charts, custom/dependent validation rules, advanced analysis, and broader browser alert flows |
|
|
155
156
|
| Large worksheets | **Supported with boundaries** — maximum-dimension sparse import/editing and viewport-bounded Canvas painting | Highly optimized native grid with hardware-dependent limits |
|
|
156
157
|
| Files and printing | **Partial** — XLS/XLSX/ODS/CSV import, XLSX export, and PDF output | Broader round trips, external data, print fidelity, and legacy conversion |
|
|
157
158
|
| External data, macros, and specialist analysis | **Gap** — active macros are never executed; bounded models are still needed for data connections and solver-like tools | Established data, macro/add-in, scenario, and optimization ecosystems |
|
|
@@ -364,7 +365,7 @@ bun run playground
|
|
|
364
365
|
```
|
|
365
366
|
|
|
366
367
|
Then open the local URL printed by the development server. For a zero-install
|
|
367
|
-
tour, use the [live Playground](https://a3s-lab.github.io/Office/).
|
|
368
|
+
tour, use the [live Playground](https://a3s-lab.github.io/Office/playground/).
|
|
368
369
|
Choose **体验格式修订**, open **审阅**, then **查看修订(2)** to inspect the
|
|
369
370
|
independent Formatting and Paragraph Formatting cards and exercise accept or
|
|
370
371
|
reject semantics.
|
|
@@ -739,9 +740,25 @@ stable IDs, workbook-unique names, zero-based ranges, ordered columns, filters,
|
|
|
739
740
|
header/totals flags, and built-in style identity. XLSX import and export keep
|
|
740
741
|
native table parts and relationships. Table styling is resolved only for the
|
|
741
742
|
visible Canvas cells; converting a table to a range materializes the confirmed
|
|
742
|
-
appearance without densifying unrelated worksheet space.
|
|
743
|
-
|
|
744
|
-
|
|
743
|
+
appearance without densifying unrelated worksheet space.
|
|
744
|
+
|
|
745
|
+
The calculation kernel resolves a bounded common structured-reference subset:
|
|
746
|
+
table names or `displayName`, worksheet-qualified tables, contiguous column
|
|
747
|
+
ranges, `#All`, `#Headers`, `#Data`, `#Totals`, `#This Row`, and table-local
|
|
748
|
+
`[@Column]` formulas. Rust/WASM and JavaScript fallback share the parser,
|
|
749
|
+
catalog, dependency graph, and no-history projection path. Requests accept at
|
|
750
|
+
most 1,024 tables and materialize at most 100,000 cells per structured range;
|
|
751
|
+
whole-row/column, three-dimensional, external, disjoint, missing, or
|
|
752
|
+
over-budget references fail closed. A validated calculated-column rule is
|
|
753
|
+
inferred from matching current-row formulas and fills only newly inserted table
|
|
754
|
+
body rows. Existing values, formulas, and manual exceptions always win; a
|
|
755
|
+
conflicting column fails closed and drops its automatic rule. XLSX
|
|
756
|
+
`<calculatedColumnFormula>` metadata round-trips with the leading `=` restored
|
|
757
|
+
in the controlled model, while unsafe or external formulas are omitted.
|
|
758
|
+
The Playground's **结构化引用** template shows a calculated `Revenue` column,
|
|
759
|
+
an insertion hint, a totals row, and a worksheet-qualified summary. Complete
|
|
760
|
+
totals-row authoring, slicers, and external/query tables remain explicit
|
|
761
|
+
boundaries.
|
|
745
762
|
|
|
746
763
|
Use `downloadArtifact` to start a browser download or
|
|
747
764
|
`createArtifactBlob` when your application owns upload and persistence.
|
|
@@ -1613,16 +1630,18 @@ committed visual contracts; see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
|
1613
1630
|
|
|
1614
1631
|
## Documentation
|
|
1615
1632
|
|
|
1616
|
-
The published website
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1633
|
+
The published website follows the A3S UI documentation model: the searchable
|
|
1634
|
+
Rspress documentation center owns the website root, while Playground is a
|
|
1635
|
+
primary top-navigation route under `/playground/`. Simplified Chinese is the
|
|
1636
|
+
stable default, English remains available from the language menu, and the
|
|
1637
|
+
version menu switches between `latest` and frozen release documentation.
|
|
1638
|
+
Search is scoped to the active language and version. Both surfaces derive
|
|
1639
|
+
their paths from one deployment base, so preview, Pages, and fork deployments
|
|
1640
|
+
keep working without hard-coded return URLs.
|
|
1623
1641
|
|
|
1624
|
-
- [Live Playground](https://a3s-lab.github.io/Office/)
|
|
1642
|
+
- [Live Playground](https://a3s-lab.github.io/Office/playground/)
|
|
1625
1643
|
- [Documentation center](https://a3s-lab.github.io/Office/docs/)
|
|
1644
|
+
- [A3S Office 0.36.0 documentation](https://a3s-lab.github.io/Office/docs/0.36.0/)
|
|
1626
1645
|
- [A3S Office 0.34.0 documentation](https://a3s-lab.github.io/Office/docs/0.34.0/)
|
|
1627
1646
|
- [A3S Office 0.33.0 documentation](https://a3s-lab.github.io/Office/docs/0.33.0/)
|
|
1628
1647
|
- [A3S Office 0.32.0 documentation](https://a3s-lab.github.io/Office/docs/0.32.0/)
|