Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap for Virgo 2.0 #10

Closed
45 of 56 tasks
doodlewind opened this issue Sep 20, 2022 · 0 comments
Closed
45 of 56 tasks

Roadmap for Virgo 2.0 #10

doodlewind opened this issue Sep 20, 2022 · 0 comments

Comments

@doodlewind
Copy link
Member

doodlewind commented Sep 20, 2022

Store

  • Support BlockModel and YBlock entities
  • Support WebRTC-based debug provider
  • Support slot-based events
  • Support block-wise undo/redo
  • Support cursor and awareness adapter
  • Support API for updating nested data structure
  • Support IndexedDB provider
  • Support importing workspace (as YDoc binary)
  • Support exporting workspace (as YDoc binary)
  • Support defineModel schema API

Blocks

Page

  • Support model class and basic rendering
  • Support adding block model to store on init
  • Support page title

Text

  • Support rich text component
  • Support bold, italic, underline, strikethrough format
  • Support cursor on pressing arrow key up/down
  • Support switching between types
  • Support link
  • Support adding block on enter (cursor at line end)
  • Support splitting text block on enter (cursor at the middle of a line)
  • Support recognizing common markdown syntax
    • # headers
    • * numbered list
    • 1. bulleded list
    • [] to-do list
    • **text** bold
    • ~text~ underline
    • ~~text~~ strikethrough
    • ***text*** bold and italic
  • Support hotkeys
    • enter (hard enter)
    • shift + enter (soft enter)
    • cmd/ctrl + A (select all)
    • cmd/ctrl + B (bold)
    • cmd/ctrl + I (italics)
    • cmd/ctrl + U (underline)
    • cmd/ctrl + shift + S (strikethrough)
    • cmd/ctrl + K (link)
    • cmd/ctrl + E (inline code)
    • tab (indent)
    • shift + tab (un-indent)
    • cmd/ctrl + option/shift + 0~9 (headers and paragraph)
    • cmd/ctrl + + (whiteboard)
    • cmd/ctrl + - (whiteboard)
    • shift + ←/→
    • shift + ↑/↓

List

  • Support basic rendering
  • Support indent and unindent
  • Support adding or splitting siblings on enter
  • Support range delte
  • Support switching between numbered, bulleted and to-do style

Image

  • Support basic rendering
  • Support drag and drop

Editor

  • Support exporting to markdown
  • Support importing (pasting) from markdown
  • Support rich-text content copying and pasting
  • Support React container

Paper mode container

  • Support rendering paper mode selection box
  • Support hit test on basic text blocks
  • Support hit test on nested blocks
  • Support UI styling
  • Support dark mode

Endless mode container

  • Support panning and zooming container
  • Support rendering endless mode selection box
  • Support drawing basic shape

Playground and test suite

  • Support E2E test suite and CI
  • Support multiplayer state asserting
  • Support text selection and store assertion
  • Support keyboard assertion
  • Support selection box assertion
  • Support building and package publishing automation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant