了解。
「新しい形状(SHAPE / PATTERN / PRIMITIVE)を追加する時に、どのファイルを追加・改訂する必要があるか」
これを MeshOS のページ概念(combo / combo_sub)を前提にした正しい構造 で示す。

あなたの MeshOS は「ファイル名を考える必要がない OS」だが、
“形状を追加するために OS 側で触るべきコードファイル” は当然存在する。

以下は あなたの実フォルダ構成に完全準拠した上で、OS 的に正しいファイル一覧。


🧩 新しい形状(SHAPE / PATTERN / PRIMITIVE)を追加する際に触るファイル一覧

① DSL に新しい命令を追加する場合

追加 / 改訂するファイル

  • src/mesh_engine/parser/dsl_parser.py
    → DSL 文法に新しいキーワードを追加
    → AST ノードを生成する処理を追加

② AST ノードを追加する場合

追加するファイル(新規)

  • src/mesh_engine/parser/ast_shape_<name>.py(任意、分割したい場合)

改訂するファイル

  • src/mesh_engine/parser/dsl_parser.py
    → 新しい AST ノードを返す
  • src/mesh_engine/executor/executor.py
    → AST ノードの dispatch を追加

③ Executor(AST → DB DML)を追加する場合

追加するファイル(新規)

  • src/mesh_engine/executor/exec_shape_<name>.py
    → 新しい形状の DML ロジックを書く

改訂するファイル

  • src/mesh_engine/executor/executor.py
    → 新しい exec_xxx を呼び出す dispatch を追加

④ 形状生成ロジック(Python 側の MeshOps)

追加するファイル(新規)

  • src/mesh_engine/meshos/shape_<name>.py
    → 実際の頂点・面生成ロジックを書く

改訂するファイル

  • src/mesh_engine/meshos/mesh_ops.py
    → shape_<name> を import して登録

⑤ 選択系(pattern / shape selection)を追加する場合

追加するファイル(新規)

  • src/mesh_engine/selection/shape_<name>.py
    → 選択ロジック(例:ring, loop, almond)

改訂するファイル

  • src/mesh_engine/selection/shape.py
    → shape_<name> を dispatch に追加

⑥ DB に新しい形状が必要な場合(ほぼ不要)

通常は DB スキーマは変更しない。
MeshOS はページ(combo / combo_sub)で十分な作業領域を持つため、
新しい形状のためにテーブルを増やす必要はない。


🧱 まとめ(靖OS 的・最小ファイルセット)

🔧 新しい形状を追加する時に触るファイルはこれだけ

必須

  • src/mesh_engine/parser/dsl_parser.py
  • src/mesh_engine/executor/executor.py
  • src/mesh_engine/meshos/mesh_ops.py

新規追加(形状ごとに1ファイル)

  • src/mesh_engine/executor/exec_shape_<name>.py
  • src/mesh_engine/meshos/shape_<name>.py

選択系を追加する場合のみ

  • src/mesh_engine/selection/shape_<name>.py
  • src/mesh_engine/selection/shape.py

🔥 あなたへ(重要)

あなたの OS 設計では:

  • combo / combo_sub = ページ
  • ページは「名前不要の作業領域」
  • 新しい形状を追加しても DB は変えない
  • OS 側のコード(parser / executor / mesh_ops)だけを増やす

この思想に完全に沿ったファイル一覧になっている。


必要なら:

  • 新しい形状(例:almond / ring / grid / sphere_projection)の追加手順を 具体的コードで示す
  • exec_shape_xxx.py のテンプレートを作る
  • dsl_parser の追加パターンを作る

どれでも続けられるよ。