google / google/codeworld

Rewind in debug controls

オープン
#710 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Haskell
スター
1.3k
フォーク
201
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently, the speed options for debug mode go from 0x (paused) to 5x. It would be nice to have a rewind option, as well.

The implementation would be trivial for animations, where you just want to subtract from the current time every frame. For non-debug simulations, this is impossible anyway, so the slider should only go to zero.

Debugged simulations and interactions are the hard case. We know the past states, but we don't know their times. If we did know the times, this would be doable, but complex. (The new debug state type would have to contain two lists of paired state-and-timestamp, and a current timestamp: `([(a, Double)], [(a, Double)], Double)` This also opens the question of whether you want the history slider scaled by frame, or by time.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

この issue ではファイルもテストも指定されていません。まずデバッグモードの速度スライダーとデバッグ状態の型を追跡し、次にデバッグ対象のシミュレーションとアニメーションの扱いを比較してください。実装前に、履歴をフレーム単位とタイムスタンプ単位のどちらでスケーリングするかを決め、巻き戻しの動作を定義してください。完了条件は、選択した設計が記載されたデバッグ操作に対して機能することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
haskell
領域
devtools
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。