@beyondwork/docx-react-component 1.0.0 → 1.0.2

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.
Files changed (560) hide show
  1. package/README.md +44 -104
  2. package/package.json +66 -15
  3. package/src/api/public-types.ts +1 -1
  4. package/src/compare/diff-engine.ts +530 -0
  5. package/src/compare/export-redlines.ts +162 -0
  6. package/src/compare/snapshot.ts +37 -0
  7. package/src/core/commands/index.ts +1 -1
  8. package/src/core/state/editor-state.ts +2 -2
  9. package/src/index.ts +45 -0
  10. package/src/legal/bookmarks.ts +196 -0
  11. package/src/legal/cross-references.ts +356 -0
  12. package/src/legal/defined-terms.ts +203 -0
  13. package/src/runtime/document-runtime.ts +3 -5
  14. package/src/runtime/table-commands.ts +4 -1
  15. package/src/runtime/table-schema.ts +17 -2
  16. package/src/runtime/virtualized-rendering.ts +258 -0
  17. package/src/ui/WordReviewEditor.tsx +256 -35
  18. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +2 -2
  19. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +16 -2
  20. package/.codex/config.toml +0 -5
  21. package/.corepack/v1/pnpm/10.30.3/.corepack +0 -1
  22. package/.corepack/v1/pnpm/10.30.3/LICENSE +0 -22
  23. package/.corepack/v1/pnpm/10.30.3/README.md +0 -240
  24. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +0 -6
  25. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +0 -5
  26. package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +0 -195400
  27. package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +0 -2
  28. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
  29. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
  30. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
  31. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
  32. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +0 -31
  33. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +0 -22
  34. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +0 -193
  35. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +0 -27
  36. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  37. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  38. package/.corepack/v1/pnpm/10.30.3/dist/worker.js +0 -10119
  39. package/.corepack/v1/pnpm/10.30.3/package.json +0 -192
  40. package/.cursor/mcp.json +0 -7
  41. package/.github/workflows/ci.yml +0 -35
  42. package/.mcp.json +0 -7
  43. package/.openclaw/workspace-state.json +0 -4
  44. package/.pnpmrc.json +0 -1
  45. package/.wave-launch.sh +0 -7
  46. package/.workspace-marker +0 -1
  47. package/AGENTS.md +0 -78
  48. package/CHANGELOG.md +0 -177
  49. package/DESIGN.md +0 -929
  50. package/HEARTBEAT.md +0 -7
  51. package/IDENTITY.md +0 -23
  52. package/SOUL.md +0 -36
  53. package/TOOLS.md +0 -40
  54. package/USER.md +0 -17
  55. package/docs/README.md +0 -107
  56. package/docs/agents/wave-cont-eval-role.md +0 -36
  57. package/docs/agents/wave-cont-qa-role.md +0 -52
  58. package/docs/agents/wave-deploy-verifier-role.md +0 -34
  59. package/docs/agents/wave-design-role.md +0 -47
  60. package/docs/agents/wave-documentation-role.md +0 -34
  61. package/docs/agents/wave-infra-role.md +0 -34
  62. package/docs/agents/wave-integration-role.md +0 -37
  63. package/docs/agents/wave-launcher-role.md +0 -41
  64. package/docs/agents/wave-orchestrator-role.md +0 -52
  65. package/docs/agents/wave-planner-role.md +0 -39
  66. package/docs/agents/wave-security-role.md +0 -40
  67. package/docs/architecture/docx/README.md +0 -10
  68. package/docs/architecture/future/README.md +0 -8
  69. package/docs/architecture/ooxml-upgrade-analysis.md +0 -134
  70. package/docs/architecture/platform/shared-openxml-editor-platform.md +0 -153
  71. package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +0 -187
  72. package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +0 -150
  73. package/docs/comment-redline-overview.md +0 -350
  74. package/docs/concepts/context7-vs-skills.md +0 -118
  75. package/docs/concepts/operating-modes.md +0 -91
  76. package/docs/concepts/runtime-agnostic-orchestration.md +0 -111
  77. package/docs/concepts/what-is-a-wave.md +0 -217
  78. package/docs/context7/bundles.json +0 -222
  79. package/docs/context7/planner-agent/README.md +0 -28
  80. package/docs/context7/planner-agent/manifest.json +0 -83
  81. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +0 -3283
  82. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +0 -1699
  83. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +0 -2251
  84. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +0 -1729
  85. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +0 -3747
  86. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +0 -1675
  87. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +0 -1173
  88. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +0 -5211
  89. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +0 -24
  90. package/docs/evals/arm-templates/README.md +0 -13
  91. package/docs/evals/arm-templates/full-wave.json +0 -15
  92. package/docs/evals/arm-templates/single-agent.json +0 -15
  93. package/docs/evals/benchmark-catalog.json +0 -670
  94. package/docs/evals/cases/README.md +0 -47
  95. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +0 -73
  96. package/docs/evals/cases/wave-contradiction-conflict.json +0 -104
  97. package/docs/evals/cases/wave-expert-routing-preservation.json +0 -69
  98. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +0 -81
  99. package/docs/evals/cases/wave-premature-closure-guard.json +0 -71
  100. package/docs/evals/cases/wave-silo-cross-agent-state.json +0 -77
  101. package/docs/evals/cases/wave-simultaneous-lockstep.json +0 -92
  102. package/docs/evals/external-benchmarks.json +0 -85
  103. package/docs/evals/external-command-config.sample.json +0 -9
  104. package/docs/evals/external-command-config.swe-bench-pro.json +0 -8
  105. package/docs/evals/pilots/README.md +0 -47
  106. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +0 -64
  107. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +0 -111
  108. package/docs/evals/wave-benchmark-program.md +0 -302
  109. package/docs/guides/planner.md +0 -220
  110. package/docs/guides/recommendations-0.8.9.md +0 -133
  111. package/docs/guides/signal-wrappers.md +0 -165
  112. package/docs/guides/terminal-surfaces.md +0 -96
  113. package/docs/image copy.png +0 -0
  114. package/docs/image.png +0 -0
  115. package/docs/images/image.png +0 -0
  116. package/docs/legal-feedback-architecture.md +0 -498
  117. package/docs/plans/component-cutover-matrix.json +0 -1072
  118. package/docs/plans/component-cutover-matrix.md +0 -307
  119. package/docs/plans/context7-wave-orchestrator.md +0 -155
  120. package/docs/plans/current-state.md +0 -198
  121. package/docs/plans/docx/README.md +0 -9
  122. package/docs/plans/examples/wave-benchmark-improvement.md +0 -108
  123. package/docs/plans/examples/wave-example-live-proof.md +0 -435
  124. package/docs/plans/master-plan.md +0 -224
  125. package/docs/plans/migration.md +0 -538
  126. package/docs/plans/operations/README.md +0 -7
  127. package/docs/plans/operations/wave-10-word-certification.md +0 -87
  128. package/docs/plans/operations/wave-8-railway-staging.md +0 -153
  129. package/docs/plans/operations/wave-9-manual-certification.md +0 -73
  130. package/docs/plans/platform/README.md +0 -9
  131. package/docs/plans/reference/legal-checklist-coverage.md +0 -258
  132. package/docs/plans/wave-orchestrator.md +0 -423
  133. package/docs/plans/waves/README.md +0 -75
  134. package/docs/plans/waves/completed/wave-0.md +0 -195
  135. package/docs/plans/waves/completed/wave-1.md +0 -379
  136. package/docs/plans/waves/completed/wave-10.md +0 -670
  137. package/docs/plans/waves/completed/wave-11.md +0 -335
  138. package/docs/plans/waves/completed/wave-12.md +0 -417
  139. package/docs/plans/waves/completed/wave-13.md +0 -316
  140. package/docs/plans/waves/completed/wave-14.md +0 -319
  141. package/docs/plans/waves/completed/wave-15.md +0 -321
  142. package/docs/plans/waves/completed/wave-16.md +0 -316
  143. package/docs/plans/waves/completed/wave-17.md +0 -331
  144. package/docs/plans/waves/completed/wave-18.md +0 -328
  145. package/docs/plans/waves/completed/wave-2.md +0 -438
  146. package/docs/plans/waves/completed/wave-3.md +0 -435
  147. package/docs/plans/waves/completed/wave-4.md +0 -430
  148. package/docs/plans/waves/completed/wave-5.md +0 -430
  149. package/docs/plans/waves/completed/wave-6.md +0 -430
  150. package/docs/plans/waves/completed/wave-7.md +0 -526
  151. package/docs/plans/waves/completed/wave-8.md +0 -596
  152. package/docs/plans/waves/completed/wave-9.md +0 -552
  153. package/docs/plans/waves/deferred/README.md +0 -14
  154. package/docs/plans/waves/deferred/encrypted-intake-contracts.md +0 -282
  155. package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +0 -308
  156. package/docs/plans/waves/deferred/wave-encrypted-intake.md +0 -451
  157. package/docs/plans/waves/design/README.md +0 -5
  158. package/docs/plans/waves/design/wave-1-a1.md +0 -309
  159. package/docs/plans/waves/reviews/README.md +0 -5
  160. package/docs/plans/waves/reviews/wave-0-cont-qa.md +0 -151
  161. package/docs/plans/waves/reviews/wave-1-cont-qa.md +0 -46
  162. package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +0 -51
  163. package/docs/plans/waves/reviews/wave-10-cont-qa.md +0 -24
  164. package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +0 -46
  165. package/docs/plans/waves/reviews/wave-10-performance-signoff.md +0 -55
  166. package/docs/plans/waves/reviews/wave-10-regression-proof.md +0 -23
  167. package/docs/plans/waves/reviews/wave-10-release-audit.md +0 -31
  168. package/docs/plans/waves/reviews/wave-10-service-proof.md +0 -83
  169. package/docs/plans/waves/reviews/wave-10-word-certification.md +0 -31
  170. package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +0 -277
  171. package/docs/plans/waves/reviews/wave-18-cont-qa.md +0 -255
  172. package/docs/plans/waves/reviews/wave-18-parity-proof.md +0 -271
  173. package/docs/plans/waves/reviews/wave-19-cont-qa.md +0 -59
  174. package/docs/plans/waves/reviews/wave-2-cont-qa.md +0 -72
  175. package/docs/plans/waves/reviews/wave-20-cont-qa.md +0 -60
  176. package/docs/plans/waves/reviews/wave-25-cont-qa.md +0 -48
  177. package/docs/plans/waves/reviews/wave-28-cont-qa.md +0 -46
  178. package/docs/plans/waves/reviews/wave-29-cont-qa.md +0 -53
  179. package/docs/plans/waves/reviews/wave-3-cont-qa.md +0 -53
  180. package/docs/plans/waves/reviews/wave-3-core-proof.md +0 -77
  181. package/docs/plans/waves/reviews/wave-3-validator-proof.md +0 -73
  182. package/docs/plans/waves/reviews/wave-32-cont-qa.md +0 -43
  183. package/docs/plans/waves/reviews/wave-33-cont-qa.md +0 -526
  184. package/docs/plans/waves/reviews/wave-34-cont-qa.md +0 -100
  185. package/docs/plans/waves/reviews/wave-35-cont-qa.md +0 -145
  186. package/docs/plans/waves/reviews/wave-4-cont-qa.md +0 -47
  187. package/docs/plans/waves/reviews/wave-4-structure-proof.md +0 -69
  188. package/docs/plans/waves/reviews/wave-5-comment-proof.md +0 -158
  189. package/docs/plans/waves/reviews/wave-5-cont-qa.md +0 -68
  190. package/docs/plans/waves/reviews/wave-6-cont-qa.md +0 -416
  191. package/docs/plans/waves/reviews/wave-6-redline-proof.md +0 -130
  192. package/docs/plans/waves/reviews/wave-7-cont-qa.md +0 -82
  193. package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +0 -85
  194. package/docs/plans/waves/reviews/wave-7-preservation-proof.md +0 -119
  195. package/docs/plans/waves/reviews/wave-7-trust-ux.md +0 -87
  196. package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +0 -128
  197. package/docs/plans/waves/reviews/wave-8-cont-qa.md +0 -92
  198. package/docs/plans/waves/reviews/wave-8-live-proof.md +0 -140
  199. package/docs/plans/waves/reviews/wave-8-security.md +0 -47
  200. package/docs/plans/waves/reviews/wave-9-editor-embedding.md +0 -39
  201. package/docs/plans/waves/reviews/wave-9-fixture-runner.md +0 -56
  202. package/docs/plans/waves/reviews/wave-9-live-proof.md +0 -105
  203. package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +0 -152
  204. package/docs/plans/waves/specs/README.md +0 -5
  205. package/docs/plans/waves/specs/wave-1-component-boundaries.md +0 -322
  206. package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +0 -323
  207. package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +0 -339
  208. package/docs/plans/waves/specs/wave-1-runtime-contracts.md +0 -509
  209. package/docs/plans/waves/wave-19.md +0 -341
  210. package/docs/plans/waves/wave-20.md +0 -308
  211. package/docs/plans/waves/wave-21.md +0 -289
  212. package/docs/plans/waves/wave-22.md +0 -221
  213. package/docs/plans/waves/wave-23.md +0 -295
  214. package/docs/plans/waves/wave-24.md +0 -286
  215. package/docs/plans/waves/wave-25.md +0 -313
  216. package/docs/plans/waves/wave-26.md +0 -300
  217. package/docs/plans/waves/wave-27.md +0 -299
  218. package/docs/plans/waves/wave-28.md +0 -368
  219. package/docs/plans/waves/wave-29.md +0 -303
  220. package/docs/plans/waves/wave-30.md +0 -307
  221. package/docs/plans/waves/wave-31.md +0 -231
  222. package/docs/plans/waves/wave-32.md +0 -152
  223. package/docs/plans/waves/wave-33.md +0 -147
  224. package/docs/plans/waves/wave-34.md +0 -148
  225. package/docs/plans/waves/wave-35.md +0 -141
  226. package/docs/plans/waves/wave-36.md +0 -146
  227. package/docs/plans/xlsx/README.md +0 -14
  228. package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +0 -126
  229. package/docs/reference/cli-reference.md +0 -600
  230. package/docs/reference/coordination-and-closure.md +0 -487
  231. package/docs/reference/deep-research-report (15).md +0 -25
  232. package/docs/reference/docx/README.md +0 -10
  233. package/docs/reference/legal-checklist.md +0 -445
  234. package/docs/reference/live-proof-waves.md +0 -199
  235. package/docs/reference/ooxml-compliance.md +0 -129
  236. package/docs/reference/ooxml-feature-parity-matrix.md +0 -172
  237. package/docs/reference/platform/shared-ooxml-platform-guidance.md +0 -77
  238. package/docs/reference/prototype-agent-prompt-legal-fidelity.md +0 -155
  239. package/docs/reference/public-api.md +0 -456
  240. package/docs/reference/repository-guidance.md +0 -58
  241. package/docs/reference/runtime-config/README.md +0 -182
  242. package/docs/reference/runtime-config/claude.md +0 -110
  243. package/docs/reference/runtime-config/codex.md +0 -82
  244. package/docs/reference/runtime-config/opencode.md +0 -93
  245. package/docs/reference/sample-waves.md +0 -105
  246. package/docs/reference/skills.md +0 -237
  247. package/docs/reference/templates/AGENTS.md +0 -78
  248. package/docs/reference/templates/HEARTBEAT.md +0 -7
  249. package/docs/reference/templates/IDENTITY.md +0 -23
  250. package/docs/reference/templates/SOUL.md +0 -36
  251. package/docs/reference/templates/TOOLS.md +0 -40
  252. package/docs/reference/templates/USER.md +0 -17
  253. package/docs/reference/wave-control.md +0 -184
  254. package/docs/reference/wave-planning-lessons.md +0 -167
  255. package/docs/reference/word-review-editor-frontend-architecture.md +0 -479
  256. package/docs/reference/word-review-editor-ux-guide.md +0 -253
  257. package/docs/reference/xlsx/xlsx-ooxml-compliance.md +0 -137
  258. package/docs/research/agent-context-sources.md +0 -178
  259. package/docs/research/coordination-failure-review.md +0 -290
  260. package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +0 -2317
  261. package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +0 -219
  262. package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +0 -1112
  263. package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +0 -751
  264. package/docs/research/xlsx/raw/README.md +0 -13
  265. package/docs/roadmap.md +0 -174
  266. package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +0 -677
  267. package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +0 -274
  268. package/docs/xlsx-react/README.md +0 -38
  269. package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +0 -621
  270. package/docs/xlsx-react/canonical-workbook-model-and-commands.md +0 -948
  271. package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +0 -228
  272. package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +0 -809
  273. package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +0 -537
  274. package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +0 -520
  275. package/docs/xlsx-react/xlsx-editor-research-pack.md +0 -871
  276. package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +0 -436
  277. package/docs/xlsx-react/xlsx-ooxml-compliance.md +0 -320
  278. package/examples/README.md +0 -16
  279. package/memory/MEMORY.md +0 -24
  280. package/pnpm-workspace.yaml +0 -4
  281. package/scripts/check-no-authored-js.sh +0 -13
  282. package/scripts/context7-api-check.sh +0 -65
  283. package/scripts/context7-export-env.sh +0 -42
  284. package/scripts/run-context7-mcp.sh +0 -8
  285. package/scripts/run-workspace-tests.sh +0 -15
  286. package/scripts/start-wave-10-local.sh +0 -189
  287. package/scripts/wave-agent-attach.sh +0 -47
  288. package/scripts/wave-auto-answer.sh +0 -118
  289. package/scripts/wave-dashboard-attach.sh +0 -13
  290. package/scripts/wave-launch.sh +0 -273
  291. package/scripts/wave-overnight-supervisor.sh +0 -145
  292. package/scripts/wave-status.sh +0 -379
  293. package/scripts/wave-watch.sh +0 -231
  294. package/services/README.md +0 -17
  295. package/services/openxml-validator/Dockerfile +0 -29
  296. package/services/openxml-validator/OpenXmlValidator.Api.csproj +0 -12
  297. package/services/openxml-validator/Program.cs +0 -436
  298. package/services/openxml-validator/README.md +0 -152
  299. package/services/openxml-validator/railway.json +0 -16
  300. package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +0 -318
  301. package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +0 -1302
  302. package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +0 -546
  303. package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +0 -146
  304. package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +0 -2
  305. package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +0 -818
  306. package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +0 -229
  307. package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +0 -121
  308. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +0 -21
  309. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +0 -1
  310. package/services/react-word-editor/Dockerfile +0 -26
  311. package/services/react-word-editor/README.md +0 -254
  312. package/services/react-word-editor/app/api/certification/route.ts +0 -79
  313. package/services/react-word-editor/app/api/demo-sessions/route.ts +0 -109
  314. package/services/react-word-editor/app/api/deploy-health/route.ts +0 -23
  315. package/services/react-word-editor/app/api/exports/[exportId]/route.ts +0 -34
  316. package/services/react-word-editor/app/api/exports/route.ts +0 -81
  317. package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +0 -100
  318. package/services/react-word-editor/app/api/health/route.ts +0 -70
  319. package/services/react-word-editor/app/api/runs/[runId]/route.ts +0 -36
  320. package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +0 -85
  321. package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +0 -199
  322. package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +0 -45
  323. package/services/react-word-editor/app/api/uploads/route.ts +0 -70
  324. package/services/react-word-editor/app/api/validate/route.ts +0 -310
  325. package/services/react-word-editor/app/certification/[runId]/page.tsx +0 -14
  326. package/services/react-word-editor/app/certification/page.tsx +0 -32
  327. package/services/react-word-editor/app/dashboard/page.tsx +0 -7
  328. package/services/react-word-editor/app/demo/page.tsx +0 -30
  329. package/services/react-word-editor/app/demo/prototype-client.tsx +0 -1080
  330. package/services/react-word-editor/app/editor/[sessionId]/page.tsx +0 -33
  331. package/services/react-word-editor/app/fixtures/page.tsx +0 -7
  332. package/services/react-word-editor/app/globals.css +0 -121
  333. package/services/react-word-editor/app/layout.tsx +0 -32
  334. package/services/react-word-editor/app/page.tsx +0 -30
  335. package/services/react-word-editor/app/runs/[runId]/page.tsx +0 -34
  336. package/services/react-word-editor/app/wave-10-word-review/page.tsx +0 -7
  337. package/services/react-word-editor/components/harness-control-bar.tsx +0 -289
  338. package/services/react-word-editor/components/harness-editor-session-client.tsx +0 -1214
  339. package/services/react-word-editor/components/harness-workspace-page.tsx +0 -715
  340. package/services/react-word-editor/components/reduced-motion-toggle.tsx +0 -79
  341. package/services/react-word-editor/components/workspace-certification-panel.tsx +0 -307
  342. package/services/react-word-editor/lib/certification-bundle.ts +0 -796
  343. package/services/react-word-editor/lib/certification-store.ts +0 -661
  344. package/services/react-word-editor/lib/demo-fixtures.test.mjs +0 -195
  345. package/services/react-word-editor/lib/demo-fixtures.ts +0 -1519
  346. package/services/react-word-editor/lib/editor-session-summary.test.mjs +0 -68
  347. package/services/react-word-editor/lib/editor-session-summary.ts +0 -14
  348. package/services/react-word-editor/lib/editor-session.ts +0 -228
  349. package/services/react-word-editor/lib/exports-route.test.mjs +0 -32
  350. package/services/react-word-editor/lib/harness-client.ts +0 -347
  351. package/services/react-word-editor/lib/harness-config.json +0 -30
  352. package/services/react-word-editor/lib/harness-config.test.mjs +0 -31
  353. package/services/react-word-editor/lib/harness-config.ts +0 -21
  354. package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +0 -220
  355. package/services/react-word-editor/lib/harness-editor-datastore.ts +0 -161
  356. package/services/react-word-editor/lib/private-mode.test.mjs +0 -42
  357. package/services/react-word-editor/lib/private-mode.ts +0 -61
  358. package/services/react-word-editor/lib/regression-report.test.mjs +0 -352
  359. package/services/react-word-editor/lib/regression-report.ts +0 -896
  360. package/services/react-word-editor/lib/run-artifacts.ts +0 -934
  361. package/services/react-word-editor/lib/run-history.ts +0 -755
  362. package/services/react-word-editor/lib/scenario-artifacts.test.mjs +0 -41
  363. package/services/react-word-editor/lib/scenario-artifacts.ts +0 -44
  364. package/services/react-word-editor/lib/storage.ts +0 -953
  365. package/services/react-word-editor/lib/validator-client.test.mjs +0 -54
  366. package/services/react-word-editor/lib/validator-client.ts +0 -95
  367. package/services/react-word-editor/lib/workspace-navigation.ts +0 -79
  368. package/services/react-word-editor/middleware.ts +0 -35
  369. package/services/react-word-editor/next-env.d.ts +0 -6
  370. package/services/react-word-editor/next.config.mjs +0 -15
  371. package/services/react-word-editor/package.json +0 -38
  372. package/services/react-word-editor/postcss.config.mjs +0 -8
  373. package/services/react-word-editor/railway.json +0 -21
  374. package/services/react-word-editor/scripts/wave-10-certification.mjs +0 -101
  375. package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +0 -911
  376. package/services/react-word-editor/tsconfig.json +0 -39
  377. package/services/react-word-editor/tsconfig.tsbuildinfo +0 -1
  378. package/skills/README.md +0 -48
  379. package/skills/domain-docx-compatibility/SKILL.md +0 -44
  380. package/skills/domain-docx-compatibility/skill.json +0 -19
  381. package/skills/domain-editor-architecture/SKILL.md +0 -49
  382. package/skills/domain-editor-architecture/skill.json +0 -19
  383. package/skills/domain-legal-review/SKILL.md +0 -39
  384. package/skills/domain-legal-review/skill.json +0 -19
  385. package/skills/provider-aws/SKILL.md +0 -117
  386. package/skills/provider-aws/adapters/claude.md +0 -1
  387. package/skills/provider-aws/adapters/codex.md +0 -1
  388. package/skills/provider-aws/references/service-verification.md +0 -39
  389. package/skills/provider-aws/skill.json +0 -54
  390. package/skills/provider-custom-deploy/SKILL.md +0 -64
  391. package/skills/provider-custom-deploy/skill.json +0 -50
  392. package/skills/provider-docker-compose/SKILL.md +0 -96
  393. package/skills/provider-docker-compose/adapters/local.md +0 -1
  394. package/skills/provider-docker-compose/skill.json +0 -53
  395. package/skills/provider-github-release/SKILL.md +0 -121
  396. package/skills/provider-github-release/adapters/claude.md +0 -1
  397. package/skills/provider-github-release/adapters/codex.md +0 -1
  398. package/skills/provider-github-release/skill.json +0 -55
  399. package/skills/provider-kubernetes/SKILL.md +0 -143
  400. package/skills/provider-kubernetes/adapters/claude.md +0 -1
  401. package/skills/provider-kubernetes/adapters/codex.md +0 -1
  402. package/skills/provider-kubernetes/references/kubectl-patterns.md +0 -58
  403. package/skills/provider-kubernetes/skill.json +0 -52
  404. package/skills/provider-railway/SKILL.md +0 -123
  405. package/skills/provider-railway/adapters/claude.md +0 -1
  406. package/skills/provider-railway/adapters/codex.md +0 -1
  407. package/skills/provider-railway/adapters/local.md +0 -1
  408. package/skills/provider-railway/adapters/opencode.md +0 -1
  409. package/skills/provider-railway/references/verification-commands.md +0 -39
  410. package/skills/provider-railway/skill.json +0 -71
  411. package/skills/provider-ssh-manual/SKILL.md +0 -97
  412. package/skills/provider-ssh-manual/skill.json +0 -54
  413. package/skills/repo-coding-rules/SKILL.md +0 -55
  414. package/skills/repo-coding-rules/skill.json +0 -34
  415. package/skills/role-cont-eval/SKILL.md +0 -91
  416. package/skills/role-cont-eval/adapters/codex.md +0 -1
  417. package/skills/role-cont-eval/skill.json +0 -36
  418. package/skills/role-cont-qa/SKILL.md +0 -100
  419. package/skills/role-cont-qa/adapters/claude.md +0 -1
  420. package/skills/role-cont-qa/skill.json +0 -36
  421. package/skills/role-deploy/SKILL.md +0 -97
  422. package/skills/role-deploy/skill.json +0 -36
  423. package/skills/role-design/SKILL.md +0 -50
  424. package/skills/role-design/skill.json +0 -36
  425. package/skills/role-documentation/SKILL.md +0 -76
  426. package/skills/role-documentation/skill.json +0 -36
  427. package/skills/role-implementation/SKILL.md +0 -45
  428. package/skills/role-implementation/skill.json +0 -36
  429. package/skills/role-infra/SKILL.md +0 -81
  430. package/skills/role-infra/skill.json +0 -36
  431. package/skills/role-integration/SKILL.md +0 -91
  432. package/skills/role-integration/skill.json +0 -36
  433. package/skills/role-planner/SKILL.md +0 -39
  434. package/skills/role-planner/skill.json +0 -21
  435. package/skills/role-research/SKILL.md +0 -65
  436. package/skills/role-research/skill.json +0 -36
  437. package/skills/role-security/SKILL.md +0 -60
  438. package/skills/role-security/skill.json +0 -36
  439. package/skills/runtime-claude/SKILL.md +0 -66
  440. package/skills/runtime-claude/skill.json +0 -36
  441. package/skills/runtime-codex/SKILL.md +0 -58
  442. package/skills/runtime-codex/skill.json +0 -36
  443. package/skills/runtime-local/SKILL.md +0 -46
  444. package/skills/runtime-local/skill.json +0 -36
  445. package/skills/runtime-opencode/SKILL.md +0 -58
  446. package/skills/runtime-opencode/skill.json +0 -36
  447. package/skills/signal-hygiene/SKILL.md +0 -51
  448. package/skills/signal-hygiene/skill.json +0 -20
  449. package/skills/tui-design/SKILL.md +0 -77
  450. package/skills/tui-design/references/tui-design.md +0 -259
  451. package/skills/tui-design/skill.json +0 -36
  452. package/skills/wave-core/SKILL.md +0 -141
  453. package/skills/wave-core/references/marker-syntax.md +0 -70
  454. package/skills/wave-core/skill.json +0 -35
  455. package/test/README.md +0 -16
  456. package/test/core/formatting-commands.test.ts +0 -285
  457. package/test/core/image-commands.test.ts +0 -298
  458. package/test/core/mapping.test.ts +0 -186
  459. package/test/core/text-commands.test.ts +0 -176
  460. package/test/fixtures/docx/F01-basic-contract.docx +0 -0
  461. package/test/fixtures/docx/F01-basic-contract.md +0 -33
  462. package/test/fixtures/docx/F02-headings-styles.docx +0 -0
  463. package/test/fixtures/docx/F02-headings-styles.md +0 -33
  464. package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
  465. package/test/fixtures/docx/F03-legal-outline-numbering.md +0 -34
  466. package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
  467. package/test/fixtures/docx/F04-restart-numbering-schedules.md +0 -33
  468. package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
  469. package/test/fixtures/docx/F05-table-heavy-agreement.md +0 -34
  470. package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
  471. package/test/fixtures/docx/F06-merged-cells-signature-table.md +0 -34
  472. package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
  473. package/test/fixtures/docx/F07-inline-images-exhibit.md +0 -34
  474. package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
  475. package/test/fixtures/docx/F08-hyperlinks.md +0 -33
  476. package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
  477. package/test/fixtures/docx/F09-comments-single-paragraph.md +0 -33
  478. package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
  479. package/test/fixtures/docx/F10-threaded-comments-resolve.md +0 -33
  480. package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
  481. package/test/fixtures/docx/F11-redlines-basic.md +0 -33
  482. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
  483. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +0 -33
  484. package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
  485. package/test/fixtures/docx/F13-comments-on-deleted-text.md +0 -33
  486. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
  487. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +0 -33
  488. package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
  489. package/test/fixtures/docx/F15-sections-headers-footers.md +0 -33
  490. package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
  491. package/test/fixtures/docx/F16-footnotes-endnotes.md +0 -33
  492. package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
  493. package/test/fixtures/docx/F17-fields-and-toc.md +0 -33
  494. package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
  495. package/test/fixtures/docx/F18-content-controls-template.md +0 -33
  496. package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
  497. package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +0 -35
  498. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
  499. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +0 -33
  500. package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
  501. package/test/fixtures/docx/F21-malformed-broken-docx.md +0 -33
  502. package/test/fixtures/docx/README.md +0 -74
  503. package/test/fixtures/docx/certification-manifest.json +0 -104
  504. package/test/fixtures/docx/fixtures.manifest.json +0 -196
  505. package/test/fixtures/encrypted-docx/README.md +0 -27
  506. package/test/fixtures/encrypted-docx/certification-manifest.json +0 -9
  507. package/test/fixtures/encrypted-docx/fixtures.manifest.json +0 -47
  508. package/test/fixtures/scenarios/docx/README.md +0 -25
  509. package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
  510. package/test/fixtures/scenarios/docx/S01-sow-template.md +0 -30
  511. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
  512. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +0 -32
  513. package/test/fixtures/scenarios/docx/scenario-manifest.json +0 -53
  514. package/test/formats/xlsx/io/xlsx-import.test.ts +0 -766
  515. package/test/formats/xlsx/model/workbook.test.ts +0 -669
  516. package/test/helpers/dom-setup.ts +0 -124
  517. package/test/io/comment-roundtrip.test.ts +0 -272
  518. package/test/io/complex-content-roundtrip.test.ts +0 -632
  519. package/test/io/docx-compatibility-regression.test.ts +0 -199
  520. package/test/io/docx-session.test.ts +0 -1495
  521. package/test/io/footnotes-roundtrip.test.ts +0 -318
  522. package/test/io/headers-footers-roundtrip.test.ts +0 -547
  523. package/test/io/numbering-roundtrip.test.ts +0 -234
  524. package/test/io/package-reader.test.ts +0 -199
  525. package/test/io/paragraph-properties-roundtrip.test.ts +0 -129
  526. package/test/io/preserved-package-roundtrip.test.ts +0 -365
  527. package/test/io/property-completeness.test.ts +0 -292
  528. package/test/io/revision-roundtrip.test.ts +0 -347
  529. package/test/io/structural-blocks.test.ts +0 -202
  530. package/test/io/table-media-roundtrip.test.ts +0 -448
  531. package/test/io/table-properties-roundtrip.test.ts +0 -569
  532. package/test/io/table-roundtrip.test.ts +0 -302
  533. package/test/io/text-roundtrip.test.ts +0 -344
  534. package/test/model/canonical-document.test.ts +0 -285
  535. package/test/preservation/opaque-fragment-store.test.ts +0 -121
  536. package/test/preservation/package-preservation.test.ts +0 -395
  537. package/test/preservation/store.test.ts +0 -84
  538. package/test/review/comment-remapping.test.ts +0 -220
  539. package/test/review/comment-store.test.ts +0 -180
  540. package/test/review/move-revisions.test.ts +0 -143
  541. package/test/review/property-change-revisions.test.ts +0 -225
  542. package/test/review/revision-actions.test.ts +0 -330
  543. package/test/review/revision-store.test.ts +0 -193
  544. package/test/runtime/session-capabilities.test.ts +0 -260
  545. package/test/runtime/table-commands.test.ts +0 -356
  546. package/test/runtime/table-schema.test.ts +0 -221
  547. package/test/runtime/tracked-changes-toggle.test.ts +0 -107
  548. package/test/ui/comment-review-surface.test.tsx +0 -114
  549. package/test/ui/reduced-motion-toggle.test.tsx +0 -137
  550. package/test/ui/word-review-editor.imported-scenarios.test.tsx +0 -169
  551. package/test/ui/word-review-editor.interaction.test.tsx +0 -1198
  552. package/test/ui/word-review-editor.test.js +0 -188
  553. package/test/ui/word-review-editor.test.tsx +0 -280
  554. package/test/ui-tailwind/search-plugin.test.ts +0 -286
  555. package/test/validation/compatibility-engine.test.ts +0 -336
  556. package/test/validation/compatibility-report.test.ts +0 -189
  557. package/test/validation/low-priority-word-surfaces.test.ts +0 -282
  558. package/test/validation/malformed-doc.test.ts +0 -113
  559. package/test-results/.last-run.json +0 -4
  560. package/wave.config.json +0 -406
