enh(viz): layer should follow the render mode policy
Description
Currently, the render mode policy is only respected by adaptor::render_request()
in the adaptors. When calling layer::render_request()
for instance, the renderMode is ignored. Worst, render:::render_request()
renders "right now" in manual mode, which is confusing.
Consequently, interactions that use layer::render_request()
, for instance, may force a render in manual mode, where we are supposed to have only one trigger of the render, normally by a slot called by "the last updated" in the XML. Actually, anyone can break this, even adaptors if they call layer::render_request()
instead of adaptor::render_request()
.
Functional specifications
The manual mode should always be respected.
Technical specifications
- Create a separate
render:::render_now()
function slot that triggers a render only in manual mode. - Deprecate
render_request
slot. The function is kept but does nothing in manual mode, it only really requests a render in auto mode. -
adaptor::render_request()
andlayer::render_request()
become simple shortcuts torender:::render_request()
.
Test plan
Test applications that use the manual mode, such as tuto17, ex_video_tracking, etc... But also applications in auto mode.