MAD Designer iconMAD

8. 未解決の論点

  1. ストアはそもそもCore Dataである必要があるか? 格納している定義は比較的小規模なオブジェクトグラフです。同じSQLiteファイル内に独自スキーマを定義すれば、H3が解消され、フォーマットから最後のApple依存が取り除かれます。また、CLIの実装方針にかかわらずWindows対応の前提条件となります。これは本ドキュメントではなくCore Data移行における設計判断です(※その後、docs/project/MAD_STORE_MIGRATION.mdにてポータブルSQLiteストアへの移行が完了しています)。
  2. サムネイルをドキュメント内に含めるべきか? サムネイルは行キャッシュと同様に再生成可能であり、AdditionalContent/が存在する唯一の理由です。これを除外すれば、.mad内のすべてのメンバが本質的な定義データ(authoritative)のみになります。
  3. .madは任意で行キャッシュを同梱できるようにすべきか? 「パック済み(packed)」バリアントを用意すれば、ファイルサイズと引き換えに、別のデバイスでオフラインのままドキュメントを開けるようになります。現時点ではそのような実装はありませんが、フォーマット名からその機能が期待されやすいため論点として挙げています(§5)。
  4. コンテンツの変更時にレンダーキャッシュを無効化すべきか? 仕組み上の挙動としてはすでに答えが出ています。.madacキャッシュはファイル名とページサイズをキーとしており、コンテンツハッシュを持たないため、同一ファイル名でドキュメントを編集するとファイルが削除されるまで古いページが返されます(§5.3)。未解決なのはプロダクト上の判断——編集時にそれを無効化すべきか——ですが、開発者自身の位置づけとしては「キャッシュは基盤であり、今すぐ変更すべき緊急課題ではない」(§5.1)とされています。そのため、ここでは記録にとどめ、現時点での修正対象とはしていません。

このページは英語原文の日本語翻訳です。内容に相違がある場合は、英語原文が優先されます。