Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ソング:Undo/Redoを作る #1834

Closed
3 tasks
sevenc-nanashi opened this issue Feb 8, 2024 · 4 comments
Closed
3 tasks

ソング:Undo/Redoを作る #1834

sevenc-nanashi opened this issue Feb 8, 2024 · 4 comments

Comments

@sevenc-nanashi
Copy link
Member

内容

タイトル通り。

Pros 良くなる点

便利

Cons 悪くなる点

ないはず?

実現方法

基本的にはトーク側のと同じ感じで作れるとは思いますが、Undoスタックを分けるかどうかで少し考える必要がありそうです。

  • 分ける:
    • Pros:認識外での変更がなくなる
    • Cons:ステートが増える
  • 共有する:
    • Pros:コードを使いまわせる部分が増える
    • Cons:認識外での変更が起きるかも

(まぁどっちでもほとんどのユーザーには関係ないと思いますが)

VOICEVOXのバージョン

0.16.0

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

(なし)

@Hiroshiba
Copy link
Member

Discordを見る感じ @y-chan さんが作っていらっしゃるかもしれないのでコメントメモです!
https://discord.com/channels/879570910208733277/893889888208977960/1205186250550804480

@y-chan
Copy link
Member

y-chan commented Feb 9, 2024

すみません...!
Issueを立てずに進めてしまいました... 🙇

まだ不完全なのですが、後でDraft PRを作ります...

とりあえず、プロジェクトファイルの議論をもとに、不幸が起きにくい方向で作るとなると、Undo/Redoスタックはトークとソングで分けて作るのがよいのかなと思いました!
ただ、これをやる場合、トークとソングでどっちのページを開いているかを判定して、ショートカットキーの判定を変えてあげる必要がありそうで、やらなきゃいけないことは増えそうかなと....(一旦Draft PRでは、どっちも実装できる形にしておいて、ショートカットキー側が落ち着いたらトークとソングで分けられるような設計にしようかなと思っています)

@Hiroshiba
Copy link
Member

基本的にはやっぱりソング・トークでundo処理を分けるべきだと思います!
でもこっちもプロジェクト機能と同様、分けたほうが実装が大変なので、とりあえず共通のをで賛成です。

ちなみに分ける場合のショートカットキーの判定は @sevenc-nanashi さんの↓のプルリクがマージされれば解決だと思います!!

個人的には型パズル周りとcommands周りを少し心配しています。
きれいに実装が分けられるのかは既存実装に依存していそうだなぁと。(未調査です)

@sevenc-nanashi
Copy link
Member Author

#1861 と合わせて実装が完了したと思うのでClose。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
@Hiroshiba @y-chan @sevenc-nanashi and others