Skip to content

Instantly share code, notes, and snippets.

@Arakade
Created June 7, 2019 20:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Arakade/97f7dc00d7e481d1468b7f72153642a5 to your computer and use it in GitHub Desktop.
Save Arakade/97f7dc00d7e481d1468b7f72153642a5 to your computer and use it in GitHub Desktop.
GraphViz file for Unity3D ECS including new Unity.Physics and showing spaces for its various callback groups.
# GraphViz file for Unity3D ECS including new Unity.Physics and showing spaces for its various callback groups.
# Render with:
# dot -Tpng ECS-Unity.Physics.dot -o ECS-Unity.Physics.png
#
# License: CC-SA (BY appreciated but not required)
# Original version: @Arakade Rupert Key, 2019/06/07
digraph "Unity.Physics" {
label="ECS + Unity.Physics jobs and phases"
compound=true
subgraph "cluster_SimulationSystemGroup" {
label="SimulationSystemGroup"
"SimulationSystemGroup" [shape="none" fontsize=0 width=0 fontcolor="white"]
"BeginSimulationEntityCommandBufferSystem"
subgraph "cluster_TransformSystemGroup" {
label="TransformSystemGroup"
"TransformSystemGroup" [shape="none" fontsize=0 width=0 fontcolor="white"]
"CopyTransformToGameObjectSystem" -> "EndFrameLocalToParentSystem" -> "EndFrameTRSToLocalToParentSystem" -> "EndFrameTRSToLocalToWorldSystem" -> "CopyTransformFromGameObjectSystem" -> "EndFrameParentSystem"
}
subgraph "cluster_LateSimulationSystemGroup" {
label="LateSimulationSystemGroup"
"LateSimulationSystemGroup" [shape="none" fontsize=0 width=0 fontcolor="white"]
}
"EndSimulationEntityCommandBufferSystem"
# It's not an actual group -- just jobs in the SimulationSystemGroup
subgraph "cluster_UnityPhysics_NotGroup" {
style="dotted"
label="Unity.Physics"
subgraph "cluster_StepPhysicsWorld_NotGroup" {
style="dotted"
label="StepPhysicsWorld"
subgraph "cluster_PostCreateDispatchPairs" {
label="PostCreateDispatchPairs"
"PostCreateDispatchPairs" [shape="none" fontsize=0 width=0 fontcolor="white"]
}
subgraph "cluster_PostCreateContacts" {
label="PostCreateContacts"
"PostCreateContacts" [shape="none" fontsize=0 width=0 fontcolor="white"]
}
subgraph "cluster_PostCreateContactJacobians" {
label="PostCreateContactJacobians"
"PostCreateContactJacobians" [shape="none" fontsize=0 width=0 fontcolor="white"]
}
subgraph "cluster_PostSolveJacobians" {
label="PostSolveJacobians"
"PostSolveJacobians" [shape="none" fontsize=0 width=0 fontcolor="white"]
}
"StepPhysicsWorld" -> "PostCreateDispatchPairs" [lhead="cluster_PostCreateDispatchPairs"]
"PostCreateDispatchPairs" -> "PostCreateContacts" [ltail="cluster_PostCreateDispatchPairs" lhead="cluster_PostCreateContacts"]
"PostCreateContacts" -> "PostCreateContactJacobians" [ltail="cluster_PostCreateContacts" lhead="cluster_PostCreateContactJacobians"]
"PostCreateContactJacobians" -> "PostSolveJacobians" [ltail="cluster_PostCreateContactJacobians" lhead="cluster_PostSolveJacobians"]
}
"UnityPhysicsNotGroup" [shape="none" fontsize=0 width=0 fontcolor="white"]
"BuildPhysicsWorld" -> "StepPhysicsWorld" [lhead="cluster_StepPhysicsWorld_NotGroup"]
"StepPhysicsWorld" -> "ExportPhysicsWorld" [ltail="cluster_StepPhysicsWorld_NotGroup"]
"ExportPhysicsWorld" -> "EndFramePhysicsSystem"
"ExportPhysicsWorld" -> "TransformSystemGroup" [lhead="cluster_TransformSystemGroup"]
"BuildPhysicsWorld" -> "EndFramePhysicsSystem"
"StepPhysicsWorld" -> "EndFramePhysicsSystem" [ltail="cluster_StepPhysicsWorld_NotGroup"]
}
}
"SimulationSystemGroup" -> "BeginSimulationEntityCommandBufferSystem"
"SimulationSystemGroup" -> "BuildPhysicsWorld"
"BeginSimulationEntityCommandBufferSystem" -> "TransformSystemGroup" [lhead="cluster_TransformSystemGroup"]
"TransformSystemGroup" -> "LateSimulationSystemGroup" [ltail="cluster_TransformSystemGroup" lhead="cluster_LateSimulationSystemGroup"]
"EndFrameParentSystem"
"CopyTransformFromGameObjectSystem"
"EndFrameTRSToLocalToWorldSystem"
"EndFrameTRSToLocalToParentSystem"
"EndFrameLocalToParentSystem"
"CopyTransformToGameObjectSystem"
"EndSimulationEntityCommandBufferSystem"
"StepPhysicsWorld"
"BuildPhysicsWorld"
"ExportPhysicsWorld"
"EndFramePhysicsSystem"
"LateSimulationSystemGroup" -> "EndSimulationEntityCommandBufferSystem" [ltail="cluster_LateSimulationSystemGroup"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment