Skip to content

🧩 [Core] Define Module Capabilities #102

Description

@ahmdkaml

🧩 Overview

Define which capabilities and features each module supports.

Modules should not be treated as if every feature applies universally. The Core should provide a way to describe the capabilities of a module so the UI and rendering systems can determine which operations are valid.

🎯 Goals

  • Define supported capabilities for modules.
  • Allow different module types to support different features.
  • Allow the UI to expose only applicable features.
  • Allow the rendering system to understand module capabilities.
  • Keep capability definitions in Core.

Example

Image
 β”œβ”€β”€ Font           βœ—
 β”œβ”€β”€ Text Color     βœ—
 β”œβ”€β”€ Submodules     βœ—
 └── Size           βœ“

Paragraph
 β”œβ”€β”€ Font           βœ“
 β”œβ”€β”€ Color          βœ“
 β”œβ”€β”€ Line Spacing   βœ“
 └── Submodules     βœ—

Container
 β”œβ”€β”€ Font           βœ“
 β”œβ”€β”€ Color          βœ“
 β”œβ”€β”€ Spacing        βœ“
 └── Submodules     βœ“

🚫 Out of Scope

This issue defines the capability model.

It does not implement every individual feature or modify the UI feature controls.


↩️ [Editor] Add Undo and Redo Support

Labels: ui, editor, modules, enhancement

## ↩️ Overview

Allow users to undo and redo document modifications.

As users begin adding, removing, reordering, nesting, and modifying modules, they need a way to safely experiment with the document.

## 🎯 Goals

Support undo and redo for document editing operations including:

- Adding modules
- Removing modules
- Reordering modules
- Adding submodules
- Removing submodules
- Modifying module features

## πŸ“¦ Requirements

- Maintain an appropriate document history.
- Undo should restore the previous document state.
- Redo should restore an undone operation.
- History should operate on the Core document model.
- Preview should update after undo/redo.
- Undo/redo should not create unnecessary history entries while restoring state.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions