これはRegroup再実装プロジェクトの個人用メモのハブページです
- 2021-07-20Movidea開発日記
- 2021-07-26Movidea開発日記
- 2021-07-27Movidea開発日記
- 2021-07-28Movidea開発日記
- 2021-07-29Movidea開発日記
ネーミング
- 一番のコア機能は「思考の断片を動かして整理すること」なので「動かせる」を持ってきた
- 短縮形movidea
なぜ再実装するのか
- 試行錯誤の結果コードが複雑化して新機能追加の障害になっている
- /shokai/Scrapbox開発プロセスを読んで、下記の考え方が大事だなと考えた
- インパクト重視
- 「どこかで見たような物」に近づけない
- やたらと機能を追加しない
- バグらせない
- コードの量を増やすと次の機能のプロトタイピングの邪魔になる
- 必要最小限の機能を最小限のコードで実現する
Not to do
- Canvasを使わない
- 自由な手書き加筆を実装しない
- 投げ縄選択を実装しない
- why?
- Regroupを作り出した時はiPad+Apple Pencilを前提として「手書き加筆がスムーズに可能か」を真っ先に検証した
- 技術的にどの程度まで可能かはわかった(結構いける)が、ユーザニーズ的にはそれほどでもなかった
- これの実現が強い技術的制約を発生させているので、一度封印して別のやり方を模索した方が良い
To do
- なる早テスト
- styled-componentsを使う
- 前回はCanvasだったのでスタイルに関してはJSで定義されていた
- 今回はDOMを使うが、CSSに分離するのはいまいちなので
- ReactN + immer
- 前回はReactを学びながら作ったので組み込みのuseState系を使って作り始めた
- しかし「巨大なホワイトボードに付箋を貼るアプリ」なので親であるAppコンポーネントがほとんどの状態を持つことになる
- 後から知ったReactNの方が目的にあっていた
- 前回はReactを学びながら作ったので組み込みのuseState系を使って作り始めた
次やること
- 前回 2021-07-20Movidea開発日記 その前 2021-07-19Movidea開発日記
- 勘違いの検証をテストケースでカバーしてから選択範囲移動を実装する
検証する
-
Canvasなしで付箋をつくれるか
- 重要な技術的ポイント
- ✅フォントサイズの自動調整ができるか?
- ドラッグでの移動は、まあできるだろう
- テキスト選択との干渉が心配ではある
- 前回はハードコードで実験サンプルを作ったが、後にJSONインポート機能が出来てからそっちを使うようになった、今回はまずそれを作って、テストケースにする
- データにはバージョン文字列を入れる
- 1: 今のRegroupからエクスポートしたJSONを読めるようにする
- データ構造が前のままで良いかという問題は今考えない
- ✅2021-07-14Movidea開発日記
- 2: それを使ってテストケースを作る
- 3: テストでカバーされればデータ構造の変更はやりやすくなる
- →まずReactNを露出してCypressから使うを実現した
- 重要な技術的ポイント
-
スムーズな拡大縮小ができるか
-
データの保存フォーマット周り、バグった時に気づきにくかったりデータロストしたりするからしっかりテストでカバーしたい
- 型では守れない
前回はテストなしで作って、途中からjest-electronでテストし始めた
- テストを想定した設計になっていないことや、非同期処理だらけであることから、テスト可能にしていくことに苦労した
- 結局テストでカバーしきれないままになった
- 今回はReactNを露出してCypressから使う
前回はiPad+Apple Pencil前提だったが、今回はMacBook前提
前回は付箋のワールド座標系がデバイスのそれと密結合だったが、切り離した方が良いと思う
グループ構造
- 子要素へのポインタ
- 描画順?
- 表札
- これはポインタではない
- 子要素でもない
- 子要素になることもできる??
- やめた方が良い
- 単なるテキスト?
- 何度でも更新できる
- edit titleみたいなメニューで
- だからこれは一般の付箋とは違うものだとわかった方が良い
- 開いた時はどうするか
- 以前は表札付箋だったが、これは違う
- 「グループのタイトル」として表示されれば良いのではないか
- 🤔これを解体した時はどうなるべきか
- タイトルがないならそのまま解体でいい
- タイトルがある時、それは知的生産物だから失われてはいけない
- 付箋にする?
- 🤔それをもう一度グループ化した時は?
- 凝ったUIを作らずに付箋を選んでコピペとかでどうか
- 畳んだものは一段階大きくなるといいのでは
- 圧縮付箋の展開時どうなるべきか
- 前回は開いている状態からメニューで閉じ、閉じてる状態からワンクリックで開いた
- 「デフォルト開」と「デフォルト閉」をトグルするようにしよう
- ボーダーで区別する?
考察
done
✅普通のメニューを使う 60eff1fcaff09e0000c6d303
- コンテキストメニュー
- 前回はバルーンメニューにした
- これは適切か?
- メニューの文言が横に書かれているため、ボタンを横に並べるのは細長くなりすぎる
- 古来からのコンテキストメニューみたいに縦並びのメニューが表示された方が良い
- 前回はバルーンメニューにした