today's progress, emoji support! it mostly consisted of text => new Intl.Segmenter('en').segment(text).map(s => s.segment) in a bunch of places, so that offset calculations made sense. I also had to add a hidden <input/> onto the page instead of just harvesting keypress , because emoji-pickers don't actually send valid keypresses, but they do trigger oninput in a focused <input/> 🎉
🎥 Untitled.mov