Tasmota/lib/libesp32/berry_animation/anim_examples/compiled/compilation_summary.md

216 KiB

DSL Compilation Summary

Overview

This document contains a summary of the DSL compilation process, including symbol tables and compilation outputs for all processed files.

heartbeat_pulse.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
background animation
beacon_animation animation_constructor ⚠️
center_pulse animation
heart_bg color
heart_glow animation
heartbeat1 animation
heartbeat2 animation
smooth value_provider_constructor ⚠️
solid animation_constructor ⚠️
square value_provider_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF110000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='heart_bg_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='150', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 150
  provider.duty_cycle = 20
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFCC0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='150', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 180
  provider.duration = 150
  provider.duty_cycle = 15
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFF660000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 30
  provider.max_value = 100
  provider.duration = 1000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 200
  provider.duration = 100
  provider.duty_cycle = 10
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
SUCCESS

twinkle_stars.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
background animation
bright_flash animation
night_sky color
solid animation_constructor ⚠️
stars animation
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF000033', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='night_sky_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFAA', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='300', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

sequence_assignments_demo.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
blue color
brightness_demo sequence
brightness_high variable
brightness_low variable
closure_value value_provider_constructor ⚠️
color_cycle color_constructor ⚠️
cosine_osc value_provider_constructor ⚠️
cosine_val value_provider
cylon_eye sequence
eye_color color
eye_palette palette
green color
main_demo sequence
multi_change sequence
pulsating_animation animation_constructor ⚠️
pulse_demo animation
red_eye animation
red color
repeat_demo sequence
strip_len value_provider
strip_length value_provider_constructor ⚠️
triangle_val value_provider
triangle value_provider_constructor ⚠️
violet color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.triangle(engine)
  provider.min_value = 0
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = 5000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.cosine_osc(engine)
  provider.min_value = 0
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = 5000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='64', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='eye_palette_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='eye_color_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='cosine_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='triangle_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='cosine_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_low_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_high_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_low_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='0xFF008000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_high_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=6 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='triangle_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='cosine_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='triangle_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='cosine_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_low_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_high_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_low_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='0xFF008000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_high_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
SUCCESS

fire_flicker.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
LINEAR constant
fire_base_color color
fire_base animation
fire_colors palette
fire_flicker animation
flicker_pattern color
rich_palette color_constructor ⚠️
smooth value_provider_constructor ⚠️
solid animation_constructor ⚠️
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='fire_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='fire_base_color_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='800', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 180
  provider.max_value = 255
  provider.duration = 800
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='fire_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='flicker_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

