Skip to content

Milestone

SIHAN LI edited this page May 18, 2022 · 89 revisions

OverView

mark Description
bullet not started
checkmark completed
important
🐄 on-going (Chris)
⚡️ on-going (Jody)
on-going (Cindy)
🚳 not for now
... lots of unfinished

Description

This roadmap list is currently maintained by Chris Li (@Bistard), Jody Zhou (@JodyZ0203), Cindy Yang (@cindy-cyber).

Folder Structure (2022.01.11)

├─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   # 测试文件

之后的事情 - After February 2022

新的milestones全部写在了Github的Discussion Section区域。

All the newest milestones are posted in the Github discussion section.

二月 - February - 2022

  • Doc
    • UML
      • ListView & scrollableWidget & Scrollbar & Scrollable
  • vscode源码阅读
    • data structure
      • B tree
      • index tree
    • services
      • storageService
      • themeService
    • UI
      • explorerView / explorerModel
        • AsyncDataTree
        • ObjectTree
          • ObjectTreeModel
            • IndexTreeModel
        • AbstractTree (view model)
          • TreeNodeList (view)
          • ITreeModel (model)
      • ListView
      • ListWidget
        • ListTrait
        • pipelineRenderer
  • 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
  • UI
    • MVVM
      • explorer [tree model] / [tree view] / [tree view model]
    • Component
      • actionView (code refactor)
        • UI redesign
      • markdown redesign
        • ⚡testing milkdown
      • ActionView
        • ExplorerView (NotebookView)
          • dropDown to select notebook
        • outlineView
      • Editor
        • tabBarView (code refactor)
        • toolBarView
    • Secondary
      • ⚡️custom context menu (code refactor)
      • ListWidget
        • pipelineRenderer
        • focus support
        • selection support
        • 🐄drag and drop support
      • ListView (basic functionality)
        • IListViewRenderer
        • ListViewCache

一月 - January - 2022

  • vscode源码阅读
    • services
      • layoutService
      • sash / resizeable
    • browsers
      • BaseActionViewItem / ActionViewItem
      • ActionBar
      • CompositeBar
    • UI
      • ScrollableElement / Scrollable / Scrollbar
      • Range / RangeMap
      • RowCache / Renderer
  • 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

十二月 - December - 2021

  • Doc
    • UML
      • configService (code refactor)
  • Research
    • vscode源码
      • fileService related code
      • eventEmitter
  • 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
        • stream
          • 🚳highWaterMark?
          • 🚳readableBufferedStream?
        • buffer
        • 🚳simplify URI functionality?
  • common
    • data structure
      • list
  • Utility
    • path.ts

九月 - September - 2021

  • Core
    • Services
      • Dependency Injection Service (依赖注入系统)
        • registerSingleton
      • configService && globalConfigService
        • isolate both from NoteBookManagerService
      • contextMenuService
      • componentService
      • unitTestService
        • support URI
    • textModel
      • initialization
      • MVVM (model-view-viewModel框架)
  • Feature
    • Component
      • TabBarComponent (重构)
    • UI
      • Component
        • tabBar new UI
  • Research
    • idle-until-urgent 模式
      • requestIdleCallback()
    • vscode源码阅读
      • fileService.ts && buffer.ts && stream.ts
    • 数据结构
      • Piece Table
  • Discussion
  • Test
    • 性能检测 (通过chrome devtool或者chrome tracing去分析哪一步可以优化)

八月 - August - 2021

  • 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类
  • Feature
    • editor
      • read file
    • UI
      • secondary
        • Context Menu
  • Research
    • dependency injection 依赖注入 (IoC Inversion of Control)
    • observer pattern 观察者模式
  • Discussion
    • editor上半部分UI基调

七月 - July - 2021

  • base code