Class: Vizcore::DSL::TransitionController
- Inherits:
-
Object
- Object
- Vizcore::DSL::TransitionController
- Defined in:
- lib/vizcore/dsl/transition_controller.rb
Overview
Evaluates transition rules and returns scene-change payloads.
Defined Under Namespace
Classes: TriggerContext
Constant Summary collapse
- DEFAULT_FRAME_RATE =
60.0
Instance Method Summary collapse
-
#initialize(scenes:, transitions:, error_reporter: nil) ⇒ TransitionController
constructor
A new instance of TransitionController.
-
#next_transition(scene_name:, audio:, frame_count: 0, elapsed_seconds: nil) ⇒ Hash?
Transition payload when condition matches.
- #update(scenes:, transitions:) ⇒ void
Constructor Details
#initialize(scenes:, transitions:, error_reporter: nil) ⇒ TransitionController
Returns a new instance of TransitionController.
12 13 14 15 |
# File 'lib/vizcore/dsl/transition_controller.rb', line 12 def initialize(scenes:, transitions:, error_reporter: nil) @error_reporter = error_reporter || ->() {} update(scenes: scenes, transitions: transitions) end |
Instance Method Details
#next_transition(scene_name:, audio:, frame_count: 0, elapsed_seconds: nil) ⇒ Hash?
Returns transition payload when condition matches.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/vizcore/dsl/transition_controller.rb', line 30 def next_transition(scene_name:, audio:, frame_count: 0, elapsed_seconds: nil) current = scene_name.to_sym transition = @transitions.find do |entry| entry[:from] == current && trigger_match?(entry, audio, frame_count, elapsed_seconds) end return nil unless transition target_scene = @scenes_by_name[transition[:to]] return nil unless target_scene { from: transition[:from], to: transition[:to], effect: transition[:effect], scene: deep_dup(target_scene) } end |
#update(scenes:, transitions:) ⇒ void
This method returns an undefined value.
20 21 22 23 |
# File 'lib/vizcore/dsl/transition_controller.rb', line 20 def update(scenes:, transitions:) @scenes_by_name = normalize_scenes(scenes) @transitions = normalize_transitions(transitions) end |