✅2024/7/5 Tasphのプロトタイピング: 依存関係を可視化する
最終的にどのへんが検証できたらよいか
このtasphの実装のための要件をこれで管理できると良い
Node部分作るのめんどいな
別にNodeであることが重要じゃないんだよな
ただの方眼紙でもいい
微妙そうなところ
全部のnode/edgeを一元管理するモデルになっている
storeすべてを見て管理する感じになる
jotaiと相性が悪い
storeがめっちゃ巨大になるだろ
nodeのdeleteに関するhandlerも<ReactFlow/>にわたす
普通に考えると個々のNodeで書けるべきだと思うけど
cmd-zが効かない
できそう
まあ、微妙なところはあるが、流石に0から作るのは時間かかりすぎるからちょっとやってみるかmrsekut.icon
これに依存するのをできるだけ最小限にするように設計してみよう
エディタ部分の作成
一旦適当なinputでいいや
あとでエディタは作り込もう
TaskNodeのようなものを作る
タスクを箇条書きにできる
分割できる
Nodeを選択した時に依存関係が見える
色を考える
適当に名前をつけたい
task graph
tasph
簡単な永続化
save/load
ショートカットキー
edgeに向きを付ける
Edgeに向きを付ける
code:ts
export const selectTreeAtom = atom(
null,
(get, set, id: NodeId, isSelect: boolean) => {
const node = get(taskNodeAtom(id));
set(isSelectAtom(id), isSelect);
node.data.children.map(id => set(selectTreeAtom_, id, true)); // 再帰
},
);
動かん
色の付け方おかしいか?
https://gyazo.com/fc78df843b6e6dbc2434ffac0cc8846c
選択したものからの距離でとかではなく、
leafになっているものを目出させるべき?
今すぐ着手すべきものはleafなので
また、薄くていいので、親もたどるべき?
今着手しているこのタスクが、本来どの要件のためにやってるのかを可視化する
zustandを使った実装も書いてみるかmrsekut.icon
event駆動での、undo/redoはこっちのほうがやりやすいかもしれない
branch作ってみたけど、これはこれできつそう
「〇〇ができる」みたいなのもあるけど、主観的になりがち