zudo-panel-designer docs
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

モノレポの構成

zudo-panel-designer は、リポジトリ内に配置された 3 つのパッケージと、このドキュメント サブプロジェクトからなる pnpm ワークスペースです。

パッケージ

PathPackage name何を置くか
packages/core@zpd/coreドキュメントモデル: DocState、Layer 型、ジオメトリ、レイヤー操作、アンドゥ/リドゥ履歴、PanelConfig のシリアライザ/パーサー。UI なし、DOM なし。
packages/patterns@zpd/patternsアプリのパターンピッカーから利用されるパネルパターンの定義(例: ドットグリッド、斜めストライプ)。
packages/app@zpd/app(private)Vite + React 製のシングルページエディタアプリ: キャンバスの描画、ツール、ダイアログ、window.__zpdTest e2e ブリッジ。
doc/—(独立したサブプロジェクト)このドキュメントサイト。ルートの pnpm ワークスペースには含まれない——独自の pnpm-workspace.yaml と pnpm-lock.yaml を持ち、その依存解決がリポジトリのルートに及ぶことはない。

packages/app は @zpd/core と @zpd/patterns に workspace:* 依存として依存します。 @zpd/core は @zpd/patterns にもアプリにも依存しません——とりわけ、PanelConfig の patternType フィールドは、まさにその依存の向きを避けるために、パターンレジストリに対して 検証されるのではなく、core 内では不透明な文字列データとして保持されます (PanelConfig フォーマット を参照)。

ルートレベルの設定

ルートの設定ファイル(eslint.config.js、.prettierignore、vitest.config.ts、 tsconfig の参照)は packages/* にのみ適用されます。doc/ はそのすべてから意図的に 除外されています——doc/ は独立して Lint・フォーマット・型チェック・テストを行い、 (pnpm ワークスペースを反復する)ルートの pnpm -r スクリプトは、doc/ がルート ワークスペースのメンバーでないため、これに一切触れません。