package/DESIGN.md DELETED
@@ -1,929 +0,0 @@
1
- # Design.md — React Word Editor
2
-
3
- ## 1. Purpose
4
-
5
- This document defines the visual design, interaction style, layout system, and front-end styling principles for the React-based Word-compatible editor component.
6
-
7
- Use this together with:
8
-
9
- * `README.md` for product scope
10
- * `docs/plans/master-plan.md` for architecture
11
- * `docs/roadmap.md` for delivery sequencing
12
- * `docs/reference/word-review-editor-frontend-architecture.md` for frontend implementation architecture
13
-
14
- The component is intended for **legal review workflows**, not general-purpose document creation and not a Microsoft Word clone.
15
-
16
- The design must feel:
17
-
18
- * clean
19
- * calm
20
- * modern
21
- * highly legible
22
- * lightweight
23
- * trustworthy
24
- * precise
25
- * review-oriented
26
-
27
- The desired experience is closer to:
28
-
29
- * TipTap
30
- * Notion document surfaces
31
- * Figma-side-panel clarity
32
- * modern code-review tools
33
-
34
- It must **not** feel like:
35
-
36
- * Microsoft Word ribbon UI
37
- * enterprise bloatware
38
- * dense legacy office software
39
- * a generic WYSIWYG rich text box
40
-
41
- ---
42
-
43
- ## 2. Product design goals
44
-
45
- The UI must optimize for the realities of legal review:
46
-
47
- * long reading sessions
48
- * frequent review of insertions/deletions
49
- * comment navigation
50
- * structured documents with lists and tables
51
- * low cognitive overhead
52
- * confidence that the document remains Word-compatible
53
-
54
- The design should help users answer these questions instantly:
55
-
56
- * What mode am I in?
57
- * What changed?
58
- * Where are the comments?
59
- * What is selected?
60
- * Is the document safe/saved?
61
- * What action can I take next?
62
-
63
- ---
64
-
65
- ## 3. Core design principles
66
-
67
- ### 3.1 Calm over chrome
68
-
69
- The editor should minimize permanent controls and decorative noise.
70
-
71
- Use:
72
-
73
- * contextual actions
74
- * restrained separators
75
- * whitespace for hierarchy
76
- * compact but comfortable controls
77
-
78
- Avoid:
79
-
80
- * large toolbars
81
- * ribbon metaphors
82
- * heavy outlines everywhere
83
- * constant multi-color emphasis
84
-
85
- ### 3.2 Content first
86
-
87
- The document surface is the primary product.
88
-
89
- The design must make the content area feel:
90
-
91
- * spacious
92
- * readable
93
- * central
94
- * stable
95
-
96
- Everything else is secondary UI.
97
-
98
- ### 3.3 Review clarity without aggression
99
-
100
- Comments and redlines must be obvious but not visually exhausting.
101
-
102
- Use:
103
-
104
- * measured annotation color
105
- * subtle tint backgrounds
106
- * slim indicators
107
- * progressive disclosure
108
-
109
- Avoid:
110
-
111
- * neon diff colors
112
- * thick borders around every change
113
- * overwhelming always-on markup density
114
-
115
- ### 3.4 Precision and trust
116
-
117
- The UI should feel deterministic.
118
-
119
- Users in legal workflows must feel that:
120
-
121
- * the editor is controlled
122
- * actions are explicit
123
- * review state is reliable
124
- * save/export behavior is dependable
125
-
126
- ### 3.5 Progressive complexity
127
-
128
- The default state should be simple.
129
-
130
- Only show advanced controls when needed:
131
-
132
- * floating formatting tools on selection
133
- * review controls when review mode is active
134
- * contextual table tools when table is focused
135
- * comment tools when a commentable range is selected
136
-
137
- ---
138
-
139
- ## 4. Overall layout
140
-
141
- ## 4.1 Primary regions
142
-
143
- The component layout consists of:
144
-
145
- 1. **Top toolbar**
146
- 2. **Document surface area**
147
- 3. **Optional right sidebar** for comments/review
148
- 4. **Optional bottom status bar**
149
- 5. **Floating inline toolbar**
150
- 6. **Contextual popovers/dialogs**
151
-
152
- ## 4.2 Layout priorities
153
-
154
- The document surface must receive the most visual emphasis.
155
-
156
- Default width strategy:
157
-
158
- * full component width container
159
- * document centered within available space
160
- * sidebars dock outside the reading column
161
-
162
- Recommended desktop layout:
163
-
164
- * toolbar at top
165
- * centered page/document surface
166
- * right sidebar for comments and review
167
- * status bar minimal and low-emphasis
168
-
169
- ## 4.3 Reading column
170
-
171
- The document should sit in a reading column that feels like a paper-informed canvas, but not literal fake paper unless page mode is enabled.
172
-
173
- Two supported visual modes:
174
-
175
- ### Canvas mode (default)
176
-
177
- * clean centered surface
178
- * subtle panel background
179
- * minimal page framing
180
- * better for continuous reading and review
181
-
182
- ### Page mode (optional)
183
-
184
- * page-like boundaries
185
- * light shadow
186
- * more Word-like print awareness
187
- * still restrained
188
-
189
- Default for legal review should be **Canvas mode**.
190
-
191
- ---
192
-
193
- ## 5. Toolbar design
194
-
195
- ## 5.1 Toolbar goals
196
-
197
- The toolbar should feel compact, stable, and lightweight.
198
-
199
- It is not a ribbon.
200
-
201
- It should expose only the highest-value actions persistently.
202
-
203
- ## 5.2 Toolbar sections
204
-
205
- Persistent controls should include:
206
-
207
- * undo / redo
208
- * paragraph style selector
209
- * bold / italic / underline
210
- * bullet list / numbered list
211
- * insert comment
212
- * track changes toggle
213
- * markup mode selector
214
- * save / export
215
-
216
- Optional overflow controls:
217
-
218
- * image insertion
219
- * hyperlink insertion
220
- * table insertion
221
- * accept/reject controls
222
- * more formatting
223
-
224
- ## 5.3 Visual styling
225
-
226
- Toolbar should:
227
-
228
- * have a low-contrast surface
229
- * use subtle segmentation
230
- * avoid heavy button borders
231
- * use compact icon buttons with clear hover/focus states
232
- * keep action density moderate
233
-
234
- Recommended dimensions:
235
-
236
- * toolbar height: 44–52px
237
- * icon button size: 30–34px
238
- * horizontal padding: 12–16px
239
-
240
- ---
241
-
242
- ## 6. Document surface design
243
-
244
- ## 6.1 Surface role
245
-
246
- The editor surface is the emotional center of the component.
247
-
248
- It must feel:
249
-
250
- * stable
251
- * elegant
252
- * highly readable
253
- * slightly elevated from the app background
254
-
255
- ## 6.2 Surface styling
256
-
257
- Recommended defaults:
258
-
259
- * soft neutral app background behind the document
260
- * white or near-white document panel
261
- * subtle radius
262
- * soft shadow only if page framing is used
263
- * generous interior padding
264
-
265
- Suggested desktop spacing:
266
-
267
- * outer shell padding: 16–24px
268
- * document panel max width: 780–920px depending on mode
269
- * document interior padding: 40–64px
270
-
271
- ## 6.3 Typography on surface
272
-
273
- Prioritize readability over visual novelty.
274
-
275
- Defaults should feel appropriate for legal text:
276
-
277
- * neutral serif or highly readable system serif for document body, or a sober sans if product direction insists on sans
278
- * excellent line height
279
- * moderate paragraph spacing
280
- * clearly differentiated headings
281
-
282
- Recommended body defaults:
283
-
284
- * font size: 15–16px
285
- * line height: 1.55–1.7
286
- * body text color: deep neutral, not pure black
287
-
288
- Headings should feel structured, not editorially dramatic.
289
-
290
- ---
291
-
292
- ## 7. Sidebar design
293
-
294
- ## 7.1 Sidebar role
295
-
296
- The sidebar is the review companion, not the main stage.
297
-
298
- It should contain:
299
-
300
- * comments
301
- * review navigation
302
- * change summary
303
- * selected annotation detail
304
-
305
- ## 7.2 Sidebar behavior
306
-
307
- Default:
308
-
309
- * docked on the right on desktop
310
- * collapsible
311
- * width stable enough for comfortable reading
312
-
313
- Recommended width:
314
-
315
- * 320–380px
316
-
317
- ## 7.3 Sidebar styling
318
-
319
- * slightly tinted neutral surface
320
- * subtle divider from document area
321
- * cards or grouped threads with soft contrast
322
- * clear active/selected comment state
323
- * low-noise metadata styling
324
-
325
- Comment cards should feel closer to modern discussion UIs than email clients.
326
-
327
- ---
328
-
329
- ## 8. Review and annotation design
330
-
331
- ## 8.1 Markup modes
332
-
333
- The UI must support at least:
334
-
335
- * clean
336
- * simple markup
337
- * full markup
338
-
339
- ### Clean
340
-
341
- * review marks hidden from main visual emphasis
342
- * document reads as final text
343
- * comments may be discoverable via indicators
344
-
345
- ### Simple markup
346
-
347
- * slim margin or inline indicators
348
- * low-noise review visibility
349
- * best default for legal review reading
350
-
351
- ### Full markup
352
-
353
- * insertions/deletions visibly styled inline
354
- * comments strongly visible
355
- * intended for detailed review work
356
-
357
- ## 8.2 Insertions
358
-
359
- Insertions should be visible but elegant.
360
-
361
- Recommended styling:
362
-
363
- * subtle tinted background or underline accent
364
- * stronger on selection/focus
365
- * avoid loud green fill blocks
366
-
367
- ## 8.3 Deletions
368
-
369
- Deletions should be readable without dominating the paragraph.
370
-
371
- Recommended styling:
372
-
373
- * muted red/pink tone
374
- * strikethrough
375
- * optional soft background tint in full markup mode
376
-
377
- ## 8.4 Comment anchors
378
-
379
- Commented text should use:
380
-
381
- * subtle highlight wash
382
- * comment-specific accent indicator
383
- * stronger highlight on hover/focus
384
-
385
- Avoid always-on thick borders.
386
-
387
- ## 8.5 Margin indicators
388
-
389
- Where used, indicators should be:
390
-
391
- * slim
392
- * aligned cleanly
393
- * color-coded but muted
394
- * clickable
395
-
396
- ---
397
-
398
- ## 9. Selection and interaction styling
399
-
400
- ## 9.1 Text selection
401
-
402
- Selection should feel native but polished.
403
-
404
- Use:
405
-
406
- * lightly tinted brand-aware selection color
407
- * strong enough contrast to confirm range
408
- * avoid over-saturated browser-default feeling if custom selection is possible safely
409
-
410
- ## 9.2 Current block focus
411
-
412
- A focused paragraph/table/cell can use:
413
-
414
- * very subtle background emphasis
415
- * contextual handles/tools only when useful
416
-
417
- ## 9.3 Hover philosophy
418
-
419
- Hover states should exist but remain understated.
420
-
421
- Use:
422
-
423
- * small contrast change
424
- * no dramatic color shifts
425
- * no jumpy motion
426
-
427
- ## 9.4 Active state philosophy
428
-
429
- The active state must be clearer than hover.
430
-
431
- For toolbar controls:
432
-
433
- * soft filled background
434
- * readable icon contrast
435
- * no thick inset outlines unless focus-visible
436
-
437
- ---
438
-
439
- ## 10. Floating toolbar and contextual tools
440
-
441
- ## 10.1 Floating toolbar
442
-
443
- Appears on text selection.
444
-
445
- Must feel:
446
-
447
- * fast
448
- * lightweight
449
- * unobtrusive
450
-
451
- Include only high-frequency inline actions:
452
-
453
- * bold
454
- * italic
455
- * underline
456
- * comment
457
- * link
458
- * maybe clear formatting
459
-
460
- Visual style:
461
-
462
- * compact rounded popover
463
- * subtle shadow
464
- * high legibility
465
- * low decoration
466
-
467
- ## 10.2 Contextual tools
468
-
469
- Show only when contextually relevant:
470
-
471
- * table controls when inside table
472
- * image controls when image selected
473
- * comment actions when comment active
474
- * revision actions when change selected
475
-
476
- ---
477
-
478
- ## 11. Color system
479
-
480
- ## 11.1 Overall palette strategy
481
-
482
- Use a restrained neutral-first palette with disciplined accents.
483
-
484
- The UI should primarily rely on:
485
-
486
- * whites / near-whites
487
- * light neutral backgrounds
488
- * cool or warm gray hierarchy
489
- * one product accent color
490
- * reserved review colors
491
-
492
- ## 11.2 Semantic color groups
493
-
494
- ### Neutral
495
-
496
- Used for:
497
-
498
- * shell backgrounds
499
- * toolbar surfaces
500
- * dividers
501
- * typography hierarchy
502
- * sidebars
503
-
504
- ### Accent
505
-
506
- Used for:
507
-
508
- * primary actions
509
- * focused selected states
510
- * links
511
- * active controls
512
-
513
- ### Comment color
514
-
515
- Used for:
516
-
517
- * comment anchor indicators
518
- * comment sidebar highlights
519
- * active thread emphasis
520
-
521
- ### Revision colors
522
-
523
- Used for:
524
-
525
- * insertion
526
- * deletion
527
- * review navigation indicators
528
-
529
- ### Feedback colors
530
-
531
- Used for:
532
-
533
- * success
534
- * warning
535
- * error
536
- * info
537
-
538
- ## 11.3 Recommended token ranges
539
-
540
- ### Neutrals
541
-
542
- * background-app
543
- * background-panel
544
- * background-surface
545
- * background-muted
546
- * border-subtle
547
- * border-default
548
- * text-primary
549
- * text-secondary
550
- * text-muted
551
-
552
- ### Accent
553
-
554
- * accent-50
555
- * accent-100
556
- * accent-500
557
- * accent-600
558
- * accent-700
559
-
560
- ### Review
561
-
562
- * comment-100 / 500 / 700
563
- * insertion-100 / 500 / 700
564
- * deletion-100 / 500 / 700
565
-
566
- Review colors must be muted enough for long sessions.
567
-
568
- ---
569
-
570
- ## 12. Typography system
571
-
572
- ## 12.1 Typography goals
573
-
574
- Typography should communicate:
575
-
576
- * trust
577
- * hierarchy
578
- * readability
579
- * low fatigue
580
-
581
- ## 12.2 UI typography
582
-
583
- UI chrome should use a modern neutral sans.
584
-
585
- Recommended scale:
586
-
587
- * label-xs
588
- * label-sm
589
- * body-sm
590
- * body-md
591
- * heading-sm
592
- * heading-md
593
-
594
- Use medium weight sparingly.
595
-
596
- ## 12.3 Document typography
597
-
598
- Document typography should prioritize long-form reading.
599
-
600
- Recommended options:
601
-
602
- * sober serif for body text
603
- * or neutral sans if product brand requires it, but keep it highly readable
604
-
605
- Headings should follow predictable scale steps.
606
-
607
- Avoid dramatic display styles.
608
-
609
- ---
610
-
611
- ## 13. Spacing and sizing system
612
-
613
- Use a consistent spacing scale.
614
-
615
- Recommended base unit:
616
-
617
- * 4px
618
-
619
- Primary spacing tokens:
620
-
621
- * 4
622
- * 8
623
- * 12
624
- * 16
625
- * 20
626
- * 24
627
- * 32
628
- * 40
629
- * 48
630
- * 64
631
-
632
- Usage guidance:
633
-
634
- * controls: 8–12 internal padding
635
- * toolbar gutters: 12–16
636
- * panels: 16–24
637
- * document interior: 40+
638
-
639
- The design should feel spacious but not luxurious to the point of wasting space.
640
-
641
- ---
642
-
643
- ## 14. Shape, borders, and elevation
644
-
645
- ## 14.1 Radius
646
-
647
- Use rounded corners consistently.
648
-
649
- Recommended radius tokens:
650
-
651
- * small: 6px
652
- * medium: 10px
653
- * large: 14px
654
- * popover/panel: 14–18px
655
-
656
- ## 14.2 Borders
657
-
658
- Prefer subtle borders over heavy outlines.
659
-
660
- Use:
661
-
662
- * hairline or light 1px neutral borders
663
- * stronger borders only for active states when needed
664
-
665
- ## 14.3 Elevation
666
-
667
- Use shadow sparingly.
668
-
669
- Recommended:
670
-
671
- * almost none on baseline surfaces
672
- * gentle shadow on floating toolbar/popovers/dialogs
673
- * optional light page shadow in page mode
674
-
675
- ---
676
-
677
- ## 15. Motion and transitions
678
-
679
- Motion should be minimal and utilitarian.
680
-
681
- Use only for:
682
-
683
- * panel open/close
684
- * hover/focus refinement
685
- * popover appearance
686
- * sidebar transitions
687
-
688
- Rules:
689
-
690
- * short durations
691
- * low travel distance
692
- * no playful bounce
693
- * no large zoom effects
694
-
695
- Prefer 120–180ms for small UI transitions.
696
-
697
- Support reduced motion mode.
698
-
699
- ---
700
-
701
- ## 16. Component-level styling guidance
702
-
703
- ## 16.1 Buttons
704
-
705
- Primary button:
706
-
707
- * filled or softly tinted
708
- * used sparingly for save/export or primary confirmation
709
-
710
- Secondary button:
711
-
712
- * low-contrast outlined or tinted
713
-
714
- Ghost button:
715
-
716
- * preferred for toolbar and sidebar actions
717
-
718
- Danger button:
719
-
720
- * only for destructive flows, visually restrained but clear
721
-
722
- ## 16.2 Inputs and dropdowns
723
-
724
- Must feel simple and modern.
725
-
726
- Use:
727
-
728
- * medium radius
729
- * subtle borders
730
- * strong focus ring
731
- * compact heights
732
-
733
- Avoid enterprise-form heaviness.
734
-
735
- ## 16.3 Comment cards
736
-
737
- Each comment thread should use:
738
-
739
- * soft card or grouped panel style
740
- * clear author/meta hierarchy
741
- * compact spacing
742
- * distinct selected state
743
-
744
- ## 16.4 Status bar
745
-
746
- If present, keep it extremely minimal.
747
-
748
- Useful items:
749
-
750
- * save state
751
- * track changes state
752
- * warnings count
753
- * word compatibility status badge if desired
754
-
755
- ---
756
-
757
- ## 17. Modes and state-specific appearance
758
-
759
- ## 17.1 Read-only mode
760
-
761
- Read-only mode should:
762
-
763
- * remove editing affordances
764
- * preserve review visibility
765
- * keep navigation controls available
766
- * reduce toolbar actions intelligently
767
-
768
- ## 17.2 Track changes enabled
769
-
770
- When track changes is on:
771
-
772
- * show a clear but restrained state indicator
773
- * make review actions discoverable
774
- * avoid bathing the entire interface in warning color
775
-
776
- ## 17.3 Comment-focused state
777
-
778
- When a comment is selected:
779
-
780
- * highlight anchor range more strongly
781
- * scroll related sidebar thread into focus
782
- * visually connect thread and anchor subtly
783
-
784
- ## 17.4 Warning / preserved-content state
785
-
786
- For unsupported-preserved content:
787
-
788
- * show an explicit but calm warning banner or inline badge
789
- * do not disrupt reading more than necessary
790
- * clearly distinguish from fatal errors
791
-
792
- ---
793
-
794
- ## 18. Accessibility and inclusive design
795
-
796
- The visual system must support:
797
-
798
- * strong focus-visible states
799
- * non-color-only distinction for insertions/deletions/comments
800
- * keyboard navigability
801
- * clear contrast ratios
802
- * optional high contrast mode
803
- * reduced motion
804
-
805
- Revision styling must never rely only on color:
806
-
807
- * insertions may use underline or indicator shape
808
- * deletions may use strikethrough plus tone
809
- * comments may use both tint and marker
810
-
811
- ---
812
-
813
- ## 19. Responsive behavior
814
-
815
- ## 19.1 Desktop first
816
-
817
- The primary experience is desktop-first.
818
-
819
- ## 19.2 Narrow layouts
820
-
821
- On narrower widths:
822
-
823
- * toolbar may collapse into grouped controls
824
- * sidebar may become overlay/drawer
825
- * document padding may reduce modestly
826
- * floating controls remain usable
827
-
828
- The document should remain readable before preserving full control density.
829
-
830
- ---
831
-
832
- ## 20. Styling architecture
833
-
834
- Recommended styling approach:
835
-
836
- * design tokens first
837
- * component-scoped styles
838
- * theme object for overrides
839
- * clear semantic tokens rather than raw color use
840
-
841
- The component should support:
842
-
843
- * default theme
844
- * host overrides through typed theme tokens
845
- * style isolation to avoid host CSS collisions
846
-
847
- Avoid hard-coding visual values directly in individual components where tokens should exist.
848
-
849
- ### Implementation reference
850
-
851
- The canonical frontend implementation architecture, component inventory, theme contract, and
852
- editing model are defined in `docs/reference/word-review-editor-frontend-architecture.md`.
853
- That document governs how the design principles in this file are realized in code.
854
-
855
- ---
856
-
857
- ## 21. Default theme token recommendation
858
-
859
- Example token groups:
860
-
861
- * `font.ui`
862
- * `font.document`
863
- * `font.mono`
864
- * `size.text.xs/sm/md/lg/xl`
865
- * `space.1..10`
866
- * `radius.sm/md/lg/xl`
867
- * `color.bg.app`
868
- * `color.bg.panel`
869
- * `color.bg.surface`
870
- * `color.border.subtle`
871
- * `color.border.default`
872
- * `color.text.primary`
873
- * `color.text.secondary`
874
- * `color.text.muted`
875
- * `color.accent.default`
876
- * `color.accent.hover`
877
- * `color.comment.bg`
878
- * `color.comment.border`
879
- * `color.comment.text`
880
- * `color.revision.insert.bg`
881
- * `color.revision.insert.text`
882
- * `color.revision.delete.bg`
883
- * `color.revision.delete.text`
884
- * `color.warning.bg`
885
- * `color.warning.text`
886
- * `color.error.bg`
887
- * `color.error.text`
888
- * `shadow.sm/md`
889
- * `focus.ring`
890
-
891
- ---
892
-
893
- ## 22. Look-and-feel summary
894
-
895
- The component should feel like:
896
-
897
- * a premium legal review workspace
898
- * a focused document environment
899
- * a modern structured editor
900
- * calm but capable software
901
-
902
- It should not feel like:
903
-
904
- * a retro office suite
905
- * a CMS rich text field
906
- * a flashy collaboration toy
907
- * an over-designed consumer writing app
908
-
909
- The visual personality should be:
910
-
911
- * serious
912
- * refined
913
- * efficient
914
- * low-noise
915
- * trustworthy
916
-
917
- ---
918
-
919
- ## 23. Final design rule
920
-
921
- When in doubt:
922
-
923
- 1. privilege readability
924
- 2. reduce noise
925
- 3. keep controls contextual
926
- 4. keep review states clear
927
- 5. preserve trust and precision
928
-
929
- The user should always feel that the editor is **quietly powerful and legally reliable**.