@a3s-lab/office 0.9.2 → 0.11.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/COLLABORATION_ROADMAP.md +29 -5
- package/README.md +19 -6
- package/dist/{0~7754.js → 0~5093.js} +1449 -3
- package/dist/0~document-editor.js +8 -1
- package/dist/0~work-docx-export.js +482 -16
- package/dist/0~work-docx-import.js +31 -1142
- package/dist/0~work-office-diagnostics.js +9 -5
- package/dist/4104.js +1 -1
- package/dist/8928.js +763 -149
- package/dist/internal/features/work/work-document-format-change-tracking.d.ts +9 -0
- package/dist/internal/features/work/work-document-format-changes.d.ts +28 -0
- package/dist/internal/features/work/work-document-paragraph-format-change-tracking.d.ts +7 -0
- package/dist/internal/features/work/work-document-paragraph-format-changes.d.ts +8 -0
- package/dist/internal/features/work/work-docx-format-change-export.d.ts +17 -0
- package/dist/internal/features/work/work-docx-import.d.ts +3 -1
- package/dist/internal/features/work/work-docx-paragraph-alignment-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-paragraph-borders-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-paragraph-direction-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-paragraph-format-change-export.d.ts +13 -0
- package/dist/internal/features/work/work-docx-paragraph-format-change-import.d.ts +17 -0
- package/dist/internal/features/work/work-docx-paragraph-indent-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-paragraph-pagination-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-paragraph-shading-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-paragraph-spacing-import.d.ts +1 -0
- package/dist/internal/features/work/work-docx-run-formatting-import.d.ts +10 -0
- package/dist/internal/features/work/work-docx-tab-stop-import.d.ts +1 -0
- package/dist/internal/features/work/work-types.d.ts +1 -1
- package/dist/office-kernel.wasm +0 -0
- package/dist/styles.css +28 -0
- package/docs/latest/en/browser-editor-architecture.md +18 -0
- package/package.json +7 -3
package/COLLABORATION_ROADMAP.md
CHANGED
|
@@ -110,14 +110,16 @@ Redis/NATS fan-out plus a distributed writer/lock policy.
|
|
|
110
110
|
|
|
111
111
|
Status: browser collaboration foundation, participant roster, remote
|
|
112
112
|
selection/caret projection, participant navigation, durable review-only
|
|
113
|
-
comment and suggestion modes,
|
|
114
|
-
text/options/bounded structural
|
|
115
|
-
implemented; rich native mutation
|
|
113
|
+
comment and suggestion modes, character- and paragraph-formatting revisions,
|
|
114
|
+
immutable decision audit, and native text/options/bounded structural
|
|
115
|
+
paragraph/comment/suggestion mutations implemented; rich native mutation
|
|
116
|
+
parity remains pending.
|
|
116
117
|
|
|
117
118
|
- TipTap is bound to `document.content` through
|
|
118
119
|
`@tiptap/extension-collaboration`; StarterKit undo/redo is disabled and the
|
|
119
120
|
collaboration binding owns local history.
|
|
120
|
-
- Section/page OOXML state, comment anchors,
|
|
121
|
+
- Section/page OOXML state, comment anchors, text tracked-change marks, and
|
|
122
|
+
character-formatting marks or paragraph-formatting node revisions converge
|
|
121
123
|
in the ProseMirror fragment. Document-level page color, tracking mode,
|
|
122
124
|
comment threads/replies, and bibliography sources use conflict-local typed
|
|
123
125
|
roots instead of a serialized document blob.
|
|
@@ -166,6 +168,20 @@ implemented; rich native mutation parity remains pending.
|
|
|
166
168
|
converge, a second conflicting final decision fails closed, old Documents
|
|
167
169
|
without the additive roots remain readable, and a final decision clears
|
|
168
170
|
local history that could otherwise resurrect the decided mark.
|
|
171
|
+
- Character-formatting commands over existing text create one `formatting`
|
|
172
|
+
change mark with a bounded prior-direct-mark snapshot. Accept removes only
|
|
173
|
+
the revision wrapper and keeps the new formatting; reject restores the prior
|
|
174
|
+
bold, italic, underline, strike, sub/superscript, font, size, color,
|
|
175
|
+
highlight, and grid marks without changing text. Supported DOCX
|
|
176
|
+
`w:rPrChange` records import into the same model and export natively.
|
|
177
|
+
- Paragraph-formatting commands create one shared `paragraph-formatting`
|
|
178
|
+
identity across every affected paragraph or heading and retain the complete
|
|
179
|
+
canonical old-property snapshot on each node. Accept keeps current paragraph
|
|
180
|
+
properties; reject atomically restores alignment, direction, indentation,
|
|
181
|
+
spacing and line rules, pagination controls, contextual spacing, outline
|
|
182
|
+
level, tab stops, borders, shading, and collapsed state without changing
|
|
183
|
+
text. Supported strict or transitional DOCX `w:pPrChange` records use the
|
|
184
|
+
same model and export natively.
|
|
169
185
|
- Rust, CLI, MCP, and A3S Code expose `document-comment-create`,
|
|
170
186
|
`document-comment-reply`, `document-comment-set-resolved`,
|
|
171
187
|
`document-comment-delete`, `document-suggestion-create`, and
|
|
@@ -183,13 +199,21 @@ implemented; rich native mutation parity remains pending.
|
|
|
183
199
|
content, structure, options, non-suggestion formatting, authorship, order,
|
|
184
200
|
claims, anchors, foreign deletion, or foreign suggestion changes fail before
|
|
185
201
|
the durable store changes.
|
|
202
|
+
- Native Yrs validation admits only the bounded character- and
|
|
203
|
+
paragraph-formatting schemas, preserves them across restart and
|
|
204
|
+
duplicate/reordered delivery, exposes `formatting` and
|
|
205
|
+
`paragraph-formatting` in immutable decision projections, and makes
|
|
206
|
+
`suggest` updates retain existing formatting revisions byte-semantically.
|
|
207
|
+
Formatting revisions are Document change kinds, not native
|
|
208
|
+
insertion/deletion suggestion kinds; the current closed
|
|
209
|
+
`document-suggestion-*` mutations remain text-only.
|
|
186
210
|
|
|
187
211
|
Remaining:
|
|
188
212
|
|
|
189
213
|
- Prove concurrent full-table, list-restructure, section, comment, and revision
|
|
190
214
|
workflows, plus DOCX import/export after merged edits.
|
|
191
215
|
- Expand native convergence from bounded paragraph edits to complete table,
|
|
192
|
-
list, and section operations, comments, and tracked revisions.
|
|
216
|
+
list, and section operations, comments, and the remaining tracked revisions.
|
|
193
217
|
|
|
194
218
|
Exit criterion: two browsers and one native client converge on document
|
|
195
219
|
content and review state; local undo never removes a remote change; a DOCX
|
package/README.md
CHANGED
|
@@ -47,8 +47,10 @@ workflows, and a separate Rust automation plane.
|
|
|
47
47
|
- **Collaborate across every editor** with shared Yjs/Yrs content, Awareness
|
|
48
48
|
participants and remote locations, plus browser, CLI, MCP, and A3S Code peers.
|
|
49
49
|
Document reviewers can submit attributed insertions, deletions, and
|
|
50
|
-
replacements without directly changing canonical text
|
|
51
|
-
|
|
50
|
+
replacements without directly changing canonical text. Editors can also
|
|
51
|
+
track character- and paragraph-formatting revisions, accept the new
|
|
52
|
+
formatting or restore the exact prior marks/properties, and retain either
|
|
53
|
+
result in the immutable shared decision audit.
|
|
52
54
|
- **Automate deterministically** through the native CLI, standard MCP server,
|
|
53
55
|
or packaged Office Skill.
|
|
54
56
|
|
|
@@ -148,7 +150,9 @@ The images below are committed visual-regression baselines from the real
|
|
|
148
150
|
Presentation scene-element and z-order, and PDF annotation, form-value, and
|
|
149
151
|
review changes, including attributable Document selection comments, replies,
|
|
150
152
|
text suggestions, and atomic final decisions, retain browser/native actor
|
|
151
|
-
attribution,
|
|
153
|
+
attribution, validate browser-created character- and paragraph-formatting
|
|
154
|
+
revisions and their audit records, and checkpoint without replacing a whole
|
|
155
|
+
Office file.
|
|
152
156
|
|
|
153
157
|
## Real-time collaboration
|
|
154
158
|
|
|
@@ -171,9 +175,13 @@ deletions, and replacements while canonical text, structure, formatting,
|
|
|
171
175
|
options, comments, and other actors' suggestions remain protected. An `edit`
|
|
172
176
|
participant accepts or rejects a proposal and appends the final actor-attributed
|
|
173
177
|
decision to the immutable `document.change-decisions` audit trail. The A3S Boot
|
|
174
|
-
service
|
|
175
|
-
|
|
176
|
-
|
|
178
|
+
service also persists `edit`-mode character- and paragraph-formatting revisions
|
|
179
|
+
and validates their bounded prior-format snapshots before broadcast. Character
|
|
180
|
+
decisions keep or restore direct marks. Paragraph decisions keep or restore
|
|
181
|
+
alignment, direction, indentation, spacing, pagination, outline, tab stops,
|
|
182
|
+
borders, shading, and collapsed state without deleting text. Authenticated
|
|
183
|
+
`suggest` updates must preserve both revision kinds and cannot rewrite their
|
|
184
|
+
identity or snapshot. `suggest` on non-Document formats remains receive-only.
|
|
177
185
|
See the bilingual [real-time collaboration guide](https://a3s-lab.github.io/Office/docs/components/collaboration.html)
|
|
178
186
|
for React, Vue, Web Component, reconnect, security, and native-agent setup.
|
|
179
187
|
The repository also ships a runnable
|
|
@@ -196,6 +204,9 @@ bun run playground
|
|
|
196
204
|
|
|
197
205
|
Then open the local URL printed by the development server. For a zero-install
|
|
198
206
|
tour, use the [live Playground](https://a3s-lab.github.io/Office/).
|
|
207
|
+
Choose **体验格式修订**, open **审阅**, then **查看修订(2)** to inspect the
|
|
208
|
+
independent Formatting and Paragraph Formatting cards and exercise accept or
|
|
209
|
+
reject semantics.
|
|
199
210
|
|
|
200
211
|
### Embed a controlled React editor
|
|
201
212
|
|
|
@@ -1327,6 +1338,8 @@ without hard-coded return URLs.
|
|
|
1327
1338
|
|
|
1328
1339
|
- [Live Playground](https://a3s-lab.github.io/Office/)
|
|
1329
1340
|
- [Documentation center](https://a3s-lab.github.io/Office/docs/)
|
|
1341
|
+
- [A3S Office 0.11.0 documentation](https://a3s-lab.github.io/Office/docs/0.11.0/)
|
|
1342
|
+
- [A3S Office 0.10.0 documentation](https://a3s-lab.github.io/Office/docs/0.10.0/)
|
|
1330
1343
|
- [A3S Office 0.9.2 documentation](https://a3s-lab.github.io/Office/docs/0.9.2/)
|
|
1331
1344
|
- [A3S Office 0.9.1 documentation](https://a3s-lab.github.io/Office/docs/0.9.1/)
|
|
1332
1345
|
- [A3S Office 0.9.0 documentation](https://a3s-lab.github.io/Office/docs/0.9.0/)
|