文字を書く道具に、設定をファイルに書き出して読み戻す仕組みを足した。読み戻すと、つまみ・色・字は全部同じなのに、絵が1.28%違った。別の道具では6.3%違った。
この研究を一言でいうと──読み戻しを疑う前に、道具自身が戻れるかを往復で試す。
設定は、全部一致していた
画面のつまみと、道具の中の状態を1つずつ突き合わせた。全部一致した。描くための控えを全部消して描き直しても、違いは残った。読み戻しの仕組みのせいではなかった。次に、操作を1つずつ往復させて、どこで戻らなくなるかを探した。
作り直しが走る操作でだけ、ずれる
| 往復した操作 | 元の絵と一致 |
|---|---|
| つまみ(ゆがみ・太さ・大きさ) | 一致 |
| 書体(角ゴ → 明朝 → 角ゴ) | 違う |
| 通す道具(筆 → ペン → 筆) | 違う |
| 字の打ち替え(疾風 → あ → 疾風) | 違う |
原因の1つは見つかった。字の骨組みを返す関数が、共有している表をそのまま渡していた。あとの工程が点を書き換えるので、元の表が少しずつ壊れていく。複製して返すように直した。ただ、これだけでは往復のずれは消えなかった。もう1つの原因は、まだ探している。
決めたこと
- 設定の読み戻しを疑う前に、つまみを往復させて、道具自身が戻れるかを見る。
- 往復は、つまみだけでなく、書体・道具・字の打ち替えのような作り直しの操作でも試す。
- 共有している表は、渡すときに複製する。
あなたの道具は、来た道を忘れて、同じ絵に戻れますか。
— 他の研究を読む