When DiagramBuilder queries for algebraic loops, this can lead to the allocating a default context on an Expression-valued Diagram. When SceneGraph allocates a default context, its default proximity properties are assessed and proximity geometries have the potential to get reified. This is wasted work.
The proximal cause is that the calculation of direct feedthrough for SceneGraph is not resolved by examining the dependency graph and instantiating System<Expression> and its default Context<Expression> is the fallback.
The solution would be to make sure that SceneGraph's output ports explicitly declare their dependencies. Right now it defaults to the "all sources" ticket which is treated by the feed through calculation as meaningless. Simply declaring it dependent on parameter (its GeometryState) and all of its inputs would be sufficient.
What happened?
When
DiagramBuilder
queries for algebraic loops, this can lead to the allocating a default context on anExpression
-valuedDiagram
. WhenSceneGraph
allocates a default context, its default proximity properties are assessed and proximity geometries have the potential to get reified. This is wasted work.The proximal cause is that the calculation of direct feedthrough for
SceneGraph
is not resolved by examining the dependency graph and instantiatingSystem<Expression>
and its defaultContext<Expression>
is the fallback.The solution would be to make sure that
SceneGraph
's output ports explicitly declare their dependencies. Right now it defaults to the "all sources" ticket which is treated by the feed through calculation as meaningless. Simply declaring it dependent on parameter (itsGeometryState
) and all of its inputs would be sufficient.Version
No response
What operating system are you using?
No response
What installation option are you using?
No response
Relevant log output
No response