3 ms·
It's cool to see a brand-new WIYSIWYG editor on the web, especially one using canvas for rendering from the start. How did you go about architecting the renderi
by jitl 7mo ago
It's cool to see a brand-new WIYSIWYG editor on the web, especially one using canvas for rendering from the start. How did you go about architecting the rendering and input layer? What are you using for text shaping and layout?
Bugs I found:
- <tab> when in a 3rd-level indented list loses focus
- Double-click and drag gesture does not extend text selection
- Selection highlight is offset for indented paragraphs. If you select a range you can see the highlight incorrectly extended into the right-hand margin.
- Inconsistent repro: had some cases where select -> delete -> cmd-z would not fully restore my removed text (this could be my mistake)
- Toggling list style of a single indented list item can un-indent entire list, removing hierarchy; I would expect toggling to eventually return me to my original state.
- Frustration: cannot set range of indented list to ordered list without affecting all adjacent list items
- Frustration: cannot resize table rows vertically
- Frustration: on macOS, ctrl-a selects all, where the platform native behavior would be to move selection to the start of the current paragraph. ctrl-e should move selection to the end of the current paragraph, but does nothing. (macOS silently supports readline/emacs style keybinds for text editing)
- artursapek 7mo agohaha wow this is an awesome list of bugs. thank you. yes all of this was built from scratch, as you can see :D I will get all of these fixed regarding rendering/text layout, it’s all based on measureText in the Canvas API. the layout engine is my own. documents are made up of “blocks” like lists and paragraphs and each implements its own rendering, cursor movement, and layout logic. I am going to start a dev blog where I get into the weeds. but will fix these bugs first. if you find more like that please email me art@revise.io