connectionpoints-scope-structure#
Code |
CP.001 |
|---|---|
Validator |
|
Compatibility |
other |
Tags |
🔑 |
Summary#
Connection point prims must be organized under a ConnectionPoints Scope prim that is a direct child of the default prim.
Description#
All thermal, electrical, and airflow connection point geometry must live under a single ConnectionPoints scope. This creates a predictable traversal path for simulation runtimes and tooling to find connection points without scanning the entire stage.
Why is it required?#
Provides a single, discoverable location for all interface geometry
Enables CP.004 (naming validation) and CP.005 (composition check) to function correctly
Required by TC.002 and EL.004 cross-domain validators
Examples#
Each example is a complete stage; the first prim is the default prim.
Valid: the scope is a direct child of the default prim#
def Xform "Generic_CRAH"
{
def Scope "ConnectionPoints"
{
def Mesh "acme_liq_supply_main"
{
}
def Mesh "acme_liq_return_main"
{
}
def Mesh "acme_electrical_nominal_voltage_main"
{
}
}
}
Invalid: the scope sits under a child of the default prim#
Every connection point rule starts from the scope this requirement locates. A scope one level down is never found, so CP.004 and CP.010 to CP.012 walk past its contents and report nothing.
def Xform "Generic_CRAH"
{
def Xform "Geometry"
{
def Scope "ConnectionPoints"
{
def Mesh "acme_liq_supply_main"
{
}
}
}
}
Invalid: ConnectionPoints is an Xform, not a Scope#
def Xform "Generic_CRAH"
{
def Xform "ConnectionPoints"
{
def Mesh "acme_liq_supply_main"
{
}
}
}
Invalid: the scope is empty#
def Xform "Generic_CRAH"
{
def Scope "ConnectionPoints"
{
}
}
Invalid: there is no ConnectionPoints prim#
def Xform "Generic_CRAH"
{
def Scope "Geometry"
{
}
}
A stage with no defaultPrim fails for the same reason: there is no prim to
look under. It cannot be shown as a fenced example because the example harness
supplies a default prim.
How to comply#
Create a USD Scope prim named exactly ConnectionPoints as a direct child of the default prim, then place all connection point geometry prims inside it. In USD Composer, this can be done via right-click in the Stage panel > Create > Scope.