Skip to content

Commit 8c8d1e3

Browse files
committed
feat(pipeline): set master pipeline as default and update legacy options
Update the master pipeline to be the default setting, enhancing the asset processing workflow with a complete DAG. Introduce options for legacy paths, allowing users to revert to the previous pipeline structure. Adjust related configurations and documentation to reflect these changes, ensuring clarity on the new defaults and legacy usage.
1 parent ca8e8ea commit 8c8d1e3

6 files changed

Lines changed: 32 additions & 14 deletions

File tree

GameAssets/src/gameassets/batch_cmd.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,9 @@
254254
"master_pipeline_flag",
255255
default=None,
256256
help=(
257-
"Activa o novo DAG (LOD0 master, transfer-weights, validate). "
258-
"Override do ``master_pipeline`` no game.yaml."
257+
"Round 2: master pipeline é o default. Use --legacy-pipeline para o "
258+
"caminho antigo (text3d generate → paint3d → text3d lod → rigging3d → "
259+
"animator3d sequencial). Override do ``master_pipeline`` no game.yaml."
259260
),
260261
)
261262
def batch_cmd(

GameAssets/src/gameassets/dream/emitter.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ def emit_game_yaml(plan: DreamPlan, *, with_audio: bool = True) -> str:
4242
"export_origin": "feet",
4343
}
4444
doc["paint3d"] = {"preserve_origin": True}
45+
# Round 2 — master pipeline default ON.
46+
doc["master_pipeline"] = True
47+
doc["master_validate"] = True
48+
doc["master_bake_normals"] = False
4549

4650
has_rig = any(a.generate_rig for a in plan.assets)
4751
if has_rig:

GameAssets/src/gameassets/profile.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,11 @@ class GameProfile:
244244
# Stage 4 — bake-master pipeline (LOD0 master, transfer-weights, validate).
245245
# Defeito False (legacy); ativar via game.yaml ``master_pipeline: true`` ou
246246
# CLI ``--master-pipeline`` em ``gameassets batch``.
247-
master_pipeline: bool = False
247+
# Round 2: master pipeline é o default. DAG completo (topology-fix →
248+
# bake-master → LOD → collision → rigging → transfer-weights → animate →
249+
# promote → validate). Para forçar o caminho legacy use
250+
# ``master_pipeline: false`` em game.yaml ou ``--legacy-pipeline`` no batch.
251+
master_pipeline: bool = True
248252
master_validate: bool = True
249253
master_bake_normals: bool = False
250254
# Round 2: lista override de categorias que ativam bake-normals.
@@ -767,7 +771,7 @@ def from_dict(cls, data: dict[str, Any]) -> GameProfile:
767771
collision=coll,
768772
terrain3d=ter,
769773
generation=gen_name,
770-
master_pipeline=bool(data.get("master_pipeline", False)),
774+
master_pipeline=bool(data.get("master_pipeline", True)),
771775
master_validate=bool(data.get("master_validate", True)),
772776
master_bake_normals=bool(data.get("master_bake_normals", False)),
773777
master_bake_normals_categories=(

GameAssets/src/gameassets/templates.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,18 @@
7373
paint3d:
7474
preserve_origin: true
7575
76+
# Round 2 — master pipeline (default ON). DAG completo:
77+
# topology-fix → bake-master → LOD → collision → rigging → transfer-weights
78+
# → animate → promote (lod0=animated/rigged/painted) → validate.
79+
# Outputs em meshes/ ficam todos finalizados (KTX2+meshopt+tangents);
80+
# intermediários (shape/painted/clean/rigged_hi) movidos para meshes/_intermediate/.
81+
# Use master_pipeline: false (ou --legacy-pipeline no batch) para o caminho antigo.
82+
master_pipeline: true
83+
master_validate: true
84+
# bake_normals resolvido por categoria (humanoid/creature/armor/weapon/chest/tool
85+
# ON; resto OFF). master_bake_normals: true força globalmente.
86+
master_bake_normals: false
87+
7688
# Rigging3D após Text3D (--with-rig + pipeline "rig" no manifest). Requer bash, GPU CUDA; ver Rigging3D/README.md.
7789
# rigging3d:
7890
# output_suffix: "_rigged"

GameAssets/tests/test_pipeline_redesign.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ def test_master_pipeline_profile_default() -> None:
7272
"style_preset": "w",
7373
}
7474
)
75-
assert p.master_pipeline is False
75+
# Round 2: master_pipeline é o default ON (promovido para default).
76+
assert p.master_pipeline is True
7677
assert p.master_validate is True
7778
assert p.master_bake_normals is False
7879

VibeGame/examples/simple-rpg/sample-gameassets/game.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,12 @@ image_ext: png
1010
seed_base: 42
1111
generation: medium
1212

13-
# Round 2 — usar o novo master pipeline (DAG completo: topology-fix →
14-
# bake-master → LOD → collision → rigging → transfer-weights → animate →
15-
# validate). Outputs em meshes/ ficam todos finalizados (KTX2+meshopt+tangents);
16-
# intermediários (shape/painted/clean/rigged_hi) movidos para meshes/_intermediate/.
17-
master_pipeline: true
13+
# Round 2 — master pipeline (default ON desde Round 2).
14+
# DAG: topology-fix → bake-master → LOD → collision → rigging →
15+
# transfer-weights → animate → promote (lod0=animated/rigged/painted) → validate.
16+
# Para forçar legacy: master_pipeline: false (ou --legacy-pipeline no batch).
1817
master_validate: true
19-
# bake_normals resolvido por categoria (humanoid/creature/armor/weapon/chest/tool
20-
# ON; resto OFF). Use master_bake_normals: true para forçar globalmente, ou
21-
# master_bake_normals_categories: [...] para customizar a lista.
22-
master_bake_normals: false
18+
master_bake_normals: false # smart-defaults por categoria (humanoid/creature/...)
2319
negative_keywords:
2420
- gore
2521
- realistic

0 commit comments

Comments
 (0)