Source: emel/text/jinja/formatter/sm.hpp
stateDiagram-v2
direction TB
[*] --> initialized
initialized --> request_decision : render_runtime [valid_render_] / begin_render_
initialized --> result_decision : render_runtime [invalid_render_with_callbacks_] / reject_invalid_render_
initialized --> errored : render_runtime [invalid_render_without_callbacks_] / reject_invalid_render_
done --> request_decision : render_runtime [valid_render_] / begin_render_
done --> result_decision : render_runtime [invalid_render_with_callbacks_] / reject_invalid_render_
done --> errored : render_runtime [invalid_render_without_callbacks_] / reject_invalid_render_
errored --> request_decision : render_runtime [valid_render_] / begin_render_
errored --> result_decision : render_runtime [invalid_render_with_callbacks_] / reject_invalid_render_
errored --> errored : render_runtime [invalid_render_without_callbacks_] / reject_invalid_render_
unexpected --> request_decision : render_runtime [valid_render_] / begin_render_
unexpected --> result_decision : render_runtime [invalid_render_with_callbacks_] / reject_invalid_render_
unexpected --> errored : render_runtime [invalid_render_without_callbacks_] / reject_invalid_render_
request_decision --> result_decision : completion_render_runtime_ [source_empty_] / mark_empty_output_
request_decision --> copy_exec : completion_render_runtime_ [copy_ready_] / copy_source_text_
request_decision --> result_decision : completion_render_runtime_ [source_overflow_] / mark_capacity_error_
copy_exec --> result_decision : completion_render_runtime_ [always] / none
result_decision --> done : completion_render_runtime_ [request_ok_] / dispatch_done_
result_decision --> errored : completion_render_runtime_ [request_failed_] / dispatch_error_
initialized --> unexpected : _ [always] / on_unexpected_
request_decision --> unexpected : _ [always] / on_unexpected_
copy_exec --> unexpected : _ [always] / on_unexpected_
result_decision --> unexpected : _ [always] / on_unexpected_
done --> unexpected : _ [always] / on_unexpected_
errored --> unexpected : _ [always] / on_unexpected_
unexpected --> unexpected : _ [always] / on_unexpected_