demo_shutter_rainbow_central.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
blue color
green color
indigo color
orange color
rainbow_with_white palette
red color
shutter_central template
white color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='(strip_len_ + 1) / 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure '(strip_len_ + 1) / 2'
=== transform_expression_for_closure '(animation.resolve(strip_len_) + 1) / 2'
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = strip_len_
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len2_ - (shutter_size_ + 1) / 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len2_ - (shutter_size_ + 1) / 2'
=== transform_expression_for_closure 'animation.resolve(strip_len2_) - (animation.resolve(shutter_size_) + 1) / 2'
> process_value context=1 result=ExpressionResult(expr='shutter_size_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len2_ - (strip_len_ - shutter_size_ + 1) / 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len2_ - (strip_len_ - shutter_size_ + 1) / 2'
=== transform_expression_for_closure 'animation.resolve(strip_len2_) - (animation.resolve(strip_len_) - animation.resolve(shutter_size_) + 1) / 2'
> process_value context=1 result=ExpressionResult(expr='strip_len_ - shutter_size_', funcs=false, vars=true, props=false, comp=true, type=value_provider, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - shutter_size_'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - animation.resolve(shutter_size_)'
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='col1_.palette_size', funcs=false, vars=false, props=true, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='col1_.palette_size', funcs=false, vars=false, props=true, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='rainbow_with_white_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

disco_strobe.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
LINEAR constant
beacon_animation animation_constructor ⚠️
disco_base animation
disco_colors palette
disco_pulse animation
disco_rich_color color
disco_sparkles animation
pulse_pattern color
rich_palette color_constructor ⚠️
sawtooth value_provider_constructor ⚠️
solid animation_constructor ⚠️
sparkle_pattern color
square value_provider_constructor ⚠️
twinkle_animation animation_constructor ⚠️
white_flash animation

Compilation Output

> process_value context=1 result=ExpressionResult(expr='disco_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='disco_rich_color_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 100
  provider.duty_cycle = 30
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 50
  provider.duty_cycle = 10
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='disco_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='sparkle_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='80', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='disco_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='800', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='pulse_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='56', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 4
  provider.max_value = 56
  provider.duration = 2000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
SUCCESS

test_simple_math.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
closure_value value_provider_constructor ⚠️
x variable
y variable

Compilation Output

> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='x_ + 4', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'x_ + 4'
=== transform_expression_for_closure 'animation.resolve(x_) + 4'
SUCCESS

matrix_rain.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
LINEAR constant
background animation
code_flash animation
comet_animation animation_constructor ⚠️
matrix_bg color
matrix_greens palette
rich_palette color_constructor ⚠️
solid animation_constructor ⚠️
stream1_pattern color
stream1 animation
stream2_pattern color
stream2 animation
stream3_pattern color
stream3 animation
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF000000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='matrix_bg_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='matrix_greens_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='stream1_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='matrix_greens_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1800', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='stream2_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='matrix_greens_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='stream3_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1800', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFF00FFAA', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='150', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

demo_shutter_rainbow2.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
PALETTE_RAINBOW palette_constant
beacon_animation animation_constructor ⚠️
col1 color
col2 color
color_cycle color_constructor ⚠️
duration variable
sawtooth value_provider_constructor ⚠️
shutter_animation animation
shutter_run sequence
shutter_size value_provider
strip_len value_provider
strip_length value_provider_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = strip_len_
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='animation.PALETTE_RAINBOW', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.PALETTE_RAINBOW', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='shutter_size_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

scanner_larson.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
background animation
beacon_animation animation_constructor ⚠️
pos_test value_provider
scanner_bg color
scanner_trail animation
scanner animation
solid animation_constructor ⚠️
triangle value_provider_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF110000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='scanner_bg_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='57', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.triangle(engine)
  provider.min_value = 2
  provider.max_value = 57
  provider.duration = 2000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFF660000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='57', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.triangle(engine)
  provider.min_value = 2
  provider.max_value = 57
  provider.duration = 2000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='pos_test_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='128', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

test_complex_template.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
fire_palette palette
ocean_palette palette
rainbow_pulse template

Compilation Output

> process_value context=1 result=ExpressionResult(expr='pal1_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='cycle_color_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='back_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='fire_palette_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='ocean_palette_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0xFF001100', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
SUCCESS

demo_shutter_rainbow_leftright.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
blue color
green color
indigo color
orange color
rainbow_with_white palette
red color
shutter_lr template
white color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = strip_len_
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='shutter_size_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='rainbow_with_white_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

candy_cane.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
candy_red color
candy_white color
move_speed variable
sawtooth value_provider_constructor ⚠️
stripe10 animation
stripe1 animation
stripe2 animation
stripe3 animation
stripe4 animation
stripe5 animation
stripe6 animation
stripe7 animation
stripe8 animation
stripe9 animation

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_red_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_white_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='9', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_red_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_white_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='21', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_red_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='27', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_white_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='33', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_red_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='39', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_white_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='45', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_red_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='51', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='candy_white_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='57', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='63', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 3
  provider.max_value = 63
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='9', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='69', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 9
  provider.max_value = 69
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='75', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 15
  provider.max_value = 75
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='21', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='81', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 21
  provider.max_value = 81
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='27', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='87', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 27
  provider.max_value = 87
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='33', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='93', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 33
  provider.max_value = 93
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='39', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='99', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 39
  provider.max_value = 99
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='45', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='105', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 45
  provider.max_value = 105
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='51', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='111', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 51
  provider.max_value = 111
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='57', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='117', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='move_speed_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 57
  provider.max_value = 117
  provider.duration = move_speed_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
SUCCESS

fail_color_predefined.anim

Status: Failed

Compilation Output

DSL compilation failed
Errors:
  Line 4: Cannot redefine predefined color 'red'. Use a different name like 'red_custom' or 'my_red'

test_shutter_rainbow_bidir.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
blue color
green color
indigo color
orange color
rainbow_with_white palette
red color
shutter_bidir template
white color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ + 0', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ + 0'
=== transform_expression_for_closure 'animation.resolve(strip_len_) + 0'
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) + 0 end)
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='shutter_size_ + 0', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'shutter_size_ + 0'
=== transform_expression_for_closure 'animation.resolve(shutter_size_) + 0'
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - shutter_size_', funcs=false, vars=true, props=false, comp=true, type=value_provider, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - shutter_size_'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - animation.resolve(shutter_size_)'
> process_value context=1 result=ExpressionResult(expr='0 + 0', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='col1_.palette_size', funcs=false, vars=false, props=true, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='col1_.palette_size', funcs=false, vars=false, props=true, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='rainbow_with_white_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

property_assignment_demo.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
blue_custom color
center_pulse animation
demo sequence
green_custom color
left_pulse animation
red_custom color
right_pulse animation

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFF00FF00', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='red_custom_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='blue_custom_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='green_custom_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='45', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='150', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

cylon_generic.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
cylon_effect template
red color
transparent color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='eye_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='back_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(-1)', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.cosine_osc(engine)
  provider.min_value = (-1)
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0x00000000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

cylon_rainbow.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
closure_value value_provider_constructor ⚠️
color_cycle color_constructor ⚠️
cosine_osc value_provider_constructor ⚠️
cosine_val value_provider
cylon_eye sequence
eye_color color
eye_duration variable
eye_palette palette
green color
red_eye animation
red color
strip_len value_provider
strip_length value_provider_constructor ⚠️
triangle_val value_provider
triangle value_provider_constructor ⚠️
violet color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='eye_palette_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='eye_duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.cosine_osc(engine)
  provider.min_value = 0
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = eye_duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='eye_duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.triangle(engine)
  provider.min_value = 0
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = eye_duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='eye_color_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='cosine_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='triangle_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='cosine_val_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

demo_shutter_rainbow_bidir.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
blue color
green color
indigo color
orange color
rainbow_with_white palette
red color
shutter_bidir template
white color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = strip_len_
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='shutter_size_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - shutter_size_', funcs=false, vars=true, props=false, comp=true, type=value_provider, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - shutter_size_'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - animation.resolve(shutter_size_)'
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='col1_.palette_size', funcs=false, vars=false, props=true, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='col1_.palette_size', funcs=false, vars=false, props=true, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='rainbow_with_white_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

christmas_tree.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
LINEAR constant
beacon_animation animation_constructor ⚠️
comet_animation animation_constructor ⚠️
garland_pattern color
garland animation
ornament_colors palette
ornament_pattern color
ornaments animation
rich_palette color_constructor ⚠️
smooth value_provider_constructor ⚠️
snow_sparkles animation
solid animation_constructor ⚠️
tree_base animation
tree_green color
tree_star animation
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF006600', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='tree_green_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='ornament_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='ornament_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='800', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFF00', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='58', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 200
  provider.max_value = 255
  provider.duration = 2000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='400', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='ornament_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='garland_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

plasma_wave.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
SINE constant
beacon_animation animation_constructor ⚠️
plasma_base animation
plasma_colors palette
plasma_wave1 animation
plasma_wave2 animation
plasma_wave3 animation
rich_palette_animation animation_constructor ⚠️
rich_palette color_constructor ⚠️
smooth value_provider_constructor ⚠️
wave1_pattern color
wave2_pattern color
wave3_pattern color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='plasma_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='plasma_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='wave1_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='40', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 0
  provider.max_value = 40
  provider.duration = 8000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='plasma_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='wave2_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='45', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='45', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 45
  provider.max_value = 15
  provider.duration = 10000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='plasma_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='220', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='wave3_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 20
  provider.max_value = 50
  provider.duration = 6000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='150', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 150
  provider.max_value = 255
  provider.duration = 12000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
SUCCESS

ocean_waves.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
SINE constant
beacon_animation animation_constructor ⚠️
foam animation
ocean_base animation
ocean_colors palette
rich_palette_animation animation_constructor ⚠️
rich_palette color_constructor ⚠️
sawtooth value_provider_constructor ⚠️
twinkle_animation animation_constructor ⚠️
wave1_pattern color
wave1 animation
wave2_pattern color
wave2 animation

Compilation Output

> process_value context=1 result=ExpressionResult(expr='ocean_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='ocean_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='wave1_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='48', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = 48
  provider.duration = 5000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='ocean_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='wave2_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='52', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='52', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='7000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 52
  provider.max_value = 8
  provider.duration = 7000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='300', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

swipe_rainbow.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
blue color
color_cycle color_constructor ⚠️
green color
indigo color
olivary color
orange color
palette_olivary palette
red color
slide_colors sequence
solid animation_constructor ⚠️
strip_len value_provider
strip_length value_provider_constructor ⚠️
swipe_animation animation
violet color
white color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='palette_olivary_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='olivary_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

meteor_shower.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
background animation
comet_animation animation_constructor ⚠️
meteor1 animation
meteor2 animation
meteor3 animation
meteor4 animation
meteor_flash animation
solid animation_constructor ⚠️
space_bg color
stars animation
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF000011', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='space_bg_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFAA00', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFAAAAFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1800', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFAAAA', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='14', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFCCCCCC', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='25', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

palette_demo.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
PALETTE_FOREST palette_constant
fire_anim animation
fire_colors palette
forest_anim animation
ocean_anim animation
ocean_colors palette
palette_demo sequence
rich_palette_animation animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='fire_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='ocean_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.PALETTE_FOREST', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

fail_value_provider_add.anim

Status: Failed

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.linear(engine) + nil', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation.linear(engine) + nil'
=== transform_expression_for_closure 'animation.linear(engine) + nil'
> process_value context=1 result=ExpressionResult(expr='animation.triangle(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='animation.linear(engine) + nil', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation.linear(engine) + nil'
=== transform_expression_for_closure 'animation.linear(engine) + nil'
DSL compilation failed
Errors:
  Line 4: Function 'triangle' cannot be used in computed expressions. This creates a new instance at each evaluation. Use either:
  set var_name = triangle()  # Single function call
  set computed = (existing_var + 1) / 2  # Computation with existing values
  Line 6: Function 'triangle' cannot be used in computed expressions. This creates a new instance at each evaluation. Use either:
  set var_name = triangle()  # Single function call
  set computed = (existing_var + 1) / 2  # Computation with existing values

fail_name_predefined.anim

Status: Failed

Compilation Output

DSL compilation failed
Errors:
  Line 4: Cannot redefine built-in symbol 'abs' (type: 4). Use a different name like 'abs_custom' or 'my_abs'

test_shutter_rainbow_central.anim

Status: Failed

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='(strip_len_ + 1) / 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure '(strip_len_ + 1) / 2'
=== transform_expression_for_closure '(animation.resolve(strip_len_) + 1) / 2'
> process_value context=1 result=ExpressionResult(expr='1 + nil', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(nil)', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.sawtooth(engine)
  provider.min_value = 0
  provider.max_value = strip_len_
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='colors_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col2_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='col1_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len3_ - shutter_size_ / 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len3_ - shutter_size_ / 2'
=== transform_expression_for_closure 'animation.resolve(strip_len3_) - animation.resolve(shutter_size_) / 2'
> process_value context=1 result=ExpressionResult(expr='shutter_size_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='rainbow_with_white_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=4 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
DSL compilation failed
Errors:
  Line 38: Template 'shutter_central' body error: Line 12: Function 'strip_length' cannot be used in computed expressions. This creates a new instance at each evaluation. Use either:
  set var_name = strip_length()  # Single function call
  set computed = (existing_var + 1) / 2  # Computation with existing values
  Line 38: Template 'shutter_central' body error: Line 13: Function 'strip_length' cannot be used in computed expressions. This creates a new instance at each evaluation. Use either:
  set var_name = strip_length()  # Single function call
  set computed = (existing_var + 1) / 2  # Computation with existing values
  Line 38: Template 'shutter_central' body error: Line 13: Expected ')'

sunrise_sunset.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
daylight_colors palette
daylight_cycle animation
rich_palette_animation animation_constructor ⚠️
smooth value_provider_constructor ⚠️
stars animation
sun_glow animation
sun_position animation
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='daylight_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='60000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFAA', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='55', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 5
  provider.max_value = 55
  provider.duration = 30000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 30000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFCC88', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='16', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='55', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 5
  provider.max_value = 55
  provider.duration = 30000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='150', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 0
  provider.max_value = 150
  provider.duration = 30000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 255
  provider.max_value = 0
  provider.duration = 30000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
SUCCESS

simple_palette.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
blue color
demo sequence
green color
orange color
rainbow_cycle animation
rainbow palette
red color
rich_palette_animation animation_constructor ⚠️
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='rainbow_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

demo_pattern_fire_opacity.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
background animation
beacon_animation animation_constructor ⚠️
closure_value value_provider_constructor ⚠️
cosine_osc value_provider_constructor ⚠️
eye_mask animation
eye_pos value_provider
fire_color color
fire_colors palette
fire_pattern animation
palette_gradient_animation animation_constructor ⚠️
rich_palette color_constructor ⚠️
solid animation_constructor ⚠️
strip_len value_provider
strip_length value_provider_constructor ⚠️
transparent color
white color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='fire_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFF000088', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(-1)', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='6000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.cosine_osc(engine)
  provider.min_value = (-1)
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = 6000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0x00000000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='eye_pos_', funcs=false, vars=true, props=false, comp=false, type=value_provider, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='fire_color_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ / 4', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ / 4'
=== transform_expression_for_closure 'animation.resolve(strip_len_) / 4'
> process_value context=1 result=ExpressionResult(expr='eye_mask_', funcs=false, vars=true, props=false, comp=false, type=animation, instance=nil)
SUCCESS

neon_glow.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
LINEAR constant
arc_sparkles animation
beacon_animation animation_constructor ⚠️
neon_colors palette
neon_main animation
neon_surge animation
rich_palette_animation animation_constructor ⚠️
rich_palette color_constructor ⚠️
segment1 animation
segment2 animation
segment3 animation
segment_pattern color
smooth value_provider_constructor ⚠️
solid animation_constructor ⚠️
square value_provider_constructor ⚠️
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='neon_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='220', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 220
  provider.max_value = 255
  provider.duration = 200
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 50
  provider.duty_cycle = 2
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='neon_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.LINEAR', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='segment_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='segment_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='24', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='segment_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='42', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFAAAAFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

cylon_red_eye.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
closure_value value_provider_constructor ⚠️
cosine_osc value_provider_constructor ⚠️
red_eye animation
red color
strip_len value_provider
strip_length value_provider_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.cosine_osc(engine)
  provider.min_value = 0
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = 5000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

import_demo.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
abs math_function
blue color
breathing_blue animation
closure_value value_provider_constructor ⚠️
dynamic_green animation
green color
import_demo sequence
max math_function
min math_function
rand_demo user_function
random_red animation
red color
solid animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation.get_user_function('rand_demo')(engine)'
=== transform_expression_for_closure 'animation.get_user_function('rand_demo')(engine)'
> process_value context=1 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine) + 100', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation._math.max(50, animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100))', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.max(50, animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100))'
=== transform_expression_for_closure 'animation._math.max(50, animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100))'
> process_value context=1 result=ExpressionResult(expr='0xFF008000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine) - 128', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation._math.abs(animation.get_user_function('rand_demo')(engine) - 128) + 64', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.abs(animation.get_user_function('rand_demo')(engine) - 128) + 64'
=== transform_expression_for_closure 'animation._math.abs(animation.get_user_function('rand_demo')(engine) - 128) + 64'
SUCCESS

lava_lamp.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
SINE constant
beacon_animation animation_constructor ⚠️
blob1_pattern color
blob2_pattern color
blob3_pattern color
heat_shimmer animation
lava_base animation
lava_blob1 animation
lava_blob2 animation
lava_blob3 animation
lava_colors palette
rich_palette_animation animation_constructor ⚠️
rich_palette color_constructor ⚠️
shimmer_pattern color
smooth value_provider_constructor ⚠️
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='lava_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='lava_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='blob1_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='9', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='18', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='9', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='51', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 9
  provider.max_value = 51
  provider.duration = 20000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='lava_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='220', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='blob2_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='46', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='14', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='46', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='14', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='25000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 46
  provider.max_value = 14
  provider.duration = 25000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='lava_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='blob3_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='25', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='25', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='35', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='18000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 25
  provider.max_value = 35
  provider.duration = 18000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='lava_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='shimmer_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='1500', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

police_lights.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
beacon_animation animation_constructor ⚠️
half_length variable
left_red animation
right_blue animation
solid animation_constructor ⚠️
square value_provider_constructor ⚠️
white_strobe animation

Compilation Output

> process_value context=1 result=ExpressionResult(expr='30', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='400', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 400
  provider.duty_cycle = 50
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='45', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='400', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 255
  provider.max_value = 0
  provider.duration = 400
  provider.duty_cycle = 50
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 100
  provider.duty_cycle = 5
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

user_functions_demo.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
abs math_function
blue color
closure_value value_provider_constructor ⚠️
cyan color
max math_function
min math_function
orange color
purple color
rand_demo user_function
random_base animation
random_bounded animation
random_complex animation
random_multi animation
random_variation animation
round math_function
solid animation_constructor ⚠️
strip_len value_provider
strip_length value_provider_constructor ⚠️
white color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation.get_user_function('rand_demo')(engine)'
=== transform_expression_for_closure 'animation.get_user_function('rand_demo')(engine)'
> process_value context=1 result=ExpressionResult(expr='0xFFFFA500', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='50', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine) + 100', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation._math.max(50, animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100))', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.max(50, animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100))'
=== transform_expression_for_closure 'animation._math.max(50, animation._math.min(255, animation.get_user_function('rand_demo')(engine) + 100))'
> process_value context=1 result=ExpressionResult(expr='0xFF800080', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine) - 128', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation._math.abs(animation.get_user_function('rand_demo')(engine) - 128) + 64', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.abs(animation.get_user_function('rand_demo')(engine) - 128) + 64'
=== transform_expression_for_closure 'animation._math.abs(animation.get_user_function('rand_demo')(engine) - 128) + 64'
> process_value context=1 result=ExpressionResult(expr='0xFF00FFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation._math.max(100, animation.get_user_function('rand_demo')(engine))', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.max(100, animation.get_user_function('rand_demo')(engine))'
=== transform_expression_for_closure 'animation._math.max(100, animation.get_user_function('rand_demo')(engine))'
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='animation.get_user_function('rand_demo')(engine) - 100', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='(animation.get_user_function('rand_demo')(engine) + 128) / 2 + animation._math.abs(animation.get_user_function('rand_demo')(engine) - 100)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='animation._math.round((animation.get_user_function('rand_demo')(engine) + 128) / 2 + animation._math.abs(animation.get_user_function('rand_demo')(engine) - 100))', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.round((animation.get_user_function('rand_demo')(engine) + 128) / 2 + animation._math.abs(animation.get_user_function('rand_demo')(engine) - 100))'
=== transform_expression_for_closure 'animation._math.round((animation.get_user_function('rand_demo')(engine) + 128) / 2 + animation._math.abs(animation.get_user_function('rand_demo')(engine) - 100))'
SUCCESS

test_template_simple.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
pulse_effect template
red color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='base_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='204', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

test_compute_multiple.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
a variable
abs math_function
b variable
closure_value value_provider_constructor ⚠️
strip_len value_provider
strip_length value_provider_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='strip_len_ / 4', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ / 4'
=== transform_expression_for_closure 'animation.resolve(strip_len_) / 4'
> process_value context=4 result=ExpressionResult(expr='strip_len_ / 4', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation._math.abs(strip_len_ / 4)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.abs(strip_len_ / 4)'
=== transform_expression_for_closure 'animation._math.abs(animation.resolve(strip_len_) / 4)'
SUCCESS

lightning_storm.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
SINE constant
afterglow animation
beacon_animation animation_constructor ⚠️
distant_flash animation
lightning_main animation
lightning_partial animation
rich_palette_animation animation_constructor ⚠️
solid animation_constructor ⚠️
square value_provider_constructor ⚠️
storm_bg animation
storm_colors palette
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='storm_colors_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='80', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 255
  provider.duration = 80
  provider.duty_cycle = 3
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFAA', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='30', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='20', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='15', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='120', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 200
  provider.duration = 120
  provider.duty_cycle = 4
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='0xFF4444FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='80', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.square(engine)
  provider.min_value = 0
  provider.max_value = 80
  provider.duration = 200
  provider.duty_cycle = 8
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=5 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFF666699', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='300', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

test_cylon_generic.anim

Status: Failed

Compilation Output

> process_value context=1 result=ExpressionResult(expr='nil', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=4 result=ExpressionResult(expr='strip_len_ / 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation._math.abs(strip_len_ / 2)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.abs(strip_len_ / 2)'
=== transform_expression_for_closure 'animation._math.abs(animation.resolve(strip_len_) / 2)'
> process_value context=1 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.strip_length(engine)
  provider.is_running = 0
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='animation.sawtooth(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='animation.triangle(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=4 result=ExpressionResult(expr='osc1_ + osc2_', funcs=false, vars=true, props=false, comp=true, type=value_provider, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation._math.scale(osc1_ + osc2_, 0, 200, 0, 255)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.scale(osc1_ + osc2_, 0, 200, 0, 255)'
=== transform_expression_for_closure 'animation._math.scale(animation.resolve(osc1_) + animation.resolve(osc2_), 0, 200, 0, 255)'
> process_value context=1 result=ExpressionResult(expr='animation.sawtooth(engine) + nil', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation.sawtooth(engine) + nil'
=== transform_expression_for_closure 'animation.sawtooth(engine) + nil'
> process_value context=1 result=ExpressionResult(expr='eye_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='back_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(-1)', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ - 2', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ - 2'
=== transform_expression_for_closure 'animation.resolve(strip_len_) - 2'
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.cosine_osc(engine)
  provider.min_value = (-1)
  provider.max_value = animation.create_closure_value(engine, def (engine) return animation.resolve(strip_len_) - 2 end)
  provider.duration = duration_
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
> process_value context=1 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
DSL compilation failed
Errors:
  Line 29: Template 'cylon_effect' body error: Line 9: Unknown function or identifier 'abs2'. Make sure it's defined before use.
  Line 29: Template 'cylon_effect' body error: Line 17: Function 'triangle' cannot be used in computed expressions. This creates a new instance at each evaluation. Use either:
  set var_name = triangle()  # Single function call
  set computed = (existing_var + 1) / 2  # Computation with existing values

computed_values_demo.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
abs math_function
base_speed variable
blue color
closure_value value_provider_constructor ⚠️
comet_animation animation_constructor ⚠️
red color
stream1 animation
stream2 animation
strip_len value_provider
strip_length value_provider_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='animation.strip_length(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=StripLengthProvider)
> process_value context=1 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='strip_len_ / 4', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation._math.abs(strip_len_ / 4)', funcs=true, vars=false, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'animation._math.abs(strip_len_ / 4)'
=== transform_expression_for_closure 'animation._math.abs(animation.resolve(strip_len_) / 4)'
> process_value context=1 result=ExpressionResult(expr='1.5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2.0', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='strip_len_ / 8 + (2 * strip_len_) - 10', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ / 8 + (2 * strip_len_) - 10'
=== transform_expression_for_closure 'animation.resolve(strip_len_) / 8 + (2 * animation.resolve(strip_len_)) - 10'
> process_value context=1 result=ExpressionResult(expr='base_speed_ * 1.5', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'base_speed_ * 1.5'
=== transform_expression_for_closure 'animation.resolve(base_speed_) * 1.5'
> process_value context=1 result=ExpressionResult(expr='(-1)', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='strip_len_ / 5', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ / 5'
=== transform_expression_for_closure 'animation.resolve(strip_len_) / 5'
> process_value context=5 result=ExpressionResult(expr='strip_len_ * 4', funcs=false, vars=true, props=false, comp=true, type=variable, instance=nil)
+++ transform_expression_for_closure 'strip_len_ * 4'
=== transform_expression_for_closure 'animation.resolve(strip_len_) * 4'
SUCCESS

breathing_colors.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
breathe_animation animation_constructor ⚠️
breathe_blue color
breathe_green color
breathe_orange color
breathe_palette palette
breathe_purple color
breathe_red color
breathing animation
palette_pattern color
rich_palette color_constructor ⚠️
smooth value_provider_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFF00FF00', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFF0000FF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFF800080', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=2 result=ExpressionResult(expr='0xFFFF8000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='breathe_palette_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='15000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='palette_pattern_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='100', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='255', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='4000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='(def (engine)
  var provider = animation.smooth(engine)
  provider.min_value = 100
  provider.max_value = 255
  provider.duration = 4000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=value_provider, instance=OscillatorValueProvider)
SUCCESS

test_template_simple_reusable.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
pulse_effect template
red color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='base_color_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='duration_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=5 result=ExpressionResult(expr='brightness_', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='0xFFFF0000', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=4 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=4 result=ExpressionResult(expr='204', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

palette_showcase.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
SINE constant
aurora_borealis palette
aurora_lights animation
black color
blue color
cyan color
fire_effect animation
fire_gradient palette
navy color
ocean_depths palette
ocean_waves animation
orange color
palette_showcase sequence
purple color
rich_palette_animation animation_constructor ⚠️
rich_palette color_constructor ⚠️
solid animation_constructor ⚠️
sunset_glow animation
sunset_sky palette
white color
yellow color

Compilation Output

> process_value context=1 result=ExpressionResult(expr='fire_gradient_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(def (engine)
  var provider = animation.rich_palette(engine)
  provider.palette = fire_gradient_
  provider.cycle_period = 3000
  return provider
end)(engine)', funcs=true, vars=false, props=false, comp=false, type=color, instance=RichPaletteColorProvider)
> process_value context=1 result=ExpressionResult(expr='ocean_depths_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='200', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='aurora_borealis_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='12000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='180', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='sunset_sky_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='6000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='animation.SINE', funcs=false, vars=true, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='220', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=6 result=ExpressionResult(expr='3', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

rainbow_cycle.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
color_cycle color_constructor ⚠️
rainbow_animation animation
rainbow_cycle color
rainbow_palette palette
solid animation_constructor ⚠️

Compilation Output

> process_value context=1 result=ExpressionResult(expr='rainbow_palette_', funcs=false, vars=true, props=false, comp=false, type=palette, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='rainbow_cycle_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
SUCCESS

comet_chase.anim

Status: Success

Symbol Table

Symbol Type Builtin Dangerous Takes Args
background animation
comet_animation animation_constructor ⚠️
comet_main animation
comet_secondary animation
comet_sparkles animation
solid animation_constructor ⚠️
space_blue color
twinkle_animation animation_constructor ⚠️

Compilation Output

> process_value context=2 result=ExpressionResult(expr='0xFF000066', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='space_blue_', funcs=false, vars=true, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFFFFFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='10', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='2000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='7', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFFF4500', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='3000', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='(-1)', funcs=false, vars=false, props=false, comp=true, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='5', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='0xFFAAAAFF', funcs=false, vars=false, props=false, comp=false, type=color, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='400', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
> process_value context=1 result=ExpressionResult(expr='8', funcs=false, vars=false, props=false, comp=false, type=variable, instance=nil)
SUCCESS

Summary

  • Total files processed: 47
  • Successfully compiled: 42
  • Failed to compile: 5

Successful Files

  • heartbeat_pulse.anim
  • twinkle_stars.anim
  • sequence_assignments_demo.anim
  • fire_flicker.anim
  • demo_shutter_rainbow_central.anim
  • disco_strobe.anim
  • test_simple_math.anim
  • matrix_rain.anim
  • demo_shutter_rainbow2.anim
  • scanner_larson.anim
  • test_complex_template.anim
  • demo_shutter_rainbow_leftright.anim
  • candy_cane.anim
  • test_shutter_rainbow_bidir.anim
  • property_assignment_demo.anim
  • cylon_generic.anim
  • cylon_rainbow.anim
  • demo_shutter_rainbow_bidir.anim
  • christmas_tree.anim
  • plasma_wave.anim
  • ocean_waves.anim
  • swipe_rainbow.anim
  • meteor_shower.anim
  • palette_demo.anim
  • sunrise_sunset.anim
  • simple_palette.anim
  • demo_pattern_fire_opacity.anim
  • neon_glow.anim
  • cylon_red_eye.anim
  • import_demo.anim
  • lava_lamp.anim
  • police_lights.anim
  • user_functions_demo.anim
  • test_template_simple.anim
  • test_compute_multiple.anim
  • lightning_storm.anim
  • computed_values_demo.anim
  • breathing_colors.anim
  • test_template_simple_reusable.anim
  • palette_showcase.anim
  • rainbow_cycle.anim
  • comet_chase.anim

Failed Files

  • fail_color_predefined.anim
  • fail_value_provider_add.anim
  • fail_name_predefined.anim
  • test_shutter_rainbow_central.anim
  • test_cylon_generic.anim