Remix.run Logo
▲ hridyaagrawal a day ago

how are you handling IME and screen readers with canvas? also do you relayout per line or per block? only relaying out changed blocks was the biggest typing speedup in my markdown editor

▲orangea a day ago | parent [-]

there is a hidden "<div contenteditable=true>" which contains the entire line being edited, which causes IME to work

▲hamza512b 19 hours ago | parent [-]

Yes, exactly that is the input surface. Canvas can not recieve the events otherwise, IME, clipboard and others events go thraugh that.