-
Notifications
You must be signed in to change notification settings - Fork 5
Milestone
SIHAN LI edited this page May 18, 2022
·
89 revisions
mark | Description |
---|---|
bullet | not started |
checkmark | completed |
⭐ | important |
🐄 | on-going (Chris) |
⚡️ | on-going (Jody) |
⛄ | on-going (Cindy) |
🚳 | not for now |
... | lots of unfinished |
This roadmap list is currently maintained by Chris Li (@Bistard), Jody Zhou (@JodyZ0203), Cindy Yang (@cindy-cyber).
├─base # 基础代码
│ ├─browser # 通用元件
│ │ ├─basic # 基础元件
│ │ ├─icon # 图标文件
│ │ └─secondary # 复合元件
│ ├─common # 公用接口
│ ├─electron # electron相关接口
│ └─node # nodeJS相关接口
├─code # 主入口
│ ├─common # 公用ts文件
│ │ ├─model # model类
│ │ ├─service # 公用服务类
│ │ └─viewModel # viewModel类
│ ├─platform # 平台相关功能
│ ├─electron-main # electron主入口
│ └─browser # 渲染模块主入口
│ ├─service # 渲染进程服务类
│ └─workbench # 工作区
├─styles # css文件
└─test # 测试文件
新的milestones全部写在了Github的Discussion Section区域。
All the newest milestones are posted in the Github discussion section.
- Doc
- UML
- ListView & scrollableWidget & Scrollbar & Scrollable
- UML
- vscode源码阅读
- data structure
- B tree
- index tree
- services
- storageService
- themeService
- UI
- explorerView / explorerModel
- AsyncDataTree
- ObjectTree
- ObjectTreeModel
- IndexTreeModel
- ObjectTreeModel
- AbstractTree (view model)
- TreeNodeList (view)
- ITreeModel (model)
- ListView
- ListWidget
- ListTrait
- pipelineRenderer
- explorerView / explorerModel
- data structure
- Unit Test
- diskFileSystemProvider
- fileService [exist/createFile(Dir)/move/copy/delete/warn]
- compare different reading methods (buffer at once vs stream)
- new event emitters (Pauseable/Delayable/Singal)
- shortcutService (need a TestKeyboardService)
- Base
- uri (refactor)
- scrollable (refactor)
- hash (🚳object hashing)
- Event
- DomEmitter / PauseableEmitter / DelayableEmitter / SingalEmitter / AsyncEmitter
- 🐄priorityEmitter
- Core
- replace old event emitter
- noteBookManager (code refactor)
- file tree (code refactor)
- Services
- keyboardService
- shortcutService
- IpcService
- keyboardService
- UI
- MVVM
- explorer [tree model] / [tree view] / [tree view model]
- Component
- actionView (code refactor)
- UI redesign
- markdown redesign
- ⚡testing
milkdown
- ⚡testing
- ActionView
- ExplorerView (NotebookView)
- dropDown to select notebook
- outlineView
- ExplorerView (NotebookView)
- Editor
- tabBarView (code refactor)
- toolBarView
- actionView (code refactor)
- Secondary
- ⚡️custom context menu (code refactor)
- ListWidget
- pipelineRenderer
- focus support
- selection support
- 🐄drag and drop support
- ListView (basic functionality)
- IListViewRenderer
- ListViewCache
- MVVM
- vscode源码阅读
- services
- layoutService
- sash / resizeable
- browsers
- BaseActionViewItem / ActionViewItem
- ActionBar
- CompositeBar
- UI
- ScrollableElement / Scrollable / Scrollbar
- Range / RangeMap
- RowCache / Renderer
- services
- Unit Test
- instantiationService
- dependency graph
- UI
- HarmonyOS sans
- Component
- actionBar (code refactor)
- Basic
- Widget
- Button (code refactor)
- sash && 🚳resizeable
- new icon system (
fantasticon
)
- Secondary
- WidgetBar
- ScrollableWidget
- scrollbar (vertical && horizontal)
- Platform
- i18n (en && zh-cn)
- Base
- Scrollable
- Range
- visibility controller
- Core
- WorkbenchLayout
- Services
- logService
- Doc
- UML
- configService (code refactor)
- UML
- Research
- vscode源码
- fileService related code
- eventEmitter
- vscode源码
- Unit Test
- uri
- buffer
- stream
- configService (code refactor)
- fileService
- read/write
- list
- eventEmitter
- Disposable
- Core
- event emitter system (code refactor)
- Unit-Testing-System (using
mocha
) - Dispose Pattern Implementation
- Services
- configService refactor
- fileService
- 🐄new events (relies on the new eventEmitter)
- provider
- diskFileSystemProvider
- unbuffered read/write
- open/read/write/close in low level file operations
- rename/move/copy/delete operations
- diskFileSystemProvider
- stream
- 🚳highWaterMark?
- 🚳readableBufferedStream?
- buffer
- 🚳simplify URI functionality?
- common
- data structure
- list
- data structure
- Utility
- path.ts
- Core
- Services
- Dependency Injection Service (依赖注入系统)
- registerSingleton
- configService && globalConfigService
- isolate both from NoteBookManagerService
- contextMenuService
- componentService
- unitTestService
- support URI
- Dependency Injection Service (依赖注入系统)
- textModel
- initialization
- MVVM (model-view-viewModel框架)
- Services
- Feature
- Component
- TabBarComponent (重构)
- UI
- Component
- tabBar new UI
- Component
- Component
- Research
- idle-until-urgent 模式
- requestIdleCallback()
- vscode源码阅读
- fileService.ts && buffer.ts && stream.ts
- 数据结构
- Piece Table
- idle-until-urgent 模式
- Discussion
- Test
- 性能检测 (通过chrome devtool或者chrome tracing去分析哪一步可以优化)
- Core
- 🚳
implement MVVM# MVVM一大特色是two-way data binding, 但其全程检测数据变化会影响性能, 因此目前认为不适合所有部件全部按MVVM架构设计. - services
- eventEmitter 事件触发系统
- fileSystem
- configSystem 配置系统
- global config 软件根目录下的mdnote.config.json
- default config 软件根目录下的config.json
- local config 笔记根目录下的.mdnote/config.json
- NoteBookManager类 (本地文件管理)
- NoteBook类
- 重构FileTree类
- configSystem 配置系统
- 🚳
- Feature
- editor
- read file
- UI
- secondary
- Context Menu
- secondary
- editor
- Research
- dependency injection 依赖注入 (IoC Inversion of Control)
- observer pattern 观察者模式
- Discussion
- editor上半部分UI基调
- base code