While the action planners work one-by-one, a planning handler
like Syskit's does a global resolution of the whole plan. This
was "hidden" by the current run_planners mechanism as it would
remove finished (but successful) planning tasks instead of passing
them to the planning handler. These tasks are what Syskit uses
to determine what to generate for.
This commit changes the scheme by including all tasks at the beginning,
but letting the handler filter them through a filter_tasks call. If
filter_tasks is not present, the current behavior is retained
While the action planners work one-by-one, a planning handler like Syskit's does a global resolution of the whole plan. This was "hidden" by the current run_planners mechanism as it would remove finished (but successful) planning tasks instead of passing them to the planning handler. These tasks are what Syskit uses to determine what to generate for.
This commit changes the scheme by including all tasks at the beginning, but letting the handler filter them through a filter_tasks call. If filter_tasks is not present, the current behavior is retained