karaoke-dev / karaoke

Will be the best karaoke system.
http://blog.karaoke.dev
GNU General Public License v3.0
208 stars 16 forks source link

Move the font config into the shared stage element. #1997

Open andy840119 opened 1 year ago

andy840119 commented 1 year ago

It might be able to have more than one font spacing config for the stage. So maybe should be better to make it as a part of stage element.

andy840119 commented 1 year ago

最近總覺得腦子不太好使,所以說中文好了

目前我們已經把 skin 和一 些 transformer config(e.g. class stage 和 preview stage 的移動方式) 變成 stage element 之後或許也可以把 font config(e.g. main text spacing) 也變成 stage element 並且能夠被所有 stage 使用

另外這個 class 理論上應該要沒辦法被繼承 或許就叫 "FontStageElement" ? 裏面會定義字型,還有間距

andy840119 commented 1 year ago

另外需要想一下 display ruby/romaji 需不需要也移動到這邊?

或許第一階段可以先不用?

如果移動過去的話,需要有一個機制去重新 reload 所有的 lyric stage info. 這個應該不難做到,performance 的問題可以先不做考量

另外把更多的 config 移動到 stage 的好處是在 lyric playfield 中需要的依賴會更少 主軸會變成 stage applier 已經知道所有需要的 resource (e.g. 需要哪一個 texture 或是 shader) 剩下的就是呼叫 resource provider 去取得資源

andy840119 commented 3 weeks ago

Note: After migrate to the stage command (see #2294), will create a command to change lyric font.