Although Kotlin JS is super good for development and nothing wrong when adding new features, the UI is a big bottleneck when I want to support more tools.
As you can see, the shape format tool is limited and (TBH) ugly.
Although MonoSketch already adopted Compose HTML, I still feel it's not right to use code for creating UI.
Maybe I'm an old-fashion guy, but XML seems to be the best language for UI, IMO.
After considering back and forth, tradeoffs, and efforts, I decided to convert the project into TypeScript and use Svelte for the UI.
I tried to make Kotlin JS and Svelte living under the same project but it was not as good as I expected. Both want to be the last guy in the room, or, in other words, need to be the last thing to be compiled. Creating and maintaining the bridge will be the other bottleneck, which I cannot afford.
Although Kotlin JS is super good for development and nothing wrong when adding new features, the UI is a big bottleneck when I want to support more tools. As you can see, the shape format tool is limited and (TBH) ugly. Although MonoSketch already adopted Compose HTML, I still feel it's not right to use code for creating UI. Maybe I'm an old-fashion guy, but XML seems to be the best language for UI, IMO.
After considering back and forth, tradeoffs, and efforts, I decided to convert the project into TypeScript and use Svelte for the UI. I tried to make Kotlin JS and Svelte living under the same project but it was not as good as I expected. Both want to be the last guy in the room, or, in other words, need to be the last thing to be compiled. Creating and maintaining the bridge will be the other bottleneck, which I cannot afford.