zpd とは
zudo-panel-designer とは何か、何を生成し、モノレポがどのように構成されているかを解説します。
zpd とは
zpd(zudo-panel-designer)は、Takazudo Modular のブランク PCB パネルをデザインするための Web アプリです。ブラウザ上でパネルをレイアウトし——シェイプ、パターン、ベクターパス、テキスト、トレースした画像——その結果を PanelConfig と呼ばれるバージョン付きの注文 JSON としてダウンロードします。このファイルが成果物であり、実際に物理パネルを製造するために送られるものです。
ステージ 1 の段階では、サーバー側にプロジェクトを保存する仕組みはありません。作業中のドキュメントはブラウザのタブが保持し、PanelConfig はそれを持ち運び可能かつ再読み込み可能な形にしたスナップショットです。
設計時データと製造可能なデータ
パネルはレイヤーの積み重ねです(ドキュメントの状態とレイヤーを参照)。ほとんどのレイヤータイプはそのまま製造可能ですが、画像レイヤーは例外です。ラスター画像は製造できません。画像レイヤーは設計時の参照としてのみ存在し、パネルはそこからトレースされたベクターレイヤーをもとに製造されます。
モノレポの構成
| Directory | Package | 役割 |
|---|---|---|
packages/core | @zpd/core | ドキュメントモデル、ジオメトリ/各種オペレーション、アンドゥ/リドゥ履歴。UI もレンダリングも持たない、純粋なデータと関数のみ。 |
packages/patterns | @zpd/patterns | PatternLayer.patternType から利用されるパネルパターンの定義(例: デフォルトのドットグリッドパターン)。 |
packages/app | @zpd/app(private) | エンドユーザーが操作する Vite + React 製のシングルページエディタアプリ。 |
@zpd/core はあえて UI を持ちません。パネルドキュメントが何であるか、そしてどのように編集できるかについての信頼できる唯一の情報源(source of truth)であり、どうレンダリングされるか・どのフレームワークが描画するかとは独立しています。本ドキュメントのドキュメントモデルのセクションで、このパッケージを詳しく説明します。
次に読むもの
パネルの仕上げとサイズ — すべてのパネルが従うべき、固定された製品制約(色・幅・高さ)。
クイックスタート — zpd をローカルで動かすための開発コマンドとポート。
ドキュメントモデル —
DocState/Layerの完全なデータ構造と、その編集契約。