Reworked the container start up procedure to have avoid doing a deferred geometry generation call in some cases. Now, instead of depending on the auto-calling of deferred loading via export var property setget callbacks, we now avoid doing generation during getting ready.
Added a stress test file which can be used for speed checking of generation in the future, as well as updated unittests to reinforce pre-existing behavior of emitting the on_road_updated signal on RoadContainers even if no road segments are generated (such as having no children, or if clear_existing=false while all road segmetns already have initial meshes in place).
Also improved in-code documentation for export vars.
Breaking change:
The RoadManager.rebuild_all_containers function is no longer a deferred call but will rather block until all segments are built (use the new rebuild_all_containers_deferred function for the old behavior), and also has an argument clear_existing which is off by default now - which means pre-existing callers will move from a full rebuilding of road segments to only rebuilding dirtied/known missing road segments.
Reworked the container start up procedure to have avoid doing a deferred geometry generation call in some cases. Now, instead of depending on the auto-calling of deferred loading via export var property setget callbacks, we now avoid doing generation during getting ready.
Added a stress test file which can be used for speed checking of generation in the future, as well as updated unittests to reinforce pre-existing behavior of emitting the
on_road_updated
signal on RoadContainers even if no road segments are generated (such as having no children, or if clear_existing=false while all road segmetns already have initial meshes in place).Also improved in-code documentation for export vars.
Breaking change:
The
RoadManager.rebuild_all_containers
function is no longer a deferred call but will rather block until all segments are built (use the newrebuild_all_containers_deferred
function for the old behavior), and also has an argumentclear_existing
which is off by default now - which means pre-existing callers will move from a full rebuilding of road segments to only rebuilding dirtied/known missing road segments.