I just discovered that skin loading has been broken on Chrome (only on Linux) since the rewrite.
I've also found some more inaccuracies in the simulation. So I'll look into them soon.
After those I'll do hitsounds since that's probably the most lacking thing in terms of how the replay feels.
Rewrote the renderer from scratch without PIXI.js. For an osu! renderer, PIXI.js was complete overkill and added unnecessary complexity. The code is much easier to reason about now, and in particular the skin loading is much simpler.
Added some initial HUD elements. Score, Combo, and Accuracy, and Healthbar Background. The healthbar background doesn't size correctly currently. Remaining skin elements will come soon.
Also improved how audio state is managed with React, which fixed a bug where the renderer would show show the wrong part of the beatmap for a brief moment on initial playback.
Introduced React Compiler to improve performance and simplify code.