                             continue
                 action = actions[strip.action]
                 scaled_pos = strip_pos/strip.scale
-                # we're ignoring strip.scale, instead we're checking
+                # we're ignoring strip.repeat, instead we're only checking that
                 # we're not exactly at the end or past it (or at the start for reversed)
+                # since the repeat is implicit in the other 5 playback attributes we use
                 if @pos < frame_end and @pos > frame_start
                     # TODO: check we're not off by one when repeating
                     scaled_pos %= action_frame_end - action_frame_start

        # TODO document and distinguish:
        # - methods that one can override (init, step)
        # - members usually assigned in step()
        # - members used in evaluate()
        # - methods for regular usage, that can be chained
        {exclude=[], start_marker, end_marker} = options or {}
        full_exclude_list = []

{mat2, mat3, mat4, vec2, vec3, vec4, quat} = require 'gl-matrix'
{update_ob_physics} = require './physics.coffee'
{clamp} = window
