Summary
Migrate only the OpenWebSheet UI layer to React. The spreadsheet core, rendering/data model, formulas, import/export logic, and file format handling should remain separate from the React migration unless a small adapter is required.
Scope
- Rebuild UI shell, menus, dialogs, toolbars, panels, and view controls using React.
- Create clear boundaries between React UI components and the existing spreadsheet core APIs.
- Add adapters/hooks where needed for UI-to-core communication.
- Preserve existing canvas/spreadsheet behavior during the migration.
- Keep the core framework-agnostic so it can be tested and evolved independently.
Out of scope
- Rewriting the spreadsheet engine/core logic.
- Rewriting formula evaluation.
- Rewriting import/export functionality.
- Changing the file format or data model unless required for UI integration.
Suggested acceptance criteria
- React app shell can host the existing spreadsheet surface.
- Main UI controls are implemented as React components.
- Existing spreadsheet core behavior remains unchanged.
- UI-to-core boundaries are documented.
- Regression tests cover key UI workflows and confirm no core behavior regressions.
Notes
This should be treated as a UI migration issue, not a full application rewrite.
Summary
Migrate only the OpenWebSheet UI layer to React. The spreadsheet core, rendering/data model, formulas, import/export logic, and file format handling should remain separate from the React migration unless a small adapter is required.
Scope
Out of scope
Suggested acceptance criteria
Notes
This should be treated as a UI migration issue, not a full application rewrite.