diff options
| author | Valentin Popov <valentin@popov.link> | 2026-07-03 16:03:40 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-07-03 16:03:40 +0300 |
| commit | 66804e0bd2821e12ba0ed41de1133cd2b48febfa (patch) | |
| tree | 2ac761d1e75ad7fde37dbd3a46f3b0150be28367 /crates/fparkan-prototype | |
| parent | ee9b318172bf50fadd90e0cfc364330fb85f778a (diff) | |
| download | fparkan-66804e0bd2821e12ba0ed41de1133cd2b48febfa.tar.xz fparkan-66804e0bd2821e12ba0ed41de1133cd2b48febfa.zip | |
feat(stage2): materialize visual dependency graph
Diffstat (limited to 'crates/fparkan-prototype')
| -rw-r--r-- | crates/fparkan-prototype/src/lib.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/crates/fparkan-prototype/src/lib.rs b/crates/fparkan-prototype/src/lib.rs index e85322b..7ee07ad 100644 --- a/crates/fparkan-prototype/src/lib.rs +++ b/crates/fparkan-prototype/src/lib.rs @@ -179,6 +179,16 @@ pub enum PrototypeGraphNodeKind { Prototype, /// Mesh dependency. MeshResource, + /// WEAR dependency. + WearResource, + /// MAT0 dependency. + MaterialResource, + /// TEXM texture dependency. + TextureResource, + /// TEXM lightmap dependency. + LightmapResource, + /// Effect dependency placeholder for later stages. + EffectResource, /// Non-geometric prototype. NonGeometric, } @@ -197,6 +207,17 @@ pub struct PrototypeGraphNode { } impl PrototypeGraphNode { + /// Creates a typed resource node. + #[must_use] + pub fn resource(kind: PrototypeGraphNodeKind, resource: ResourceKey, id: PrototypeGraphNodeId) -> Self { + Self { + id, + kind, + key: None, + resource: Some(resource), + } + } + /// Creates a mesh resource node. #[must_use] pub const fn mesh(resource: ResourceKey, id: PrototypeGraphNodeId) -> Self { @@ -244,6 +265,16 @@ pub enum PrototypeGraphEdgeKind { UnitDatToComponent, /// Prototype to mesh dependency. PrototypeToMesh, + /// Mesh resource to WEAR table. + MeshToWear, + /// WEAR table to MAT0 material. + WearToMaterial, + /// MAT0 material to TEXM texture. + MaterialToTexture, + /// WEAR table to TEXM lightmap. + WearToLightmap, + /// MAT0 material to effect dependency. + MaterialToEffect, } /// Prototype graph edge record. |
