We will explore how to bring the commenting experience from the monaco editor to the notebook land.
- Extend comment controller to support notebook document
- Current comment controller support creating comments on a text document range, we need
CommentController/CommentThread for notebook ranges
CommentRangeProvider should also support notebook document if it's still needed
ReactionHandler has no dependencies on text document range, so it doesn't need to be updated
- Current
CommentThreadWidget in the core is a monaco editor ViewZone instance. It is tied to ViewZone's lifecyle and event handers. We want to extract it to a common widget and share it with notebook editor.
- The new
CommentThreadWidget can be rendered as a CellPart but it might have performance issue. ViewZones in monaco editor doesn't do virtualization so it's not affected by the slow/costly creation.
- Another approach is adding a new layer in notebook list, similar to the
ViewZone layer in Monaco Editor. The CommentThreadWidget can be absolutely positioned in this layer. The comments then will not be treated as parts of a Cell.
We will explore how to bring the commenting experience from the monaco editor to the notebook land.
CommentController/CommentThreadfor notebook rangesCommentRangeProvidershould also support notebook document if it's still neededReactionHandlerhas no dependencies on text document range, so it doesn't need to be updatedCommentThreadWidgetin the core is a monaco editorViewZoneinstance. It is tied toViewZone's lifecyle and event handers. We want to extract it to a common widget and share it with notebook editor.CommentThreadWidgetcan be rendered as aCellPartbut it might have performance issue.ViewZones in monaco editor doesn't do virtualization so it's not affected by the slow/costly creation.ViewZonelayer in Monaco Editor. TheCommentThreadWidgetcan be absolutely positioned in this layer. The comments then will not be treated as parts of aCell.