From 950eccbd3345d6275b600915bfe3de339514a253 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 3 Jan 2026 22:05:14 +0100 Subject: [PATCH] Berry animation rename internal classes (#24301) --- .../anim_examples/compiled/cylon_generic.be | 2 +- .../compiled/demo_shutter_rainbow_bidir.be | 2 +- .../compiled/demo_shutter_rainbow_central.be | 2 +- .../demo_shutter_rainbow_leftright.be | 2 +- .../compiled/template_cylon_generic.be | 2 +- .../compiled/test_complex_template.be | 2 +- .../compiled/test_shutter_rainbow_bidir.be | 2 +- .../compiled/test_shutter_rainbow_central.be | 2 +- .../compiled/test_template_animation.be | 2 +- .../compiled/test_template_simple.be | 2 +- .../compiled/test_template_simple_reusable.be | 2 +- .../Animation_Class_Hierarchy.md | 52 +- .../animation_docs/Animation_Development.md | 20 +- .../animation_docs/Dsl_Reference.md | 2 +- .../animation_docs/Transpiler_Architecture.md | 2 +- .../berry_animation/src/animations/beacon.be | 4 +- .../berry_animation/src/animations/comet.be | 4 +- .../src/animations/crenel_position.be | 4 +- .../berry_animation/src/animations/fire.be | 2 +- .../src/animations/palette_pattern.be | 2 +- .../berry_animation/src/animations/twinkle.be | 4 +- .../src/animations_future/bounce.be | 4 +- .../src/animations_future/jitter.be | 2 +- .../src/animations_future/scale.be | 2 +- .../src/animations_future/sparkle.be | 4 +- .../src/core/animation_base.be | 10 +- .../src/core/animation_engine.be | 14 +- .../berry_animation/src/core/engine_proxy.be | 26 +- .../berry_animation/src/core/frame_buffer.be | 13 +- .../berry_animation/src/core/param_encoder.be | 2 +- .../src/core/parameterized_object.be | 48 +- .../src/core/sequence_manager.be | 6 +- .../berry_animation/src/dsl/transpiler.be | 8 +- .../src/providers/breathe_color_provider.be | 4 +- .../src/providers/closure_value_provider.be | 2 +- .../providers/color_cycle_color_provider.be | 2 +- .../src/providers/color_provider.be | 8 +- .../providers/iteration_number_provider.be | 8 +- .../providers/oscillator_value_provider.be | 36 +- .../src/providers/static_color_provider.be | 8 +- .../src/providers/static_value_provider.be | 12 +- .../src/providers/value_provider.be | 10 +- .../src/solidify/solidified_animation.h | 1059 ++++++++--------- .../src/solidify/solidified_animation_dsl.h | 4 +- .../src/tests/black_frame_fix_test.be | 2 +- .../src/tests/constraint_encoding_test.be | 4 +- .../src/tests/core_value_provider_test.be | 38 +- .../src/tests/crenel_position_color_test.be | 10 +- .../dsl_value_provider_validation_test.be | 6 +- .../src/tests/engine_proxy_test.be | 14 +- .../src/tests/frame_buffer_test.be | 8 +- .../src/tests/get_param_value_test.be | 20 +- .../src/tests/oscillator_ease_test.be | 6 +- .../tests/oscillator_elastic_bounce_test.be | 6 +- .../tests/oscillator_value_provider_test.be | 20 +- .../src/tests/parameter_validation_test.be | 34 +- .../src/tests/parameterized_object_test.be | 36 +- .../rich_palette_animation_class_test.be | 2 +- .../tests/sequence_manager_layering_test.be | 18 +- .../src/tests/sequence_manager_test.be | 50 +- .../src/tests/solid_animation_test.be | 12 +- .../src/tests/solid_unification_test.be | 8 +- .../src/tests/static_value_provider_test.be | 24 +- .../src/tests/test_time_ms_requirement.be | 22 +- .../src/tests/value_provider_test.be | 40 +- 65 files changed, 877 insertions(+), 913 deletions(-) diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/cylon_generic.be b/lib/libesp32/berry_animation/anim_examples/compiled/cylon_generic.be index 3c148e420..48939cd5a 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/cylon_generic.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/cylon_generic.be @@ -16,7 +16,7 @@ class cylon_animation : animation.engine_proxy "period": {"type": "time"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_bidir.be b/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_bidir.be index 467926104..020c3fd62 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_bidir.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_bidir.be @@ -16,7 +16,7 @@ class shutter_bidir_animation : animation.engine_proxy "period": {"type": "time"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_central.be b/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_central.be index eb2ff75e6..b33f6c1a6 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_central.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_central.be @@ -16,7 +16,7 @@ class shutter_central_animation : animation.engine_proxy "period": {"type": "time"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_leftright.be b/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_leftright.be index c7554697c..0d340aca9 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_leftright.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/demo_shutter_rainbow_leftright.be @@ -16,7 +16,7 @@ class shutter_lr_animation : animation.engine_proxy "period": {} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/template_cylon_generic.be b/lib/libesp32/berry_animation/anim_examples/compiled/template_cylon_generic.be index f6a919332..3dd9a05cf 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/template_cylon_generic.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/template_cylon_generic.be @@ -16,7 +16,7 @@ class cylon_effect_animation : animation.engine_proxy "back_color": {"type": "color"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/test_complex_template.be b/lib/libesp32/berry_animation/anim_examples/compiled/test_complex_template.be index f30519cec..c996b8a4b 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/test_complex_template.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/test_complex_template.be @@ -16,7 +16,7 @@ class rainbow_pulse_animation : animation.engine_proxy "back_color": {"type": "color"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_bidir.be b/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_bidir.be index ec109ac82..9fbb8b74d 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_bidir.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_bidir.be @@ -16,7 +16,7 @@ class shutter_bidir_animation : animation.engine_proxy "period": {"type": "time"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_central.be b/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_central.be index 5017d8267..415cafa54 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_central.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/test_shutter_rainbow_central.be @@ -16,7 +16,7 @@ class shutter_central_animation : animation.engine_proxy "period": {"type": "time"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/test_template_animation.be b/lib/libesp32/berry_animation/anim_examples/compiled/test_template_animation.be index 194bfb260..9d3f5c7b9 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/test_template_animation.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/test_template_animation.be @@ -15,7 +15,7 @@ class shutter_central_animation : animation.engine_proxy "period": {"type": "time"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple.be b/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple.be index f99244305..9f296363e 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple.be @@ -16,7 +16,7 @@ class pulse_effect_animation : animation.engine_proxy "brightness": {"type": "percentage"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple_reusable.be b/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple_reusable.be index a90c4e179..873a09ba6 100644 --- a/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple_reusable.be +++ b/lib/libesp32/berry_animation/anim_examples/compiled/test_template_simple_reusable.be @@ -16,7 +16,7 @@ class pulse_effect_animation : animation.engine_proxy "brightness": {"type": "percentage"} }) - # Template setup method - overrides EngineProxy placeholder + # Template setup method - overrides engine_proxy placeholder def setup_template() var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine') diff --git a/lib/libesp32/berry_animation/animation_docs/Animation_Class_Hierarchy.md b/lib/libesp32/berry_animation/animation_docs/Animation_Class_Hierarchy.md index e68a91881..7e82b4541 100644 --- a/lib/libesp32/berry_animation/animation_docs/Animation_Class_Hierarchy.md +++ b/lib/libesp32/berry_animation/animation_docs/Animation_Class_Hierarchy.md @@ -1,6 +1,6 @@ # Berry Animation Framework - Class Hierarchy and Parameters Reference -This document provides a comprehensive reference for all classes in the Berry Animation Framework that extend `ParameterizedObject`, including their parameters and factory functions. +This document provides a comprehensive reference for all classes in the Berry Animation Framework that extend `parameterized_object`, including their parameters and factory functions. ## Table of Contents @@ -14,9 +14,9 @@ This document provides a comprehensive reference for all classes in the Berry An ## Class Hierarchy ``` -ParameterizedObject (base class with parameter management and playable interface) +parameterized_object (base class with parameter management and playable interface) ├── Animation (unified base class for all visual elements) -│ ├── EngineProxy (combines rendering and orchestration) +│ ├── engine_proxy (combines rendering and orchestration) │ │ └── (user-defined template animations) │ ├── SolidAnimation (solid color fill) │ ├── BeaconAnimation (pulse at specific position) @@ -32,15 +32,15 @@ ParameterizedObject (base class with parameter management and playable interface │ ├── twinkle (twinkling stars effect) │ ├── WaveAnimation (wave motion effects) │ └── RichPaletteAnimation (smooth palette transitions) -├── SequenceManager (orchestrates animation sequences) -└── ValueProvider (dynamic value generation) - ├── StaticValueProvider (wraps static values) +├── sequence_manager (orchestrates animation sequences) +└── value_provider (dynamic value generation) + ├── static_value (wraps static values) ├── strip_length (provides LED strip length) - ├── IterationNumberProvider (provides sequence iteration number) - ├── OscillatorValueProvider (oscillating values with waveforms) + ├── iteration_number (provides sequence iteration number) + ├── oscillator_value (oscillating values with waveforms) ├── closure_value (computed values, internal use only) └── color_provider (dynamic color generation) - ├── StaticColorProvider (solid color) + ├── static_color (solid color) ├── ColorCycleColorProvider (cycles through palette) ├── rich_palette_color (smooth palette transitions) └── breathe_color (breathing color effect) @@ -48,7 +48,7 @@ ParameterizedObject (base class with parameter management and playable interface ## Base Classes -### ParameterizedObject +### parameterized_object Base class for all parameterized objects in the framework. Provides parameter management with validation, storage, and retrieval, as well as the playable interface for lifecycle management (start/stop/update). @@ -71,7 +71,7 @@ This unified base class enables: ### Animation -Unified base class for all visual elements. Inherits from `ParameterizedObject`. +Unified base class for all visual elements. Inherits from `parameterized_object`. | Parameter | Type | Default | Constraints | Description | |-----------|------|---------|-------------|-------------| @@ -80,7 +80,7 @@ Unified base class for all visual elements. Inherits from `ParameterizedObject`. | `priority` | int | 10 | 0-255 | Rendering priority (higher = on top) | | `duration` | int | 0 | min: 0 | Animation duration in ms (0 = infinite) | | `loop` | bool | false | - | Whether to loop when duration is reached | -| `opacity` | any | 255 | - | Animation opacity (number, FrameBuffer, or Animation) | +| `opacity` | any | 255 | - | Animation opacity (number, frame_buffer, or Animation) | | `color` | int | 0xFFFFFFFF | - | Base color in ARGB format | **Special Behavior**: Setting `is_running = true/false` starts/stops the animation. @@ -89,7 +89,7 @@ Unified base class for all visual elements. Inherits from `ParameterizedObject`. **Factory**: `animation.animation(engine)` -### EngineProxy +### engine_proxy A specialized animation class that combines rendering and orchestration capabilities. Extends `Animation` and can contain child animations and sequences. Inherits from `Animation`. @@ -119,7 +119,7 @@ A specialized animation class that combines rendering and orchestration capabili ### Template Animations -Template animations are user-defined classes that extend `EngineProxy`, created using the DSL's `template animation` syntax. They provide reusable, parameterized animation patterns. +Template animations are user-defined classes that extend `engine_proxy`, created using the DSL's `template animation` syntax. They provide reusable, parameterized animation patterns. **DSL Definition**: ```berry @@ -157,7 +157,7 @@ Template animation parameters support all standard constraints: - `nillable` - Whether parameter can be nil (true/false) **Implicit Parameters**: -Template animations automatically inherit parameters from the `EngineProxy` class hierarchy without explicit declaration: +Template animations automatically inherit parameters from the `engine_proxy` class hierarchy without explicit declaration: - `id` (string, default: "animation") - Animation name - `priority` (int, default: 10) - Rendering priority - `duration` (int, default: 0) - Animation duration in milliseconds @@ -203,9 +203,9 @@ run my_shutter Value providers generate dynamic values over time for use as animation parameters. -### ValueProvider +### value_provider -Base interface for all value providers. Inherits from `ParameterizedObject`. +Base interface for all value providers. Inherits from `parameterized_object`. | Parameter | Type | Default | Constraints | Description | |-----------|------|---------|-------------|-------------| @@ -217,9 +217,9 @@ Base interface for all value providers. Inherits from `ParameterizedObject`. **Factory**: N/A (base interface) -### StaticValueProvider +### static_value -Wraps static values to provide ValueProvider interface. Inherits from `ValueProvider`. +Wraps static values to provide value_provider interface. Inherits from `value_provider`. | Parameter | Type | Default | Constraints | Description | |-----------|------|---------|-------------|-------------| @@ -229,7 +229,7 @@ Wraps static values to provide ValueProvider interface. Inherits from `ValueProv ### strip_length -Provides access to the LED strip length as a dynamic value. Inherits from `ValueProvider`. +Provides access to the LED strip length as a dynamic value. Inherits from `value_provider`. | Parameter | Type | Default | Constraints | Description | |-----------|------|---------|-------------|-------------| @@ -239,9 +239,9 @@ Provides access to the LED strip length as a dynamic value. Inherits from `Value **Factory**: `animation.strip_length(engine)` -### OscillatorValueProvider +### oscillator_value -Generates oscillating values using various waveforms. Inherits from `ValueProvider`. +Generates oscillating values using various waveforms. Inherits from `value_provider`. | Parameter | Type | Default | Constraints | Description | |-----------|------|---------|-------------|-------------| @@ -338,11 +338,11 @@ animation pulse = pulsating_animation( ## Color Providers -Color providers generate dynamic colors over time, extending ValueProvider for color-specific functionality. +Color providers generate dynamic colors over time, extending value_provider for color-specific functionality. ### color_provider -Base interface for all color providers. Inherits from `ValueProvider`. +Base interface for all color providers. Inherits from `value_provider`. | Parameter | Type | Default | Constraints | Description | |-----------|------|---------|-------------|-------------| @@ -353,7 +353,7 @@ Base interface for all color providers. Inherits from `ValueProvider`. **Factory**: N/A (base interface) -### StaticColorProvider +### static_color Returns a single, static color. Inherits from `color_provider`. @@ -468,7 +468,7 @@ Creates breathing/pulsing color effects by modulating the brightness of a base c | `duration` | int | 3000 | min: 1 | Time for one complete breathing cycle in ms | | `curve_factor` | int | 2 | 1-5 | Breathing curve shape (1=cosine wave, 2-5=curved breathing with pauses) | | *(inherits brightness from color_provider)* | | | | Overall brightness scaling applied after breathing effect | -| *(inherits all OscillatorValueProvider parameters)* | | | | | +| *(inherits all oscillator_value parameters)* | | | | | **Curve Factor Effects:** - `1`: Pure cosine wave (smooth pulsing) diff --git a/lib/libesp32/berry_animation/animation_docs/Animation_Development.md b/lib/libesp32/berry_animation/animation_docs/Animation_Development.md index 6ecc10a4c..9603e35a8 100644 --- a/lib/libesp32/berry_animation/animation_docs/Animation_Development.md +++ b/lib/libesp32/berry_animation/animation_docs/Animation_Development.md @@ -49,7 +49,7 @@ class MyAnimation : animation.animation return false end - # Use virtual parameter access - automatically resolves ValueProviders + # Use virtual parameter access - automatically resolves value_providers var param1 = self.my_param1 var param2 = self.my_param2 @@ -79,7 +79,7 @@ The `PARAMS` static variable defines all parameters specific to your animation c - **Parameter validation** with min/max constraints and type checking - **Default value handling** for initialization - **Virtual parameter access** through getmember/setmember -- **Automatic ValueProvider resolution** +- **Automatic value_provider resolution** #### Parameter Definition Format @@ -152,13 +152,13 @@ end ## Value Provider Integration -### Automatic ValueProvider Resolution +### Automatic value_provider Resolution -The virtual parameter system automatically resolves ValueProviders when you access parameters: +The virtual parameter system automatically resolves value_providers when you access parameters: ```berry def render(frame, time_ms, strip_length) - # Virtual parameter access automatically resolves ValueProviders + # Virtual parameter access automatically resolves value_providers var color = self.color # Returns current color value, not the provider var position = self.pos # Returns current position value var size = self.size # Returns current size value @@ -177,7 +177,7 @@ end ### Setting Dynamic Parameters -Users can set both static values and ValueProviders using the same syntax: +Users can set both static values and value_providers using the same syntax: ```berry # Create animation @@ -370,13 +370,13 @@ var success = anim.set_param("size", -1) # Returns false, no exception ### Accessing Raw Parameters ```berry -# Get current parameter value (resolved if ValueProvider) +# Get current parameter value (resolved if value_provider) var current_color = anim.color -# Get raw parameter (returns ValueProvider if set) +# Get raw parameter (returns value_provider if set) var raw_color = anim.get_param("color") -# Check if parameter is a ValueProvider +# Check if parameter is a value_provider if animation.is_value_provider(raw_color) print("Color is dynamic") else @@ -486,7 +486,7 @@ class BeaconAnimation : animation.animation end var pixel_size = strip_length - # Use virtual parameter access - automatically resolves ValueProviders + # Use virtual parameter access - automatically resolves value_providers var back_color = self.back_color var pos = self.pos var slew_size = self.slew_size diff --git a/lib/libesp32/berry_animation/animation_docs/Dsl_Reference.md b/lib/libesp32/berry_animation/animation_docs/Dsl_Reference.md index 78d040d48..f753f26ac 100644 --- a/lib/libesp32/berry_animation/animation_docs/Dsl_Reference.md +++ b/lib/libesp32/berry_animation/animation_docs/Dsl_Reference.md @@ -1156,7 +1156,7 @@ my_fade.opacity = 200 # Set the implicit opacity parameter - Implicit parameters can be overridden by explicit declarations if needed - They follow the same constraint rules as explicit parameters - They are accessed as `self.` within the template body -- All implicit parameters come from the `Animation` and `ParameterizedObject` base classes +- All implicit parameters come from the `Animation` and `parameterized_object` base classes **Key Features:** - Generates reusable animation classes extending `engine_proxy` diff --git a/lib/libesp32/berry_animation/animation_docs/Transpiler_Architecture.md b/lib/libesp32/berry_animation/animation_docs/Transpiler_Architecture.md index 74a3752f8..2d6b427d4 100644 --- a/lib/libesp32/berry_animation/animation_docs/Transpiler_Architecture.md +++ b/lib/libesp32/berry_animation/animation_docs/Transpiler_Architecture.md @@ -162,7 +162,7 @@ _add_inherited_params_to_template(template_params_map) └── Fallback to static list if instance creation fails ``` -**Inherited Parameters (from Animation and ParameterizedObject):** +**Inherited Parameters (from Animation and parameterized_object):** - `id` (string, default: "animation") - `priority` (int, default: 10) - `duration` (int, default: 0) diff --git a/lib/libesp32/berry_animation/src/animations/beacon.be b/lib/libesp32/berry_animation/src/animations/beacon.be index ee3e6c0c1..ed532c7e4 100644 --- a/lib/libesp32/berry_animation/src/animations/beacon.be +++ b/lib/libesp32/berry_animation/src/animations/beacon.be @@ -45,12 +45,12 @@ class BeaconAnimation : animation.animation # Render the beacon to the provided frame buffer # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise def render(frame, time_ms, strip_length) - # Use virtual parameter access - automatically resolves ValueProviders + # Use virtual parameter access - automatically resolves value_providers var back_color = self.back_color var pos = self.pos var slew_size = self.slew_size diff --git a/lib/libesp32/berry_animation/src/animations/comet.be b/lib/libesp32/berry_animation/src/animations/comet.be index 302fb20f0..f8ff05698 100644 --- a/lib/libesp32/berry_animation/src/animations/comet.be +++ b/lib/libesp32/berry_animation/src/animations/comet.be @@ -101,7 +101,7 @@ class CometAnimation : animation.animation # Render the comet to the provided frame buffer # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise @@ -109,7 +109,7 @@ class CometAnimation : animation.animation # Get the integer position of the head (convert from 1/256th pixels to pixels) var head_pixel = self.head_position / 256 - # Get current parameter values using virtual member access (resolves ValueProviders automatically) + # Get current parameter values using virtual member access (resolves value_providers automatically) var current_color = self.color var tail_length = self.tail_length var direction = self.direction diff --git a/lib/libesp32/berry_animation/src/animations/crenel_position.be b/lib/libesp32/berry_animation/src/animations/crenel_position.be index 1957542ce..4023dea00 100644 --- a/lib/libesp32/berry_animation/src/animations/crenel_position.be +++ b/lib/libesp32/berry_animation/src/animations/crenel_position.be @@ -36,12 +36,12 @@ class CrenelPositionAnimation : animation.animation # Render the crenel pattern to the provided frame buffer # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise def render(frame, time_ms, strip_length) - # Access parameters via virtual members (automatically resolves ValueProviders) + # Access parameters via virtual members (automatically resolves value_providers) var back_color = self.back_color var pos = self.pos var pulse_size = self.pulse_size diff --git a/lib/libesp32/berry_animation/src/animations/fire.be b/lib/libesp32/berry_animation/src/animations/fire.be index f52b0960e..c0ff25048 100644 --- a/lib/libesp32/berry_animation/src/animations/fire.be +++ b/lib/libesp32/berry_animation/src/animations/fire.be @@ -219,7 +219,7 @@ class FireAnimation : animation.animation # Render the fire to the provided frame buffer # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise diff --git a/lib/libesp32/berry_animation/src/animations/palette_pattern.be b/lib/libesp32/berry_animation/src/animations/palette_pattern.be index 209280019..82da653bd 100644 --- a/lib/libesp32/berry_animation/src/animations/palette_pattern.be +++ b/lib/libesp32/berry_animation/src/animations/palette_pattern.be @@ -127,7 +127,7 @@ class PaletteGradientAnimation : animation.animation # Render the pattern to the provided frame buffer # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise diff --git a/lib/libesp32/berry_animation/src/animations/twinkle.be b/lib/libesp32/berry_animation/src/animations/twinkle.be index 8a95caa85..a2143b23a 100644 --- a/lib/libesp32/berry_animation/src/animations/twinkle.be +++ b/lib/libesp32/berry_animation/src/animations/twinkle.be @@ -162,7 +162,7 @@ class twinkle : animation.animation # Create new star at full brightness with random intensity alpha var star_alpha = min_brightness + self._random_range(max_brightness - min_brightness + 1) - # Get base color (automatically resolves ValueProviders) + # Get base color (automatically resolves value_providers) var base_color = color # Extract RGB components (ignore original alpha) @@ -180,7 +180,7 @@ class twinkle : animation.animation # Render the twinkle to the provided frame buffer # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise diff --git a/lib/libesp32/berry_animation/src/animations_future/bounce.be b/lib/libesp32/berry_animation/src/animations_future/bounce.be index 83ae02807..ebfdbcaf3 100644 --- a/lib/libesp32/berry_animation/src/animations_future/bounce.be +++ b/lib/libesp32/berry_animation/src/animations_future/bounce.be @@ -63,9 +63,9 @@ class BounceAnimation : animation.animation end end - # Override start method for timing control and ValueProvider propagation + # Override start method for timing control and value_provider propagation def start(time_ms) - # Call parent start first (handles ValueProvider propagation) + # Call parent start first (handles value_provider propagation) super(self).start(time_ms) # Reset physics state for fresh start/restart diff --git a/lib/libesp32/berry_animation/src/animations_future/jitter.be b/lib/libesp32/berry_animation/src/animations_future/jitter.be index e8a084e96..d1e8f95dc 100644 --- a/lib/libesp32/berry_animation/src/animations_future/jitter.be +++ b/lib/libesp32/berry_animation/src/animations_future/jitter.be @@ -60,7 +60,7 @@ class JitterAnimation : animation.animation # Override start method for lifecycle control def start(time_ms) - # Call parent start first (handles ValueProvider propagation) + # Call parent start first (handles value_provider propagation) super(self).start(time_ms) # Reset jitter timing diff --git a/lib/libesp32/berry_animation/src/animations_future/scale.be b/lib/libesp32/berry_animation/src/animations_future/scale.be index 413bff816..9f31eeb46 100644 --- a/lib/libesp32/berry_animation/src/animations_future/scale.be +++ b/lib/libesp32/berry_animation/src/animations_future/scale.be @@ -52,7 +52,7 @@ class ScaleAnimation : animation.animation # Start/restart the animation def start(time_ms) - # Call parent start first (handles ValueProvider propagation) + # Call parent start first (handles value_provider propagation) super(self).start(time_ms) # Reset scale phase for animated modes diff --git a/lib/libesp32/berry_animation/src/animations_future/sparkle.be b/lib/libesp32/berry_animation/src/animations_future/sparkle.be index 3993a03bb..23af687f0 100644 --- a/lib/libesp32/berry_animation/src/animations_future/sparkle.be +++ b/lib/libesp32/berry_animation/src/animations_future/sparkle.be @@ -80,7 +80,7 @@ class SparkleAnimation : animation.animation # Override start method for timing control (acts as both start and restart) def start(time_ms) - # Call parent start first (handles ValueProvider propagation) + # Call parent start first (handles value_provider propagation) super(self).start(time_ms) # Reset random seed for consistent restarts @@ -171,7 +171,7 @@ class SparkleAnimation : animation.animation # Get base color using virtual parameter access var base_color = 0xFFFFFFFF - # Access color parameter (automatically resolves ValueProviders) + # Access color parameter (automatically resolves value_providers) var color_param = self.color if animation.is_color_provider(color_param) && color_param.get_color_for_value != nil base_color = color_param.get_color_for_value(brightness, 0) diff --git a/lib/libesp32/berry_animation/src/core/animation_base.be b/lib/libesp32/berry_animation/src/core/animation_base.be index 66f09e894..ca561c0fd 100644 --- a/lib/libesp32/berry_animation/src/core/animation_base.be +++ b/lib/libesp32/berry_animation/src/core/animation_base.be @@ -7,7 +7,7 @@ # This is the unified base class for all visual elements in the framework. # A Pattern is simply an Animation with infinite duration (duration = 0). # -# Extends ParameterizedObject to provide parameter management and playable interface. +# Extends parameterized_object to provide parameter management and playable interface. import "./core/param_encoder" as encode_constraints @@ -66,12 +66,12 @@ class Animation : animation.parameterized_object # Render the animation to the provided frame buffer # Default implementation renders a solid color (makes Animation equivalent to solid pattern) # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels # @return bool - True if frame was modified, false otherwise def render(frame, time_ms, strip_length) - # Access parameters via virtual members (auto-resolves ValueProviders) + # Access parameters via virtual members (auto-resolves value_providers) var current_color = self.member("color") # Fill the entire frame with the current color if not transparent @@ -84,7 +84,7 @@ class Animation : animation.parameterized_object # Post-processing of rendering # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels def post_render(frame, time_ms, strip_length) @@ -104,7 +104,7 @@ class Animation : animation.parameterized_object # Apply opacity to frame buffer - handles numbers and animations # - # @param frame: FrameBuffer - The frame buffer to apply opacity to + # @param frame: frame_buffer - The frame buffer to apply opacity to # @param opacity: int|Animation - Opacity value or animation # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels diff --git a/lib/libesp32/berry_animation/src/core/animation_engine.be b/lib/libesp32/berry_animation/src/core/animation_engine.be index a733086f0..666c64c47 100644 --- a/lib/libesp32/berry_animation/src/core/animation_engine.be +++ b/lib/libesp32/berry_animation/src/core/animation_engine.be @@ -1,6 +1,6 @@ # Unified Animation Engine # -# Uses composition pattern: contains a root EngineProxy that manages all children. +# Uses composition pattern: contains a root engine_proxy that manages all children. # The engine provides infrastructure (strip output, fast_loop) while delegating # child management and rendering to the root animation. @@ -11,7 +11,7 @@ class AnimationEngine # Core properties var strip # LED strip object var strip_length # Strip length (cached for performance) - var root_animation # Root EngineProxy that holds all children + var root_animation # Root engine_proxy that holds all children var frame_buffer # Main frame buffer var temp_buffer # Temporary buffer for blending @@ -72,7 +72,7 @@ class AnimationEngine self.frame_buffer = animation.frame_buffer(self.strip_length) self.temp_buffer = animation.frame_buffer(self.strip_length) - # Create root EngineProxy to manage all children + # Create root engine_proxy to manage all children self.root_animation = animation.engine_proxy(self) # Initialize state @@ -155,7 +155,7 @@ class AnimationEngine # Add an animation or sequence to the root animation # - # @param obj: Animation|SequenceManager - The object to add + # @param obj: Animation|sequence_manager - The object to add # @return bool - True if added, false if already exists def add(obj) var ret = self.root_animation.add(obj) @@ -167,7 +167,7 @@ class AnimationEngine # Remove an animation or sequence from the root animation # - # @param obj: Animation|SequenceManager - The object to remove + # @param obj: Animation|sequence_manager - The object to remove # @return bool - True if removed, false if not found def remove(obj) var ret = self.root_animation.remove(obj) @@ -549,7 +549,7 @@ class AnimationEngine self.strip = nil end - # Sequence iteration tracking methods, delegate to EngineProxy + # Sequence iteration tracking methods, delegate to engine_proxy # Push a new iteration context onto the stack # Called when a sequence starts repeating @@ -574,7 +574,7 @@ class AnimationEngine end # Get the current iteration number from the innermost sequence context - # Used by IterationNumberProvider to return the current iteration + # Used by iteration_number to return the current iteration # # @return int|nil - Current iteration number (0-based) or nil if not in sequence def get_current_iteration_number() diff --git a/lib/libesp32/berry_animation/src/core/engine_proxy.be b/lib/libesp32/berry_animation/src/core/engine_proxy.be index 5e7e76c51..fc8d51142 100644 --- a/lib/libesp32/berry_animation/src/core/engine_proxy.be +++ b/lib/libesp32/berry_animation/src/core/engine_proxy.be @@ -1,6 +1,6 @@ # Engine Proxy - Combines rendering and orchestration # -# An EngineProxy is a Playable that can both render visual content +# An engine_proxy is a Playable that can both render visual content # AND orchestrate sub-animations and sequences. This enables complex # composite effects that combine multiple animations with timing control. # @@ -11,7 +11,7 @@ import "./core/param_encoder" as encode_constraints -class EngineProxy : animation.animation +class engine_proxy : animation.animation # Non-parameter instance variables var animations # List of child animations var sequences # List of child sequence managers @@ -80,12 +80,12 @@ class EngineProxy : animation.animation # Add a child animation, sequence, or value provider # - # @param obj: Animation|SequenceManager|ValueProvider - The child to add + # @param obj: Animation|sequence_manager|value_provider - The child to add # @return self for method chaining def add(obj) if isinstance(obj, animation.sequence_manager) return self._add_sequence_manager(obj) - # Check if it's a ValueProvider (before Animation check, as some animations might also be providers) + # Check if it's a value_provider (before Animation check, as some animations might also be providers) elif isinstance(obj, animation.value_provider) return self._add_value_provider(obj) # Check if it's an Animation (or subclass) @@ -93,7 +93,7 @@ class EngineProxy : animation.animation return self._add_animation(obj) else # Unknown type - provide helpful error message - raise "type_error", "only Animation, SequenceManager, or ValueProvider" + raise "type_error", "only Animation, sequence_manager, or value_provider" end end @@ -109,7 +109,7 @@ class EngineProxy : animation.animation # Add a value provider # - # @param provider: ValueProvider - The value provider instance to add + # @param provider: value_provider - The value provider instance to add # @return true if successful, false if already in list def _add_value_provider(provider) if (self.value_providers.find(provider) == nil) @@ -206,7 +206,7 @@ class EngineProxy : animation.animation # Remove a value provider # - # @param obj: ValueProvider instance + # @param obj: value_provider instance # @return true if actually removed def _remove_value_provider(obj) var idx = self.value_providers.find(obj) @@ -219,13 +219,13 @@ class EngineProxy : animation.animation end # Generic remove method that delegates to specific remove methods - # @param obj: Animation, SequenceManager, or ValueProvider - The object to remove + # @param obj: Animation, sequence_manager, or value_provider - The object to remove # @return self for method chaining def remove(obj) - # Check if it's a SequenceManager + # Check if it's a sequence_manager if isinstance(obj, animation.sequence_manager) return self._remove_sequence_manager(obj) - # Check if it's a ValueProvider (before Animation check) + # Check if it's a value_provider (before Animation check) elif isinstance(obj, animation.value_provider) return self._remove_value_provider(obj) # Check if it's an Animation (or subclass) @@ -373,7 +373,7 @@ class EngineProxy : animation.animation # Render the hybrid animation # Renders own content first, then all child animations # - # @param frame: FrameBuffer - The frame buffer to render to + # @param frame: frame_buffer - The frame buffer to render to # @param time_ms: int - Current time in milliseconds # @param strip_length: int - Length of the LED strip in pixels (optional, defaults to self.strip_length) # @return bool - True if frame was modified, false otherwise @@ -464,7 +464,7 @@ class EngineProxy : animation.animation end # Get the current iteration number from the innermost sequence context - # Used by IterationNumberProvider to return the current iteration + # Used by iteration_number to return the current iteration # # @return int|nil - Current iteration number (0-based) or nil if not in sequence def get_current_iteration_number() @@ -476,4 +476,4 @@ class EngineProxy : animation.animation end -return {'engine_proxy': EngineProxy} +return {'engine_proxy': engine_proxy} diff --git a/lib/libesp32/berry_animation/src/core/frame_buffer.be b/lib/libesp32/berry_animation/src/core/frame_buffer.be index d0e660789..ae7f2ba6d 100644 --- a/lib/libesp32/berry_animation/src/core/frame_buffer.be +++ b/lib/libesp32/berry_animation/src/core/frame_buffer.be @@ -1,4 +1,4 @@ -# FrameBuffer class for Berry Animation Framework +# frame_buffer class for Berry Animation Framework # # This class provides a buffer for storing and manipulating pixel data # for LED animations. It uses a bytes object for efficient storage and @@ -17,12 +17,12 @@ # so that it is not solidified import "./core/frame_buffer_ntv" as FrameBufferNtv -class FrameBuffer : FrameBufferNtv +class frame_buffer : FrameBufferNtv var pixels # Pixel data (bytes object) var width # Number of pixels # Initialize a new frame buffer with the specified width - # Takes either an int (width) or an instance of FrameBuffer (instance) + # Takes either an int (width) or an instance of frame_buffer (instance) def init(width_or_buffer) if type(width_or_buffer) == 'int' var width = width_or_buffer @@ -135,11 +135,6 @@ class FrameBuffer : FrameBufferNtv def copy() return animation.frame_buffer(self) # return using the self copying constructor end - - # String representation of the frame buffer - def tostring() - return f"FrameBuffer(width={self.width}, pixels={self.pixels})" - end end -return {'frame_buffer': FrameBuffer} \ No newline at end of file +return {'frame_buffer': frame_buffer} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/core/param_encoder.be b/lib/libesp32/berry_animation/src/core/param_encoder.be index 199d5fbe5..0719a2700 100644 --- a/lib/libesp32/berry_animation/src/core/param_encoder.be +++ b/lib/libesp32/berry_animation/src/core/param_encoder.be @@ -280,7 +280,7 @@ end # Export only the encode function (decode not needed - use constraint_mask/constraint_find instead) # Note: constraint_mask() and constraint_find() are static methods -# in ParameterizedObject class for accessing encoded constraints +# in parameterized_object class for accessing encoded constraints return { 'enc_params': encode_constraints } diff --git a/lib/libesp32/berry_animation/src/core/parameterized_object.be b/lib/libesp32/berry_animation/src/core/parameterized_object.be index fe0e360a6..ddb34eb65 100644 --- a/lib/libesp32/berry_animation/src/core/parameterized_object.be +++ b/lib/libesp32/berry_animation/src/core/parameterized_object.be @@ -1,8 +1,8 @@ -# ParameterizedObject - Base class for parameter management and playable behavior +# parameterized_object - Base class for parameter management and playable behavior # # This class provides a common parameter management system that can be shared -# between Animation and ValueProvider classes. It handles parameter validation, -# storage, and retrieval with support for ValueProvider instances. +# between Animation and value_provider classes. It handles parameter validation, +# storage, and retrieval with support for value_provider instances. # # It also provides the common interface for playable objects (animations and sequences) # that can be started, stopped, and updated over time. This enables: @@ -16,7 +16,7 @@ import "./core/param_encoder" as encode_constraints -class ParameterizedObject +class parameterized_object var values # Map storing all parameter values var engine # Reference to the animation engine var start_time # Time when object started (ms) (int), value is set at first call to update() or render() @@ -101,7 +101,7 @@ class ParameterizedObject # This is called when accessing a member that doesn't exist as a real instance variable # # @param name: string - Parameter name being accessed - # @return any - Resolved parameter value (ValueProvider resolved to actual value) + # @return any - Resolved parameter value (value_provider resolved to actual value) def member(name) # if global.debug_animation # log(f">>> member {name=}", 3) @@ -137,7 +137,7 @@ class ParameterizedObject # This is called when setting a member that doesn't exist as a real instance variable # # @param name: string - Parameter name being set - # @param value: any - Value to set (can be static value or ValueProvider) + # @param value: any - Value to set (can be static value or value_provider) def setmember(name, value) # Check if it's a parameter in the class hierarchy and set it with validation if self.has_param(name) @@ -151,9 +151,9 @@ class ParameterizedObject # Internal method to set a parameter value with validation # # @param name: string - Parameter name - # @param value: any - Value to set (can be static value or ValueProvider) + # @param value: any - Value to set (can be static value or value_provider) def _set_parameter_value(name, value) - # Validate the value (skip validation for ValueProvider instances) + # Validate the value (skip validation for value_provider instances) if !animation.is_value_provider(value) value = self._validate_param(name, value) # Get potentially converted value end @@ -165,11 +165,11 @@ class ParameterizedObject self.on_param_changed(name, value) end - # Internal method to resolve a parameter value (handles ValueProviders) + # Internal method to resolve a parameter value (handles value_providers) # # @param name: string - Parameter name - # @param time_ms: int - Current time in milliseconds for ValueProvider resolution - # @return any - Resolved value (static or from ValueProvider) + # @param time_ms: int - Current time in milliseconds for value_provider resolution + # @return any - Resolved value (static or from value_provider) def _resolve_parameter_value(name, time_ms) if !self.values.contains(name) # Return default if available from class hierarchy @@ -182,7 +182,7 @@ class ParameterizedObject var value = self.values[name] - # Apply produce_value() if it' a ValueProvider + # Apply produce_value() if it' a value_provider return self.resolve_value(value, name, time_ms) end @@ -198,7 +198,7 @@ class ParameterizedObject raise "attribute_error", f"'{classname(self)}' object has no attribute '{name}'" end - # Accept ValueProvider instances for all parameters + # Accept value_provider instances for all parameters if animation.is_value_provider(value) return value end @@ -315,7 +315,7 @@ class ParameterizedObject # # @param name: string - Parameter name # @param default_value: any - Default value if parameter not found - # @return any - Parameter value or default (may be ValueProvider) + # @return any - Parameter value or default (may be value_provider) def get_param(name, default_value) # Check stored values if self.values.contains(name) @@ -546,13 +546,13 @@ class ParameterizedObject # var encoded = param_encoder.animation.enc_params({"min": 0, "max": 255, "default": 128}) # # Checking if constraint contains a field: - # if ParameterizedObject.constraint_mask(encoded, "min") + # if parameterized_object.constraint_mask(encoded, "min") # print("Has min constraint") # end # # Getting constraint field value: - # var min_val = ParameterizedObject.constraint_find(encoded, "min", 0) - # var max_val = ParameterizedObject.constraint_find(encoded, "max", 255) + # var min_val = parameterized_object.constraint_find(encoded, "min", 0) + # var max_val = parameterized_object.constraint_find(encoded, "max", 255) # ============================================================================ # Check if an encoded constraint contains a specific field (monolithic, no sub-calls) # @@ -566,8 +566,8 @@ class ParameterizedObject # # Example: # var encoded = bytes("07 00 00 FF 80") # min=0, max=255, default=128 - # ParameterizedObject.constraint_mask(encoded, "min") # => true - # ParameterizedObject.constraint_mask(encoded, "enum") # => false + # parameterized_object.constraint_mask(encoded, "min") # => true + # parameterized_object.constraint_mask(encoded, "enum") # => false static var _MASK = [ "min", #- 0x01 HAS_MIN-# "max", #- 0x02, HAS_MAX-# @@ -616,10 +616,10 @@ class ParameterizedObject # # Example: # var encoded = bytes("07 00 00 FF 80") # min=0, max=255, default=128 - # ParameterizedObject.constraint_find(encoded, "min", 0) # => 0 - # ParameterizedObject.constraint_find(encoded, "max", 255) # => 255 - # ParameterizedObject.constraint_find(encoded, "default", 100) # => 128 - # ParameterizedObject.constraint_find(encoded, "enum", nil) # => nil (not present) + # parameterized_object.constraint_find(encoded, "min", 0) # => 0 + # parameterized_object.constraint_find(encoded, "max", 255) # => 255 + # parameterized_object.constraint_find(encoded, "default", 100) # => 128 + # parameterized_object.constraint_find(encoded, "enum", nil) # => nil (not present) static def constraint_find(encoded_bytes, name, default) @@ -728,4 +728,4 @@ class ParameterizedObject end end -return {'parameterized_object': ParameterizedObject} \ No newline at end of file +return {'parameterized_object': parameterized_object} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/core/sequence_manager.be b/lib/libesp32/berry_animation/src/core/sequence_manager.be index 5effaef29..d7ffdd0f6 100644 --- a/lib/libesp32/berry_animation/src/core/sequence_manager.be +++ b/lib/libesp32/berry_animation/src/core/sequence_manager.be @@ -2,7 +2,7 @@ # Handles async execution of animation sequences without blocking delays # Supports sub-sequences and repeat logic through recursive composition # -# Extends ParameterizedObject to provide parameter management and playable interface, +# Extends parameterized_object to provide parameter management and playable interface, # allowing sequences to be treated uniformly with animations by the engine. # # Memory-optimized: Uses two parallel arrays instead of array of maps @@ -16,7 +16,7 @@ import "./core/param_encoder" as encode_constraints -class SequenceManager : animation.parameterized_object +class sequence_manager : animation.parameterized_object # static var DURATION_CLOSURE = -2 # static var DURATION_SUBSEQUENCE = -3 @@ -441,4 +441,4 @@ class SequenceManager : animation.parameterized_object end end -return {'sequence_manager': SequenceManager } +return {'sequence_manager': sequence_manager } diff --git a/lib/libesp32/berry_animation/src/dsl/transpiler.be b/lib/libesp32/berry_animation/src/dsl/transpiler.be index 0836c09de..c09cd9780 100644 --- a/lib/libesp32/berry_animation/src/dsl/transpiler.be +++ b/lib/libesp32/berry_animation/src/dsl/transpiler.be @@ -979,7 +979,7 @@ class SimpleDSLTranspiler if is_repeat_syntax # Second syntax: sequence name repeat N times { ... } - # Create a single SequenceManager with fluent interface + # Create a single sequence_manager with fluent interface self.add(f"var {name}_ = animation.sequence_manager(engine, {repeat_count})") # Process sequence body - add steps using fluent interface @@ -2810,7 +2810,7 @@ class SimpleDSLTranspiler self.add("") # Generate setup_template method (contains all template code) - self.add(" # Template setup method - overrides EngineProxy placeholder") + self.add(" # Template setup method - overrides engine_proxy placeholder") self.add(" def setup_template()") self.add(" var engine = self # using 'self' as a proxy to engine object (instead of 'self.engine')") self.add("") @@ -3101,7 +3101,7 @@ class SimpleDSLTranspiler return false end - # For template animations, check if parameter masks an existing parameter from EngineProxy or Animation + # For template animations, check if parameter masks an existing parameter from engine_proxy or Animation if is_template_animation var base_class_params = [ "name", "is_running", "priority", "duration", "loop", "opacity", "color" @@ -3109,7 +3109,7 @@ class SimpleDSLTranspiler for base_param : base_class_params if param_name == base_param - self.warning(f"Template animation parameter '{param_name}' masks existing parameter from EngineProxy base class. This may cause unexpected behavior. Consider using a different name like 'custom_{param_name}' or '{param_name}_value'.") + self.warning(f"Template animation parameter '{param_name}' masks existing parameter from engine_proxy base class. This may cause unexpected behavior. Consider using a different name like 'custom_{param_name}' or '{param_name}_value'.") break end end diff --git a/lib/libesp32/berry_animation/src/providers/breathe_color_provider.be b/lib/libesp32/berry_animation/src/providers/breathe_color_provider.be index 973d12099..4d8776bf2 100644 --- a/lib/libesp32/berry_animation/src/providers/breathe_color_provider.be +++ b/lib/libesp32/berry_animation/src/providers/breathe_color_provider.be @@ -1,7 +1,7 @@ # Breathe Color Provider for Berry Animation Framework # # This color provider creates breathing/pulsing color effects by modulating the brightness -# of a base color over time. It inherits from OscillatorValueProvider to leverage its +# of a base color over time. It inherits from oscillator_value to leverage its # robust time management and waveform generation, then applies the oscillator value # as brightness modulation to a base color. # @@ -27,7 +27,7 @@ class breathe_color : animation.oscillator_value # # @param engine: AnimationEngine - The animation engine (required) def init(engine) - # Call parent constructor (OscillatorValueProvider) + # Call parent constructor (oscillator_value) super(self).init(engine) # Configure the inherited oscillator for breathing behavior diff --git a/lib/libesp32/berry_animation/src/providers/closure_value_provider.be b/lib/libesp32/berry_animation/src/providers/closure_value_provider.be index a726c07ac..33915807b 100644 --- a/lib/libesp32/berry_animation/src/providers/closure_value_provider.be +++ b/lib/libesp32/berry_animation/src/providers/closure_value_provider.be @@ -1,4 +1,4 @@ -# closure_value - ValueProvider that wraps a closure/function +# closure_value - value_provider that wraps a closure/function # # This provider allows using closures (functions) as value providers. # The closure is called with (self, param_name, time_ms) parameters when diff --git a/lib/libesp32/berry_animation/src/providers/color_cycle_color_provider.be b/lib/libesp32/berry_animation/src/providers/color_cycle_color_provider.be index 233256643..60627e2a6 100644 --- a/lib/libesp32/berry_animation/src/providers/color_cycle_color_provider.be +++ b/lib/libesp32/berry_animation/src/providers/color_cycle_color_provider.be @@ -63,7 +63,7 @@ class ColorCycleColorProvider : animation.color_provider # Virtual member access - implements the virtual "palette_size" attribute # # @param name: string - Parameter name being accessed - # @return any - Resolved parameter value (ValueProvider resolved to actual value) + # @return any - Resolved parameter value (value_provider resolved to actual value) def member(name) if name == "palette_size" return self._get_palette_size() diff --git a/lib/libesp32/berry_animation/src/providers/color_provider.be b/lib/libesp32/berry_animation/src/providers/color_provider.be index cc9ca458a..408d3d92c 100644 --- a/lib/libesp32/berry_animation/src/providers/color_provider.be +++ b/lib/libesp32/berry_animation/src/providers/color_provider.be @@ -4,8 +4,8 @@ # Color providers generate colors based on time or values, which can be used by # renderers or other components that need color information. # -# color_provider now inherits from ValueProvider, making it a specialized value provider -# for color values. This provides consistency with the ValueProvider system while +# color_provider now inherits from value_provider, making it a specialized value provider +# for color values. This provides consistency with the value_provider system while # maintaining the specific color-related methods. # # Follows the parameterized class specification: @@ -92,8 +92,8 @@ class color_provider : animation.value_provider end # Add a method to check if an object is a color provider -# Note: Since color_provider now inherits from ValueProvider, all ColorProviders -# are also ValueProviders and will be detected by animation.is_value_provider() +# Note: Since color_provider now inherits from value_provider, all ColorProviders +# are also value_providers and will be detected by animation.is_value_provider() def is_color_provider(obj) return isinstance(obj, animation.color_provider) end diff --git a/lib/libesp32/berry_animation/src/providers/iteration_number_provider.be b/lib/libesp32/berry_animation/src/providers/iteration_number_provider.be index 2e9673b04..06f71e51d 100644 --- a/lib/libesp32/berry_animation/src/providers/iteration_number_provider.be +++ b/lib/libesp32/berry_animation/src/providers/iteration_number_provider.be @@ -1,4 +1,4 @@ -# IterationNumberProvider - ValueProvider that returns current sequence iteration number +# iteration_number - value_provider that returns current sequence iteration number # # This provider returns the current iteration number (0-based) for the innermost # sequence context, or nil if not called within a sequence. @@ -21,8 +21,8 @@ import "./core/param_encoder" as encode_constraints -#@ solidify:IterationNumberProvider,weak -class IterationNumberProvider : animation.value_provider +#@ solidify:iteration_number,weak +class iteration_number : animation.value_provider # Produce the current iteration number from the animation engine # # @param name: string - Parameter name being requested (ignored) @@ -34,4 +34,4 @@ class IterationNumberProvider : animation.value_provider end end -return {'iteration_number': IterationNumberProvider} \ No newline at end of file +return {'iteration_number': iteration_number} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/providers/oscillator_value_provider.be b/lib/libesp32/berry_animation/src/providers/oscillator_value_provider.be index fa6da82ee..8acb72526 100644 --- a/lib/libesp32/berry_animation/src/providers/oscillator_value_provider.be +++ b/lib/libesp32/berry_animation/src/providers/oscillator_value_provider.be @@ -1,7 +1,7 @@ -# OscillatorValueProvider for Berry Animation Framework +# oscillator_value for Berry Animation Framework # # This value provider generates oscillating values based on time using various waveforms. -# It's based on the original Animate_oscillator class but adapted to work as a ValueProvider. +# It's based on the original Animate_oscillator class but adapted to work as a value_provider. # # Supported waveforms: # - SAWTOOTH (1): Linear ramp from a to b @@ -23,8 +23,8 @@ var EASE_OUT = 7 var ELASTIC = 8 var BOUNCE = 9 -#@ solidify:OscillatorValueProvider,weak -class OscillatorValueProvider : animation.value_provider +#@ solidify:oscillator_value,weak +class oscillator_value : animation.value_provider # Non-parameter instance variables only var value # current calculated value @@ -38,7 +38,7 @@ class OscillatorValueProvider : animation.value_provider "duty_cycle": {"min": 0, "max": 255, "default": 127} }) - # Initialize a new OscillatorValueProvider + # Initialize a new oscillator_value # # @param engine: AnimationEngine - Reference to the animation engine (required) def init(engine) @@ -171,7 +171,7 @@ end # Create a ramp (same as oscillator, for semantic clarity) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New ramp instance +# @return oscillator_value - New ramp instance def ramp(engine) var osc = animation.oscillator_value(engine) osc.form = 1 #-animation.SAWTOOTH-# @@ -181,7 +181,7 @@ end # Create a linear oscillator (triangle wave) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New linear oscillator instance +# @return oscillator_value - New linear oscillator instance def linear(engine) var osc = animation.oscillator_value(engine) osc.form = 2 #-animation.TRIANGLE-# @@ -191,7 +191,7 @@ end # Create a smooth oscillator (cosine wave) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New smooth oscillator instance +# @return oscillator_value - New smooth oscillator instance def smooth(engine) var osc = animation.oscillator_value(engine) osc.form = 4 #-animation.COSINE-# @@ -201,7 +201,7 @@ end # Create a cosine oscillator (alias for smooth - cosine wave) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New cosine oscillator instance +# @return oscillator_value - New cosine oscillator instance def cosine_osc(engine) var osc = animation.oscillator_value(engine) osc.form = 4 #-animation.COSINE-# @@ -211,7 +211,7 @@ end # Create a sine wave oscillator # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New sine wave instance +# @return oscillator_value - New sine wave instance def sine_osc(engine) var osc = animation.oscillator_value(engine) osc.form = 5 #-animation.SINE-# @@ -221,7 +221,7 @@ end # Create a square wave oscillator # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New square wave instance +# @return oscillator_value - New square wave instance def square(engine) var osc = animation.oscillator_value(engine) osc.form = 3 #-animation.SQUARE-# @@ -231,7 +231,7 @@ end # Create an ease-in oscillator (quadratic acceleration) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New ease-in instance +# @return oscillator_value - New ease-in instance def ease_in(engine) var osc = animation.oscillator_value(engine) osc.form = 6 #-animation.EASE_IN-# @@ -241,7 +241,7 @@ end # Create an ease-out oscillator (quadratic deceleration) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New ease-out instance +# @return oscillator_value - New ease-out instance def ease_out(engine) var osc = animation.oscillator_value(engine) osc.form = 7 #-animation.EASE_OUT-# @@ -251,7 +251,7 @@ end # Create an elastic oscillator (spring-like overshoot and oscillation) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New elastic instance +# @return oscillator_value - New elastic instance def elastic(engine) var osc = animation.oscillator_value(engine) osc.form = 8 #-animation.ELASTIC-# @@ -261,7 +261,7 @@ end # Create a bounce oscillator (ball-like bouncing with decreasing amplitude) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New bounce instance +# @return oscillator_value - New bounce instance def bounce(engine) var osc = animation.oscillator_value(engine) osc.form = 9 #-animation.BOUNCE-# @@ -271,7 +271,7 @@ end # Create a sawtooth oscillator (alias for ramp - linear progression from min_value to max_value) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New sawtooth instance +# @return oscillator_value - New sawtooth instance def sawtooth(engine) var osc = animation.oscillator_value(engine) osc.form = 1 #-animation.SAWTOOTH-# @@ -281,7 +281,7 @@ end # Create a triangle oscillator (alias for linear - triangle wave from min_value to max_value and back) # # @param engine: AnimationEngine - Animation engine reference -# @return OscillatorValueProvider - New triangle instance +# @return oscillator_value - New triangle instance def triangle(engine) var osc = animation.oscillator_value(engine) osc.form = 2 #-animation.TRIANGLE-# @@ -310,4 +310,4 @@ return {'ramp': ramp, 'EASE_OUT': EASE_OUT, 'ELASTIC': ELASTIC, 'BOUNCE': BOUNCE, - 'oscillator_value': OscillatorValueProvider} \ No newline at end of file + 'oscillator_value': oscillator_value} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/providers/static_color_provider.be b/lib/libesp32/berry_animation/src/providers/static_color_provider.be index 6768961d0..043e84c3b 100644 --- a/lib/libesp32/berry_animation/src/providers/static_color_provider.be +++ b/lib/libesp32/berry_animation/src/providers/static_color_provider.be @@ -1,4 +1,4 @@ -# StaticColorProvider for Berry Animation Framework +# static_color for Berry Animation Framework # # This color provider returns a single, static color. # It's the simplest implementation of the color_provider interface. @@ -9,8 +9,8 @@ import "./core/param_encoder" as encode_constraints -#@ solidify:StaticColorProvider,weak -class StaticColorProvider : animation.color_provider +#@ solidify:static_color,weak +class static_color : animation.color_provider # Parameter definitions static var PARAMS = animation.enc_params({ "color": {"default": 0xFFFFFFFF} # Default to white @@ -45,4 +45,4 @@ class StaticColorProvider : animation.color_provider end end -return {'static_color': StaticColorProvider} \ No newline at end of file +return {'static_color': static_color} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/providers/static_value_provider.be b/lib/libesp32/berry_animation/src/providers/static_value_provider.be index b6096afec..1a87446f7 100644 --- a/lib/libesp32/berry_animation/src/providers/static_value_provider.be +++ b/lib/libesp32/berry_animation/src/providers/static_value_provider.be @@ -1,4 +1,4 @@ -# StaticValueProvider for Berry Animation Framework +# static_value for Berry Animation Framework # # This value provider returns a single, static value for any parameter type. # It's a dummy implementation that serves as a wrapper for static values, @@ -13,14 +13,14 @@ import "./core/param_encoder" as encode_constraints -#@ solidify:StaticValueProvider,weak -class StaticValueProvider : animation.value_provider +#@ solidify:static_value,weak +class static_value : animation.value_provider # Parameter definitions static var PARAMS = animation.enc_params({ "value": {"default": nil, "type": "any"} }) - # # Comparison operators to make StaticValueProvider work with validation code + # # Comparison operators to make static_value work with validation code # def <(other) # return self.value < int(other) # end @@ -66,8 +66,8 @@ class StaticValueProvider : animation.value_provider # String representation of the provider # def tostring() - # return f"StaticValueProvider(value={self.value})" + # return f"static_value(value={self.value})" # end end -return {'static_value': StaticValueProvider} \ No newline at end of file +return {'static_value': static_value} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/providers/value_provider.be b/lib/libesp32/berry_animation/src/providers/value_provider.be index 7f844aa00..b52c0855b 100644 --- a/lib/libesp32/berry_animation/src/providers/value_provider.be +++ b/lib/libesp32/berry_animation/src/providers/value_provider.be @@ -1,4 +1,4 @@ -# ValueProvider interface for Berry Animation Framework +# value_provider interface for Berry Animation Framework # # This defines the core interface for value providers in the animation framework. # Value providers generate values based on time, which can be used by animations @@ -7,15 +7,15 @@ # This is the super-class for all value provider variants and provides the interface # that animations can use to get dynamic values for their parameters. # -# ValueProviders follow the parameterized class specification: +# value_providers follow the parameterized class specification: # - Constructor takes only 'engine' parameter # - All other parameters set via virtual member assignment # - No setter/getter methods for parameters import "./core/param_encoder" as encode_constraints -#@ solidify:ValueProvider,weak -class ValueProvider : animation.parameterized_object +#@ solidify:value_provider,weak +class value_provider : animation.parameterized_object # Produce a value for a specific parameter name and time # This is the main method that subclasses should override @@ -42,5 +42,5 @@ def is_value_provider(obj) return isinstance(obj, animation.value_provider) end -return {'value_provider': ValueProvider, +return {'value_provider': value_provider, 'is_value_provider': is_value_provider} \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/solidify/solidified_animation.h b/lib/libesp32/berry_animation/src/solidify/solidified_animation.h index 5eddd3938..297bf6329 100644 --- a/lib/libesp32/berry_animation/src/solidify/solidified_animation.h +++ b/lib/libesp32/berry_animation/src/solidify/solidified_animation.h @@ -1009,10 +1009,10 @@ be_local_closure(class_strip_length_produce_value, /* name */ /******************************************************************** ** Solidified class: strip_length ********************************************************************/ -extern const bclass be_class_ValueProvider; +extern const bclass be_class_value_provider; be_local_class(strip_length, 0, - &be_class_ValueProvider, + &be_class_value_provider, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(produce_value, -1), be_const_closure(class_strip_length_produce_value_closure) }, @@ -2123,10 +2123,10 @@ be_local_closure(class_breathe_color_on_param_changed, /* name */ /******************************************************************** ** Solidified class: breathe_color ********************************************************************/ -extern const bclass be_class_OscillatorValueProvider; +extern const bclass be_class_oscillator_value; be_local_class(breathe_color, 0, - &be_class_OscillatorValueProvider, + &be_class_oscillator_value, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { @@ -2350,10 +2350,10 @@ be_local_closure(class_color_provider_init, /* name */ /******************************************************************** ** Solidified class: color_provider ********************************************************************/ -extern const bclass be_class_ValueProvider; +extern const bclass be_class_value_provider; be_local_class(color_provider, 2, - &be_class_ValueProvider, + &be_class_value_provider, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(LUT_FACTOR, 8), be_const_int(1) }, @@ -4197,12 +4197,12 @@ be_local_closure(register_event_handler, /* name */ /*******************************************************************/ -extern const bclass be_class_StaticValueProvider; +extern const bclass be_class_static_value; /******************************************************************** ** Solidified function: produce_value ********************************************************************/ -be_local_closure(class_StaticValueProvider_produce_value, /* name */ +be_local_closure(class_static_value_produce_value, /* name */ be_nested_proto( 4, /* nstack */ 3, /* argc */ @@ -4227,25 +4227,25 @@ be_local_closure(class_StaticValueProvider_produce_value, /* name */ /******************************************************************** -** Solidified class: StaticValueProvider +** Solidified class: static_value ********************************************************************/ -extern const bclass be_class_ValueProvider; -be_local_class(StaticValueProvider, +extern const bclass be_class_value_provider; +be_local_class(static_value, 0, - &be_class_ValueProvider, + &be_class_value_provider, be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(produce_value, -1), be_const_closure(class_StaticValueProvider_produce_value_closure) }, + { be_const_key_weak(produce_value, -1), be_const_closure(class_static_value_produce_value_closure) }, { be_const_key_weak(PARAMS, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(value, -1), be_const_bytes_instance(0C0604) }, })) ) } )) }, })), - be_str_weak(StaticValueProvider) + be_str_weak(static_value) ); -// compact class 'SequenceManager' ktab size: 34, total: 122 (saved 704 bytes) -static const bvalue be_ktab_class_SequenceManager[34] = { +// compact class 'sequence_manager' ktab size: 34, total: 122 (saved 704 bytes) +static const bvalue be_ktab_class_sequence_manager[34] = { /* K0 */ be_nested_str_weak(step_durations), /* K1 */ be_nested_str_weak(push), /* K2 */ be_nested_str_weak(step_refs), @@ -4283,12 +4283,12 @@ static const bvalue be_ktab_class_SequenceManager[34] = { }; -extern const bclass be_class_SequenceManager; +extern const bclass be_class_sequence_manager; /******************************************************************** ** Solidified function: push_wait_step ********************************************************************/ -be_local_closure(class_SequenceManager_push_wait_step, /* name */ +be_local_closure(class_sequence_manager_push_wait_step, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -4298,7 +4298,7 @@ be_local_closure(class_SequenceManager_push_wait_step, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(push_wait_step), &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ @@ -4320,7 +4320,7 @@ be_local_closure(class_SequenceManager_push_wait_step, /* name */ /******************************************************************** ** Solidified function: get_resolved_repeat_count ********************************************************************/ -be_local_closure(class_SequenceManager_get_resolved_repeat_count, /* name */ +be_local_closure(class_sequence_manager_get_resolved_repeat_count, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -4330,7 +4330,7 @@ be_local_closure(class_SequenceManager_get_resolved_repeat_count, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(get_resolved_repeat_count), &be_const_str_solidified, ( &(const binstruction[16]) { /* code */ @@ -4359,7 +4359,7 @@ be_local_closure(class_SequenceManager_get_resolved_repeat_count, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(class_SequenceManager_init, /* name */ +be_local_closure(class_sequence_manager_init, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -4369,7 +4369,7 @@ be_local_closure(class_SequenceManager_init, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[36]) { /* code */ @@ -4418,7 +4418,7 @@ be_local_closure(class_SequenceManager_init, /* name */ /******************************************************************** ** Solidified function: push_repeat_subsequence ********************************************************************/ -be_local_closure(class_SequenceManager_push_repeat_subsequence, /* name */ +be_local_closure(class_sequence_manager_push_repeat_subsequence, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -4428,7 +4428,7 @@ be_local_closure(class_SequenceManager_push_repeat_subsequence, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(push_repeat_subsequence), &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ @@ -4450,7 +4450,7 @@ be_local_closure(class_SequenceManager_push_repeat_subsequence, /* name */ /******************************************************************** ** Solidified function: complete_iteration ********************************************************************/ -be_local_closure(class_SequenceManager_complete_iteration, /* name */ +be_local_closure(class_sequence_manager_complete_iteration, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -4460,7 +4460,7 @@ be_local_closure(class_SequenceManager_complete_iteration, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(complete_iteration), &be_const_str_solidified, ( &(const binstruction[71]) { /* code */ @@ -4544,7 +4544,7 @@ be_local_closure(class_SequenceManager_complete_iteration, /* name */ /******************************************************************** ** Solidified function: update ********************************************************************/ -be_local_closure(class_SequenceManager_update, /* name */ +be_local_closure(class_sequence_manager_update, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -4554,7 +4554,7 @@ be_local_closure(class_SequenceManager_update, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(update), &be_const_str_solidified, ( &(const binstruction[64]) { /* code */ @@ -4631,7 +4631,7 @@ be_local_closure(class_SequenceManager_update, /* name */ /******************************************************************** ** Solidified function: stop_all_subsequences ********************************************************************/ -be_local_closure(class_SequenceManager_stop_all_subsequences, /* name */ +be_local_closure(class_sequence_manager_stop_all_subsequences, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -4641,7 +4641,7 @@ be_local_closure(class_SequenceManager_stop_all_subsequences, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(stop_all_subsequences), &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ @@ -4672,7 +4672,7 @@ be_local_closure(class_SequenceManager_stop_all_subsequences, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(class_SequenceManager_start, /* name */ +be_local_closure(class_sequence_manager_start, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -4682,7 +4682,7 @@ be_local_closure(class_SequenceManager_start, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(start), &be_const_str_solidified, ( &(const binstruction[59]) { /* code */ @@ -4754,7 +4754,7 @@ be_local_closure(class_SequenceManager_start, /* name */ /******************************************************************** ** Solidified function: advance_to_next_step ********************************************************************/ -be_local_closure(class_SequenceManager_advance_to_next_step, /* name */ +be_local_closure(class_sequence_manager_advance_to_next_step, /* name */ be_nested_proto( 12, /* nstack */ 3, /* argc */ @@ -4764,7 +4764,7 @@ be_local_closure(class_SequenceManager_advance_to_next_step, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(advance_to_next_step), &be_const_str_solidified, ( &(const binstruction[49]) { /* code */ @@ -4826,7 +4826,7 @@ be_local_closure(class_SequenceManager_advance_to_next_step, /* name */ /******************************************************************** ** Solidified function: is_sequence_running ********************************************************************/ -be_local_closure(class_SequenceManager_is_sequence_running, /* name */ +be_local_closure(class_sequence_manager_is_sequence_running, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -4836,7 +4836,7 @@ be_local_closure(class_SequenceManager_is_sequence_running, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(is_sequence_running), &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ @@ -4851,7 +4851,7 @@ be_local_closure(class_SequenceManager_is_sequence_running, /* name */ /******************************************************************** ** Solidified function: execute_closure_steps_batch_atomic ********************************************************************/ -be_local_closure(class_SequenceManager_execute_closure_steps_batch_atomic, /* name */ +be_local_closure(class_sequence_manager_execute_closure_steps_batch_atomic, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -4861,7 +4861,7 @@ be_local_closure(class_SequenceManager_execute_closure_steps_batch_atomic, /* 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(execute_closure_steps_batch_atomic), &be_const_str_solidified, ( &(const binstruction[83]) { /* code */ @@ -4957,7 +4957,7 @@ be_local_closure(class_SequenceManager_execute_closure_steps_batch_atomic, /* /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(class_SequenceManager_stop, /* name */ +be_local_closure(class_sequence_manager_stop, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -4967,7 +4967,7 @@ be_local_closure(class_SequenceManager_stop, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(stop), &be_const_str_solidified, ( &(const binstruction[40]) { /* code */ @@ -5020,7 +5020,7 @@ be_local_closure(class_SequenceManager_stop, /* name */ /******************************************************************** ** Solidified function: execute_current_step ********************************************************************/ -be_local_closure(class_SequenceManager_execute_current_step, /* name */ +be_local_closure(class_sequence_manager_execute_current_step, /* name */ be_nested_proto( 11, /* nstack */ 3, /* argc */ @@ -5030,7 +5030,7 @@ be_local_closure(class_SequenceManager_execute_current_step, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(execute_current_step), &be_const_str_solidified, ( &(const binstruction[85]) { /* code */ @@ -5128,7 +5128,7 @@ be_local_closure(class_SequenceManager_execute_current_step, /* name */ /******************************************************************** ** Solidified function: push_play_step ********************************************************************/ -be_local_closure(class_SequenceManager_push_play_step, /* name */ +be_local_closure(class_sequence_manager_push_play_step, /* name */ be_nested_proto( 6, /* nstack */ 3, /* argc */ @@ -5138,7 +5138,7 @@ be_local_closure(class_SequenceManager_push_play_step, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(push_play_step), &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ @@ -5165,7 +5165,7 @@ be_local_closure(class_SequenceManager_push_play_step, /* name */ /******************************************************************** ** Solidified function: push_closure_step ********************************************************************/ -be_local_closure(class_SequenceManager_push_closure_step, /* name */ +be_local_closure(class_sequence_manager_push_closure_step, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -5175,7 +5175,7 @@ be_local_closure(class_SequenceManager_push_closure_step, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(push_closure_step), &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ @@ -5197,7 +5197,7 @@ be_local_closure(class_SequenceManager_push_closure_step, /* name */ /******************************************************************** ** Solidified function: execute_closure_steps_batch ********************************************************************/ -be_local_closure(class_SequenceManager_execute_closure_steps_batch, /* name */ +be_local_closure(class_sequence_manager_execute_closure_steps_batch, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -5207,7 +5207,7 @@ be_local_closure(class_SequenceManager_execute_closure_steps_batch, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_SequenceManager, /* shared constants */ + &be_ktab_class_sequence_manager, /* shared constants */ be_str_weak(execute_closure_steps_batch), &be_const_str_solidified, ( &(const binstruction[36]) { /* code */ @@ -5254,41 +5254,41 @@ be_local_closure(class_SequenceManager_execute_closure_steps_batch, /* name */ /******************************************************************** -** Solidified class: SequenceManager +** Solidified class: sequence_manager ********************************************************************/ -extern const bclass be_class_ParameterizedObject; -be_local_class(SequenceManager, +extern const bclass be_class_parameterized_object; +be_local_class(sequence_manager, 9, - &be_class_ParameterizedObject, + &be_class_parameterized_object, be_nested_map(25, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(is_repeat_sequence, -1), be_const_var(8) }, { be_const_key_weak(current_iteration, -1), be_const_var(7) }, { be_const_key_weak(step_refs, -1), be_const_var(5) }, - { be_const_key_weak(push_wait_step, -1), be_const_closure(class_SequenceManager_push_wait_step_closure) }, - { be_const_key_weak(advance_to_next_step, -1), be_const_closure(class_SequenceManager_advance_to_next_step_closure) }, - { be_const_key_weak(init, 4), be_const_closure(class_SequenceManager_init_closure) }, - { be_const_key_weak(push_repeat_subsequence, -1), be_const_closure(class_SequenceManager_push_repeat_subsequence_closure) }, - { be_const_key_weak(is_sequence_running, -1), be_const_closure(class_SequenceManager_is_sequence_running_closure) }, + { be_const_key_weak(push_wait_step, -1), be_const_closure(class_sequence_manager_push_wait_step_closure) }, + { be_const_key_weak(advance_to_next_step, -1), be_const_closure(class_sequence_manager_advance_to_next_step_closure) }, + { be_const_key_weak(init, 4), be_const_closure(class_sequence_manager_init_closure) }, + { be_const_key_weak(push_repeat_subsequence, -1), be_const_closure(class_sequence_manager_push_repeat_subsequence_closure) }, + { be_const_key_weak(is_sequence_running, -1), be_const_closure(class_sequence_manager_is_sequence_running_closure) }, { be_const_key_weak(step_start_time, 24), be_const_var(3) }, - { be_const_key_weak(update, -1), be_const_closure(class_SequenceManager_update_closure) }, - { be_const_key_weak(stop_all_subsequences, -1), be_const_closure(class_SequenceManager_stop_all_subsequences_closure) }, - { be_const_key_weak(start, 1), be_const_closure(class_SequenceManager_start_closure) }, + { be_const_key_weak(update, -1), be_const_closure(class_sequence_manager_update_closure) }, + { be_const_key_weak(stop_all_subsequences, -1), be_const_closure(class_sequence_manager_stop_all_subsequences_closure) }, + { be_const_key_weak(start, 1), be_const_closure(class_sequence_manager_start_closure) }, { be_const_key_weak(sequence_state, -1), be_const_var(1) }, - { be_const_key_weak(complete_iteration, 7), be_const_closure(class_SequenceManager_complete_iteration_closure) }, - { be_const_key_weak(execute_closure_steps_batch_atomic, 12), be_const_closure(class_SequenceManager_execute_closure_steps_batch_atomic_closure) }, - { be_const_key_weak(execute_current_step, -1), be_const_closure(class_SequenceManager_execute_current_step_closure) }, + { be_const_key_weak(complete_iteration, 7), be_const_closure(class_sequence_manager_complete_iteration_closure) }, + { be_const_key_weak(execute_closure_steps_batch_atomic, 12), be_const_closure(class_sequence_manager_execute_closure_steps_batch_atomic_closure) }, + { be_const_key_weak(execute_current_step, -1), be_const_closure(class_sequence_manager_execute_current_step_closure) }, { be_const_key_weak(step_durations, -1), be_const_var(4) }, - { be_const_key_weak(stop, -1), be_const_closure(class_SequenceManager_stop_closure) }, - { be_const_key_weak(get_resolved_repeat_count, 15), be_const_closure(class_SequenceManager_get_resolved_repeat_count_closure) }, - { be_const_key_weak(push_play_step, -1), be_const_closure(class_SequenceManager_push_play_step_closure) }, + { be_const_key_weak(stop, -1), be_const_closure(class_sequence_manager_stop_closure) }, + { be_const_key_weak(get_resolved_repeat_count, 15), be_const_closure(class_sequence_manager_get_resolved_repeat_count_closure) }, + { be_const_key_weak(push_play_step, -1), be_const_closure(class_sequence_manager_push_play_step_closure) }, { be_const_key_weak(repeat_count, -1), be_const_var(6) }, { be_const_key_weak(active_sequence, -1), be_const_var(0) }, - { be_const_key_weak(push_closure_step, -1), be_const_closure(class_SequenceManager_push_closure_step_closure) }, - { be_const_key_weak(execute_closure_steps_batch, -1), be_const_closure(class_SequenceManager_execute_closure_steps_batch_closure) }, + { be_const_key_weak(push_closure_step, -1), be_const_closure(class_sequence_manager_push_closure_step_closure) }, + { be_const_key_weak(execute_closure_steps_batch, -1), be_const_closure(class_sequence_manager_execute_closure_steps_batch_closure) }, { be_const_key_weak(step_index, -1), be_const_var(2) }, })), - be_str_weak(SequenceManager) + be_str_weak(sequence_manager) ); /******************************************************************** @@ -5755,10 +5755,10 @@ be_local_closure(class_Animation_update, /* name */ /******************************************************************** ** Solidified class: Animation ********************************************************************/ -extern const bclass be_class_ParameterizedObject; +extern const bclass be_class_parameterized_object; be_local_class(Animation, 1, - &be_class_ParameterizedObject, + &be_class_parameterized_object, be_nested_map(9, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(update, 1), be_const_closure(class_Animation_update_closure) }, @@ -7474,8 +7474,8 @@ be_local_class(CometAnimation, })), be_str_weak(CometAnimation) ); -// compact class 'OscillatorValueProvider' ktab size: 22, total: 24 (saved 16 bytes) -static const bvalue be_ktab_class_OscillatorValueProvider[22] = { +// compact class 'oscillator_value' ktab size: 22, total: 24 (saved 16 bytes) +static const bvalue be_ktab_class_oscillator_value[22] = { /* K0 */ be_nested_str_weak(init), /* K1 */ be_nested_str_weak(value), /* K2 */ be_const_int(0), @@ -7501,12 +7501,12 @@ static const bvalue be_ktab_class_OscillatorValueProvider[22] = { }; -extern const bclass be_class_OscillatorValueProvider; +extern const bclass be_class_oscillator_value; /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(class_OscillatorValueProvider_init, /* name */ +be_local_closure(class_oscillator_value_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -7516,7 +7516,7 @@ be_local_closure(class_OscillatorValueProvider_init, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_OscillatorValueProvider, /* shared constants */ + &be_ktab_class_oscillator_value, /* shared constants */ be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[ 8]) { /* code */ @@ -7537,7 +7537,7 @@ be_local_closure(class_OscillatorValueProvider_init, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(class_OscillatorValueProvider_start, /* name */ +be_local_closure(class_oscillator_value_start, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -7547,7 +7547,7 @@ be_local_closure(class_OscillatorValueProvider_start, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_OscillatorValueProvider, /* shared constants */ + &be_ktab_class_oscillator_value, /* shared constants */ be_str_weak(start), &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ @@ -7567,7 +7567,7 @@ be_local_closure(class_OscillatorValueProvider_start, /* name */ /******************************************************************** ** Solidified function: produce_value ********************************************************************/ -be_local_closure(class_OscillatorValueProvider_produce_value, /* name */ +be_local_closure(class_oscillator_value_produce_value, /* name */ be_nested_proto( 24, /* nstack */ 3, /* argc */ @@ -7577,7 +7577,7 @@ be_local_closure(class_OscillatorValueProvider_produce_value, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_OscillatorValueProvider, /* shared constants */ + &be_ktab_class_oscillator_value, /* shared constants */ be_str_weak(produce_value), &be_const_str_solidified, ( &(const binstruction[349]) { /* code */ @@ -7937,17 +7937,17 @@ be_local_closure(class_OscillatorValueProvider_produce_value, /* name */ /******************************************************************** -** Solidified class: OscillatorValueProvider +** Solidified class: oscillator_value ********************************************************************/ -extern const bclass be_class_ValueProvider; -be_local_class(OscillatorValueProvider, +extern const bclass be_class_value_provider; +be_local_class(oscillator_value, 1, - &be_class_ValueProvider, + &be_class_value_provider, be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(init, -1), be_const_closure(class_OscillatorValueProvider_init_closure) }, - { be_const_key_weak(start, -1), be_const_closure(class_OscillatorValueProvider_start_closure) }, - { be_const_key_weak(produce_value, 4), be_const_closure(class_OscillatorValueProvider_produce_value_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_oscillator_value_init_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_oscillator_value_start_closure) }, + { be_const_key_weak(produce_value, 4), be_const_closure(class_oscillator_value_produce_value_closure) }, { be_const_key_weak(PARAMS, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { @@ -7960,7 +7960,7 @@ be_local_class(OscillatorValueProvider, })) ) } )) }, { be_const_key_weak(value, -1), be_const_var(0) }, })), - be_str_weak(OscillatorValueProvider) + be_str_weak(oscillator_value) ); /******************************************************************** @@ -8150,10 +8150,10 @@ be_local_closure(class_closure_value_on_param_changed, /* name */ /******************************************************************** ** Solidified class: closure_value ********************************************************************/ -extern const bclass be_class_ValueProvider; +extern const bclass be_class_value_provider; be_local_class(closure_value, 1, - &be_class_ValueProvider, + &be_class_value_provider, be_nested_map(4, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(_closure, -1), be_const_var(0) }, @@ -10665,10 +10665,10 @@ be_local_closure(wave_rainbow_sine, /* name */ ); /*******************************************************************/ -extern const bclass be_class_ParameterizedObject; -// compact class 'ParameterizedObject' ktab size: 59, total: 123 (saved 512 bytes) -static const bvalue be_ktab_class_ParameterizedObject[59] = { - /* K0 */ be_const_class(be_class_ParameterizedObject), +extern const bclass be_class_parameterized_object; +// compact class 'parameterized_object' ktab size: 59, total: 123 (saved 512 bytes) +static const bvalue be_ktab_class_parameterized_object[59] = { + /* K0 */ be_const_class(be_class_parameterized_object), /* K1 */ be_const_int(1), /* K2 */ be_const_int(0), /* K3 */ be_nested_str_weak(_MASK), @@ -10730,12 +10730,12 @@ static const bvalue be_ktab_class_ParameterizedObject[59] = { }; -extern const bclass be_class_ParameterizedObject; +extern const bclass be_class_parameterized_object; /******************************************************************** ** Solidified function: constraint_find ********************************************************************/ -be_local_closure(class_ParameterizedObject_constraint_find, /* name */ +be_local_closure(class_parameterized_object_constraint_find, /* name */ be_nested_proto( 17, /* nstack */ 3, /* argc */ @@ -10919,7 +10919,7 @@ be_local_closure(class_ParameterizedObject_constraint_find, /* name */ ), }), 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(constraint_find), &be_const_str_solidified, ( &(const binstruction[112]) { /* code */ @@ -11044,7 +11044,7 @@ be_local_closure(class_ParameterizedObject_constraint_find, /* name */ /******************************************************************** ** Solidified function: setmember ********************************************************************/ -be_local_closure(class_ParameterizedObject_setmember, /* name */ +be_local_closure(class_parameterized_object_setmember, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -11054,7 +11054,7 @@ be_local_closure(class_ParameterizedObject_setmember, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(setmember), &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ @@ -11085,7 +11085,7 @@ be_local_closure(class_ParameterizedObject_setmember, /* name */ /******************************************************************** ** Solidified function: _validate_param ********************************************************************/ -be_local_closure(class_ParameterizedObject__validate_param, /* name */ +be_local_closure(class_parameterized_object__validate_param, /* name */ be_nested_proto( 15, /* nstack */ 3, /* argc */ @@ -11095,7 +11095,7 @@ be_local_closure(class_ParameterizedObject__validate_param, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_validate_param), &be_const_str_solidified, ( &(const binstruction[186]) { /* code */ @@ -11294,7 +11294,7 @@ be_local_closure(class_ParameterizedObject__validate_param, /* name */ /******************************************************************** ** Solidified function: update ********************************************************************/ -be_local_closure(class_ParameterizedObject_update, /* name */ +be_local_closure(class_parameterized_object_update, /* name */ be_nested_proto( 2, /* nstack */ 2, /* argc */ @@ -11304,7 +11304,7 @@ be_local_closure(class_ParameterizedObject_update, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(update), &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ @@ -11318,7 +11318,7 @@ be_local_closure(class_ParameterizedObject_update, /* name */ /******************************************************************** ** Solidified function: _resolve_parameter_value ********************************************************************/ -be_local_closure(class_ParameterizedObject__resolve_parameter_value, /* name */ +be_local_closure(class_parameterized_object__resolve_parameter_value, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -11328,7 +11328,7 @@ be_local_closure(class_ParameterizedObject__resolve_parameter_value, /* name * 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_resolve_parameter_value), &be_const_str_solidified, ( &(const binstruction[31]) { /* code */ @@ -11372,7 +11372,7 @@ be_local_closure(class_ParameterizedObject__resolve_parameter_value, /* name * /******************************************************************** ** Solidified function: constraint_mask ********************************************************************/ -be_local_closure(class_ParameterizedObject_constraint_mask, /* name */ +be_local_closure(class_parameterized_object_constraint_mask, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -11382,7 +11382,7 @@ be_local_closure(class_ParameterizedObject_constraint_mask, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(constraint_mask), &be_const_str_solidified, ( &(const binstruction[21]) { /* code */ @@ -11416,7 +11416,7 @@ be_local_closure(class_ParameterizedObject_constraint_mask, /* name */ /******************************************************************** ** Solidified function: member ********************************************************************/ -be_local_closure(class_ParameterizedObject_member, /* name */ +be_local_closure(class_parameterized_object_member, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -11426,7 +11426,7 @@ be_local_closure(class_ParameterizedObject_member, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(member), &be_const_str_solidified, ( &(const binstruction[58]) { /* code */ @@ -11497,7 +11497,7 @@ be_local_closure(class_ParameterizedObject_member, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(class_ParameterizedObject_start, /* name */ +be_local_closure(class_parameterized_object_start, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -11507,7 +11507,7 @@ be_local_closure(class_ParameterizedObject_start, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(start), &be_const_str_solidified, ( &(const binstruction[13]) { /* code */ @@ -11533,7 +11533,7 @@ be_local_closure(class_ParameterizedObject_start, /* name */ /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(class_ParameterizedObject_stop, /* name */ +be_local_closure(class_parameterized_object_stop, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -11543,7 +11543,7 @@ be_local_closure(class_ParameterizedObject_stop, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(stop), &be_const_str_solidified, ( &(const binstruction[ 3]) { /* code */ @@ -11559,7 +11559,7 @@ be_local_closure(class_ParameterizedObject_stop, /* name */ /******************************************************************** ** Solidified function: _init_parameter_values ********************************************************************/ -be_local_closure(class_ParameterizedObject__init_parameter_values, /* name */ +be_local_closure(class_parameterized_object__init_parameter_values, /* name */ be_nested_proto( 12, /* nstack */ 1, /* argc */ @@ -11569,7 +11569,7 @@ be_local_closure(class_ParameterizedObject__init_parameter_values, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_init_parameter_values), &be_const_str_solidified, ( &(const binstruction[47]) { /* code */ @@ -11629,7 +11629,7 @@ be_local_closure(class_ParameterizedObject__init_parameter_values, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(class_ParameterizedObject_init, /* name */ +be_local_closure(class_parameterized_object_init, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -11639,7 +11639,7 @@ be_local_closure(class_ParameterizedObject_init, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ @@ -11670,7 +11670,7 @@ be_local_closure(class_ParameterizedObject_init, /* name */ /******************************************************************** ** Solidified function: _fix_time_ms ********************************************************************/ -be_local_closure(class_ParameterizedObject__fix_time_ms, /* name */ +be_local_closure(class_parameterized_object__fix_time_ms, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -11680,7 +11680,7 @@ be_local_closure(class_ParameterizedObject__fix_time_ms, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_fix_time_ms), &be_const_str_solidified, ( &(const binstruction[11]) { /* code */ @@ -11704,7 +11704,7 @@ be_local_closure(class_ParameterizedObject__fix_time_ms, /* name */ /******************************************************************** ** Solidified function: has_param ********************************************************************/ -be_local_closure(class_ParameterizedObject_has_param, /* name */ +be_local_closure(class_parameterized_object_has_param, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -11714,7 +11714,7 @@ be_local_closure(class_ParameterizedObject_has_param, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(has_param), &be_const_str_solidified, ( &(const binstruction[ 6]) { /* code */ @@ -11733,7 +11733,7 @@ be_local_closure(class_ParameterizedObject_has_param, /* name */ /******************************************************************** ** Solidified function: == ********************************************************************/ -be_local_closure(class_ParameterizedObject__X3D_X3D, /* name */ +be_local_closure(class_parameterized_object__X3D_X3D, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -11743,7 +11743,7 @@ be_local_closure(class_ParameterizedObject__X3D_X3D, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_X3D_X3D), &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ @@ -11765,7 +11765,7 @@ be_local_closure(class_ParameterizedObject__X3D_X3D, /* name */ /******************************************************************** ** Solidified function: set_param ********************************************************************/ -be_local_closure(class_ParameterizedObject_set_param, /* name */ +be_local_closure(class_parameterized_object_set_param, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -11775,7 +11775,7 @@ be_local_closure(class_ParameterizedObject_set_param, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(set_param), &be_const_str_solidified, ( &(const binstruction[24]) { /* code */ @@ -11812,7 +11812,7 @@ be_local_closure(class_ParameterizedObject_set_param, /* name */ /******************************************************************** ** Solidified function: on_param_changed ********************************************************************/ -be_local_closure(class_ParameterizedObject_on_param_changed, /* name */ +be_local_closure(class_parameterized_object_on_param_changed, /* name */ be_nested_proto( 3, /* nstack */ 3, /* argc */ @@ -11822,7 +11822,7 @@ be_local_closure(class_ParameterizedObject_on_param_changed, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(on_param_changed), &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ @@ -11836,7 +11836,7 @@ be_local_closure(class_ParameterizedObject_on_param_changed, /* name */ /******************************************************************** ** Solidified function: != ********************************************************************/ -be_local_closure(class_ParameterizedObject__X21_X3D, /* name */ +be_local_closure(class_parameterized_object__X21_X3D, /* name */ be_nested_proto( 3, /* nstack */ 2, /* argc */ @@ -11846,7 +11846,7 @@ be_local_closure(class_ParameterizedObject__X21_X3D, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_X21_X3D), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ @@ -11864,7 +11864,7 @@ be_local_closure(class_ParameterizedObject__X21_X3D, /* name */ /******************************************************************** ** Solidified function: _set_parameter_value ********************************************************************/ -be_local_closure(class_ParameterizedObject__set_parameter_value, /* name */ +be_local_closure(class_parameterized_object__set_parameter_value, /* name */ be_nested_proto( 7, /* nstack */ 3, /* argc */ @@ -11874,7 +11874,7 @@ be_local_closure(class_ParameterizedObject__set_parameter_value, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_set_parameter_value), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ @@ -11904,7 +11904,7 @@ be_local_closure(class_ParameterizedObject__set_parameter_value, /* name */ /******************************************************************** ** Solidified function: tobool ********************************************************************/ -be_local_closure(class_ParameterizedObject_tobool, /* name */ +be_local_closure(class_parameterized_object_tobool, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -11914,7 +11914,7 @@ be_local_closure(class_ParameterizedObject_tobool, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(tobool), &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ @@ -11929,7 +11929,7 @@ be_local_closure(class_ParameterizedObject_tobool, /* name */ /******************************************************************** ** Solidified function: tostring ********************************************************************/ -be_local_closure(class_ParameterizedObject_tostring, /* name */ +be_local_closure(class_parameterized_object_tostring, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -11939,7 +11939,7 @@ be_local_closure(class_ParameterizedObject_tostring, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(tostring), &be_const_str_solidified, ( &(const binstruction[ 7]) { /* code */ @@ -11959,7 +11959,7 @@ be_local_closure(class_ParameterizedObject_tostring, /* name */ /******************************************************************** ** Solidified function: resolve_value ********************************************************************/ -be_local_closure(class_ParameterizedObject_resolve_value, /* name */ +be_local_closure(class_parameterized_object_resolve_value, /* name */ be_nested_proto( 10, /* nstack */ 4, /* argc */ @@ -11969,7 +11969,7 @@ be_local_closure(class_ParameterizedObject_resolve_value, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(resolve_value), &be_const_str_solidified, ( &(const binstruction[34]) { /* code */ @@ -12016,7 +12016,7 @@ be_local_closure(class_ParameterizedObject_resolve_value, /* name */ /******************************************************************** ** Solidified function: get_param_value ********************************************************************/ -be_local_closure(class_ParameterizedObject_get_param_value, /* name */ +be_local_closure(class_parameterized_object_get_param_value, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -12026,7 +12026,7 @@ be_local_closure(class_ParameterizedObject_get_param_value, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(get_param_value), &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ @@ -12043,7 +12043,7 @@ be_local_closure(class_ParameterizedObject_get_param_value, /* name */ /******************************************************************** ** Solidified function: _get_param_def ********************************************************************/ -be_local_closure(class_ParameterizedObject__get_param_def, /* name */ +be_local_closure(class_parameterized_object__get_param_def, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -12053,7 +12053,7 @@ be_local_closure(class_ParameterizedObject__get_param_def, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(_get_param_def), &be_const_str_solidified, ( &(const binstruction[26]) { /* code */ @@ -12092,7 +12092,7 @@ be_local_closure(class_ParameterizedObject__get_param_def, /* name */ /******************************************************************** ** Solidified function: get_param ********************************************************************/ -be_local_closure(class_ParameterizedObject_get_param, /* name */ +be_local_closure(class_parameterized_object_get_param, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -12102,7 +12102,7 @@ be_local_closure(class_ParameterizedObject_get_param, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_ParameterizedObject, /* shared constants */ + &be_ktab_class_parameterized_object, /* shared constants */ be_str_weak(get_param), &be_const_str_solidified, ( &(const binstruction[26]) { /* code */ @@ -12139,18 +12139,18 @@ be_local_closure(class_ParameterizedObject_get_param, /* name */ /******************************************************************** -** Solidified class: ParameterizedObject +** Solidified class: parameterized_object ********************************************************************/ -be_local_class(ParameterizedObject, +be_local_class(parameterized_object, 4, NULL, be_nested_map(30, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(constraint_find, 10), be_const_static_closure(class_ParameterizedObject_constraint_find_closure) }, - { be_const_key_weak(setmember, 20), be_const_closure(class_ParameterizedObject_setmember_closure) }, - { be_const_key_weak(get_param, -1), be_const_closure(class_ParameterizedObject_get_param_closure) }, + { be_const_key_weak(constraint_find, 10), be_const_static_closure(class_parameterized_object_constraint_find_closure) }, + { be_const_key_weak(setmember, 20), be_const_closure(class_parameterized_object_setmember_closure) }, + { be_const_key_weak(get_param, -1), be_const_closure(class_parameterized_object_get_param_closure) }, { be_const_key_weak(values, -1), be_const_var(0) }, - { be_const_key_weak(update, -1), be_const_closure(class_ParameterizedObject_update_closure) }, + { be_const_key_weak(update, -1), be_const_closure(class_parameterized_object_update_closure) }, { be_const_key_weak(_TYPES, 18), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { @@ -12162,10 +12162,10 @@ be_local_class(ParameterizedObject, be_nested_str_weak(instance), be_nested_str_weak(function), })) ) } )) }, - { be_const_key_weak(_resolve_parameter_value, -1), be_const_closure(class_ParameterizedObject__resolve_parameter_value_closure) }, - { be_const_key_weak(constraint_mask, 21), be_const_static_closure(class_ParameterizedObject_constraint_mask_closure) }, - { be_const_key_weak(_get_param_def, -1), be_const_closure(class_ParameterizedObject__get_param_def_closure) }, - { be_const_key_weak(get_param_value, -1), be_const_closure(class_ParameterizedObject_get_param_value_closure) }, + { be_const_key_weak(_resolve_parameter_value, -1), be_const_closure(class_parameterized_object__resolve_parameter_value_closure) }, + { be_const_key_weak(constraint_mask, 21), be_const_static_closure(class_parameterized_object_constraint_mask_closure) }, + { be_const_key_weak(_get_param_def, -1), be_const_closure(class_parameterized_object__get_param_def_closure) }, + { be_const_key_weak(get_param_value, -1), be_const_closure(class_parameterized_object_get_param_value_closure) }, { be_const_key_weak(_MASK, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { be_const_list( * be_nested_list(6, ( (struct bvalue*) &(const bvalue[]) { @@ -12176,27 +12176,27 @@ be_local_class(ParameterizedObject, be_nested_str_weak(enum), be_nested_str_weak(nillable), })) ) } )) }, - { be_const_key_weak(start, -1), be_const_closure(class_ParameterizedObject_start_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_parameterized_object_start_closure) }, { be_const_key_weak(is_running, -1), be_const_var(3) }, - { be_const_key_weak(_init_parameter_values, -1), be_const_closure(class_ParameterizedObject__init_parameter_values_closure) }, - { be_const_key_weak(has_param, 13), be_const_closure(class_ParameterizedObject_has_param_closure) }, - { be_const_key_weak(init, -1), be_const_closure(class_ParameterizedObject_init_closure) }, - { be_const_key_weak(_fix_time_ms, -1), be_const_closure(class_ParameterizedObject__fix_time_ms_closure) }, - { be_const_key_weak(stop, 14), be_const_closure(class_ParameterizedObject_stop_closure) }, - { be_const_key_weak(_X3D_X3D, -1), be_const_closure(class_ParameterizedObject__X3D_X3D_closure) }, - { be_const_key_weak(set_param, -1), be_const_closure(class_ParameterizedObject_set_param_closure) }, - { be_const_key_weak(_X21_X3D, 26), be_const_closure(class_ParameterizedObject__X21_X3D_closure) }, - { be_const_key_weak(on_param_changed, -1), be_const_closure(class_ParameterizedObject_on_param_changed_closure) }, - { be_const_key_weak(_set_parameter_value, -1), be_const_closure(class_ParameterizedObject__set_parameter_value_closure) }, + { be_const_key_weak(_init_parameter_values, -1), be_const_closure(class_parameterized_object__init_parameter_values_closure) }, + { be_const_key_weak(has_param, 13), be_const_closure(class_parameterized_object_has_param_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_parameterized_object_init_closure) }, + { be_const_key_weak(_fix_time_ms, -1), be_const_closure(class_parameterized_object__fix_time_ms_closure) }, + { be_const_key_weak(stop, 14), be_const_closure(class_parameterized_object_stop_closure) }, + { be_const_key_weak(_X3D_X3D, -1), be_const_closure(class_parameterized_object__X3D_X3D_closure) }, + { be_const_key_weak(set_param, -1), be_const_closure(class_parameterized_object_set_param_closure) }, + { be_const_key_weak(_X21_X3D, 26), be_const_closure(class_parameterized_object__X21_X3D_closure) }, + { be_const_key_weak(on_param_changed, -1), be_const_closure(class_parameterized_object_on_param_changed_closure) }, + { be_const_key_weak(_set_parameter_value, -1), be_const_closure(class_parameterized_object__set_parameter_value_closure) }, { be_const_key_weak(engine, -1), be_const_var(1) }, - { be_const_key_weak(tobool, -1), be_const_closure(class_ParameterizedObject_tobool_closure) }, - { be_const_key_weak(tostring, -1), be_const_closure(class_ParameterizedObject_tostring_closure) }, - { be_const_key_weak(member, 12), be_const_closure(class_ParameterizedObject_member_closure) }, + { be_const_key_weak(tobool, -1), be_const_closure(class_parameterized_object_tobool_closure) }, + { be_const_key_weak(tostring, -1), be_const_closure(class_parameterized_object_tostring_closure) }, + { be_const_key_weak(member, 12), be_const_closure(class_parameterized_object_member_closure) }, { be_const_key_weak(start_time, 9), be_const_var(2) }, - { be_const_key_weak(_validate_param, 8), be_const_closure(class_ParameterizedObject__validate_param_closure) }, - { be_const_key_weak(resolve_value, 2), be_const_closure(class_ParameterizedObject_resolve_value_closure) }, + { be_const_key_weak(_validate_param, 8), be_const_closure(class_parameterized_object__validate_param_closure) }, + { be_const_key_weak(resolve_value, 2), be_const_closure(class_parameterized_object_resolve_value_closure) }, })), - be_str_weak(ParameterizedObject) + be_str_weak(parameterized_object) ); /******************************************************************** @@ -12332,20 +12332,20 @@ be_local_closure(triangle, /* name */ ); /*******************************************************************/ -// compact class 'StaticColorProvider' ktab size: 3, total: 6 (saved 24 bytes) -static const bvalue be_ktab_class_StaticColorProvider[3] = { +// compact class 'static_color' ktab size: 3, total: 6 (saved 24 bytes) +static const bvalue be_ktab_class_static_color[3] = { /* K0 */ be_nested_str_weak(color), /* K1 */ be_nested_str_weak(brightness), /* K2 */ be_nested_str_weak(apply_brightness), }; -extern const bclass be_class_StaticColorProvider; +extern const bclass be_class_static_color; /******************************************************************** ** Solidified function: produce_value ********************************************************************/ -be_local_closure(class_StaticColorProvider_produce_value, /* name */ +be_local_closure(class_static_color_produce_value, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -12355,7 +12355,7 @@ be_local_closure(class_StaticColorProvider_produce_value, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_StaticColorProvider, /* shared constants */ + &be_ktab_class_static_color, /* shared constants */ be_str_weak(produce_value), &be_const_str_solidified, ( &(const binstruction[11]) { /* code */ @@ -12379,7 +12379,7 @@ be_local_closure(class_StaticColorProvider_produce_value, /* name */ /******************************************************************** ** Solidified function: get_color_for_value ********************************************************************/ -be_local_closure(class_StaticColorProvider_get_color_for_value, /* name */ +be_local_closure(class_static_color_get_color_for_value, /* name */ be_nested_proto( 9, /* nstack */ 3, /* argc */ @@ -12389,7 +12389,7 @@ be_local_closure(class_StaticColorProvider_get_color_for_value, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_StaticColorProvider, /* shared constants */ + &be_ktab_class_static_color, /* shared constants */ be_str_weak(get_color_for_value), &be_const_str_solidified, ( &(const binstruction[11]) { /* code */ @@ -12411,23 +12411,23 @@ be_local_closure(class_StaticColorProvider_get_color_for_value, /* name */ /******************************************************************** -** Solidified class: StaticColorProvider +** Solidified class: static_color ********************************************************************/ extern const bclass be_class_color_provider; -be_local_class(StaticColorProvider, +be_local_class(static_color, 0, &be_class_color_provider, be_nested_map(3, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(produce_value, 1), be_const_closure(class_StaticColorProvider_produce_value_closure) }, + { be_const_key_weak(produce_value, 1), be_const_closure(class_static_color_produce_value_closure) }, { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_weak(color, -1), be_const_bytes_instance(0400FF) }, })) ) } )) }, - { be_const_key_weak(get_color_for_value, -1), be_const_closure(class_StaticColorProvider_get_color_for_value_closure) }, + { be_const_key_weak(get_color_for_value, -1), be_const_closure(class_static_color_get_color_for_value_closure) }, })), - be_str_weak(StaticColorProvider) + be_str_weak(static_color) ); // compact class 'PaletteGradientAnimation' ktab size: 32, total: 47 (saved 120 bytes) static const bvalue be_ktab_class_PaletteGradientAnimation[32] = { @@ -12838,8 +12838,8 @@ be_local_class(PaletteGradientAnimation, })), be_str_weak(PaletteGradientAnimation) ); -// compact class 'EngineProxy' ktab size: 40, total: 109 (saved 552 bytes) -static const bvalue be_ktab_class_EngineProxy[40] = { +// compact class 'engine_proxy' ktab size: 40, total: 109 (saved 552 bytes) +static const bvalue be_ktab_class_engine_proxy[40] = { /* K0 */ be_nested_str_weak(engine), /* K1 */ be_nested_str_weak(strip_length), /* K2 */ be_nested_str_weak(animation), @@ -12866,7 +12866,7 @@ static const bvalue be_ktab_class_EngineProxy[40] = { /* K23 */ be_nested_str_weak(_add_value_provider), /* K24 */ be_nested_str_weak(_add_animation), /* K25 */ be_nested_str_weak(type_error), - /* K26 */ be_nested_str_weak(only_X20Animation_X2C_X20SequenceManager_X2C_X20or_X20ValueProvider), + /* K26 */ be_nested_str_weak(only_X20Animation_X2C_X20sequence_manager_X2C_X20or_X20value_provider), /* K27 */ be_nested_str_weak(update), /* K28 */ be_nested_str_weak(start_time), /* K29 */ be_nested_str_weak(pop), @@ -12883,12 +12883,12 @@ static const bvalue be_ktab_class_EngineProxy[40] = { }; -extern const bclass be_class_EngineProxy; +extern const bclass be_class_engine_proxy; /******************************************************************** ** Solidified function: get_strip_length ********************************************************************/ -be_local_closure(class_EngineProxy_get_strip_length, /* name */ +be_local_closure(class_engine_proxy_get_strip_length, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -12898,7 +12898,7 @@ be_local_closure(class_EngineProxy_get_strip_length, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(get_strip_length), &be_const_str_solidified, ( &(const binstruction[ 3]) { /* code */ @@ -12914,7 +12914,7 @@ be_local_closure(class_EngineProxy_get_strip_length, /* name */ /******************************************************************** ** Solidified function: remove ********************************************************************/ -be_local_closure(class_EngineProxy_remove, /* name */ +be_local_closure(class_engine_proxy_remove, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -12924,7 +12924,7 @@ be_local_closure(class_EngineProxy_remove, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(remove), &be_const_str_solidified, ( &(const binstruction[34]) { /* code */ @@ -12971,7 +12971,7 @@ be_local_closure(class_EngineProxy_remove, /* name */ /******************************************************************** ** Solidified function: size_animations ********************************************************************/ -be_local_closure(class_EngineProxy_size_animations, /* name */ +be_local_closure(class_engine_proxy_size_animations, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -12981,7 +12981,7 @@ be_local_closure(class_EngineProxy_size_animations, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(size_animations), &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ @@ -12998,7 +12998,7 @@ be_local_closure(class_EngineProxy_size_animations, /* name */ /******************************************************************** ** Solidified function: _add_animation ********************************************************************/ -be_local_closure(class_EngineProxy__add_animation, /* name */ +be_local_closure(class_engine_proxy__add_animation, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -13008,7 +13008,7 @@ be_local_closure(class_EngineProxy__add_animation, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_add_animation), &be_const_str_solidified, ( &(const binstruction[25]) { /* code */ @@ -13046,7 +13046,7 @@ be_local_closure(class_EngineProxy__add_animation, /* name */ /******************************************************************** ** Solidified function: start ********************************************************************/ -be_local_closure(class_EngineProxy_start, /* name */ +be_local_closure(class_engine_proxy_start, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -13056,7 +13056,7 @@ be_local_closure(class_EngineProxy_start, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(start), &be_const_str_solidified, ( &(const binstruction[46]) { /* code */ @@ -13115,7 +13115,7 @@ be_local_closure(class_EngineProxy_start, /* name */ /******************************************************************** ** Solidified function: _remove_value_provider ********************************************************************/ -be_local_closure(class_EngineProxy__remove_value_provider, /* name */ +be_local_closure(class_engine_proxy__remove_value_provider, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -13125,7 +13125,7 @@ be_local_closure(class_EngineProxy__remove_value_provider, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_remove_value_provider), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ @@ -13155,7 +13155,7 @@ be_local_closure(class_EngineProxy__remove_value_provider, /* name */ /******************************************************************** ** Solidified function: _remove_animation ********************************************************************/ -be_local_closure(class_EngineProxy__remove_animation, /* name */ +be_local_closure(class_engine_proxy__remove_animation, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -13165,7 +13165,7 @@ be_local_closure(class_EngineProxy__remove_animation, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_remove_animation), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ @@ -13195,7 +13195,7 @@ be_local_closure(class_EngineProxy__remove_animation, /* name */ /******************************************************************** ** Solidified function: setup_template ********************************************************************/ -be_local_closure(class_EngineProxy_setup_template, /* name */ +be_local_closure(class_engine_proxy_setup_template, /* name */ be_nested_proto( 1, /* nstack */ 1, /* argc */ @@ -13205,7 +13205,7 @@ be_local_closure(class_EngineProxy_setup_template, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(setup_template), &be_const_str_solidified, ( &(const binstruction[ 1]) { /* code */ @@ -13219,7 +13219,7 @@ be_local_closure(class_EngineProxy_setup_template, /* name */ /******************************************************************** ** Solidified function: update_current_iteration ********************************************************************/ -be_local_closure(class_EngineProxy_update_current_iteration, /* name */ +be_local_closure(class_engine_proxy_update_current_iteration, /* name */ be_nested_proto( 4, /* nstack */ 2, /* argc */ @@ -13229,7 +13229,7 @@ be_local_closure(class_EngineProxy_update_current_iteration, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(update_current_iteration), &be_const_str_solidified, ( &(const binstruction[ 9]) { /* code */ @@ -13251,7 +13251,7 @@ be_local_closure(class_EngineProxy_update_current_iteration, /* name */ /******************************************************************** ** Solidified function: clear ********************************************************************/ -be_local_closure(class_EngineProxy_clear, /* name */ +be_local_closure(class_engine_proxy_clear, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -13261,7 +13261,7 @@ be_local_closure(class_EngineProxy_clear, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(clear), &be_const_str_solidified, ( &(const binstruction[12]) { /* code */ @@ -13286,7 +13286,7 @@ be_local_closure(class_EngineProxy_clear, /* name */ /******************************************************************** ** Solidified function: _add_value_provider ********************************************************************/ -be_local_closure(class_EngineProxy__add_value_provider, /* name */ +be_local_closure(class_engine_proxy__add_value_provider, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -13296,7 +13296,7 @@ be_local_closure(class_EngineProxy__add_value_provider, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_add_value_provider), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ @@ -13326,7 +13326,7 @@ be_local_closure(class_EngineProxy__add_value_provider, /* name */ /******************************************************************** ** Solidified function: _add_sequence_manager ********************************************************************/ -be_local_closure(class_EngineProxy__add_sequence_manager, /* name */ +be_local_closure(class_engine_proxy__add_sequence_manager, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -13336,7 +13336,7 @@ be_local_closure(class_EngineProxy__add_sequence_manager, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_add_sequence_manager), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ @@ -13366,7 +13366,7 @@ be_local_closure(class_EngineProxy__add_sequence_manager, /* name */ /******************************************************************** ** Solidified function: stop ********************************************************************/ -be_local_closure(class_EngineProxy_stop, /* name */ +be_local_closure(class_engine_proxy_stop, /* name */ be_nested_proto( 4, /* nstack */ 1, /* argc */ @@ -13376,7 +13376,7 @@ be_local_closure(class_EngineProxy_stop, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(stop), &be_const_str_solidified, ( &(const binstruction[30]) { /* code */ @@ -13419,7 +13419,7 @@ be_local_closure(class_EngineProxy_stop, /* name */ /******************************************************************** ** Solidified function: add ********************************************************************/ -be_local_closure(class_EngineProxy_add, /* name */ +be_local_closure(class_engine_proxy_add, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -13429,7 +13429,7 @@ be_local_closure(class_EngineProxy_add, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(add), &be_const_str_solidified, ( &(const binstruction[35]) { /* code */ @@ -13477,7 +13477,7 @@ be_local_closure(class_EngineProxy_add, /* name */ /******************************************************************** ** Solidified function: update ********************************************************************/ -be_local_closure(class_EngineProxy_update, /* name */ +be_local_closure(class_engine_proxy_update, /* name */ be_nested_proto( 8, /* nstack */ 2, /* argc */ @@ -13487,7 +13487,7 @@ be_local_closure(class_EngineProxy_update, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(update), &be_const_str_solidified, ( &(const binstruction[73]) { /* code */ @@ -13573,7 +13573,7 @@ be_local_closure(class_EngineProxy_update, /* name */ /******************************************************************** ** Solidified function: pop_iteration_context ********************************************************************/ -be_local_closure(class_EngineProxy_pop_iteration_context, /* name */ +be_local_closure(class_engine_proxy_pop_iteration_context, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -13583,7 +13583,7 @@ be_local_closure(class_EngineProxy_pop_iteration_context, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(pop_iteration_context), &be_const_str_solidified, ( &(const binstruction[11]) { /* code */ @@ -13607,7 +13607,7 @@ be_local_closure(class_EngineProxy_pop_iteration_context, /* name */ /******************************************************************** ** Solidified function: _remove_sequence_manager ********************************************************************/ -be_local_closure(class_EngineProxy__remove_sequence_manager, /* name */ +be_local_closure(class_engine_proxy__remove_sequence_manager, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -13617,7 +13617,7 @@ be_local_closure(class_EngineProxy__remove_sequence_manager, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_remove_sequence_manager), &be_const_str_solidified, ( &(const binstruction[17]) { /* code */ @@ -13647,7 +13647,7 @@ be_local_closure(class_EngineProxy__remove_sequence_manager, /* name */ /******************************************************************** ** Solidified function: is_empty ********************************************************************/ -be_local_closure(class_EngineProxy_is_empty, /* name */ +be_local_closure(class_engine_proxy_is_empty, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -13657,7 +13657,7 @@ be_local_closure(class_EngineProxy_is_empty, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(is_empty), &be_const_str_solidified, ( &(const binstruction[18]) { /* code */ @@ -13688,7 +13688,7 @@ be_local_closure(class_EngineProxy_is_empty, /* name */ /******************************************************************** ** Solidified function: _sort_animations_by_priority ********************************************************************/ -be_local_closure(class_EngineProxy__sort_animations_by_priority, /* name */ +be_local_closure(class_engine_proxy__sort_animations_by_priority, /* name */ be_nested_proto( 9, /* nstack */ 1, /* argc */ @@ -13698,7 +13698,7 @@ be_local_closure(class_EngineProxy__sort_animations_by_priority, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(_sort_animations_by_priority), &be_const_str_solidified, ( &(const binstruction[48]) { /* code */ @@ -13759,7 +13759,7 @@ be_local_closure(class_EngineProxy__sort_animations_by_priority, /* name */ /******************************************************************** ** Solidified function: render ********************************************************************/ -be_local_closure(class_EngineProxy_render, /* name */ +be_local_closure(class_engine_proxy_render, /* name */ be_nested_proto( 14, /* nstack */ 4, /* argc */ @@ -13769,7 +13769,7 @@ be_local_closure(class_EngineProxy_render, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(render), &be_const_str_solidified, ( &(const binstruction[45]) { /* code */ @@ -13827,7 +13827,7 @@ be_local_closure(class_EngineProxy_render, /* name */ /******************************************************************** ** Solidified function: get_current_iteration_number ********************************************************************/ -be_local_closure(class_EngineProxy_get_current_iteration_number, /* name */ +be_local_closure(class_engine_proxy_get_current_iteration_number, /* name */ be_nested_proto( 3, /* nstack */ 1, /* argc */ @@ -13837,7 +13837,7 @@ be_local_closure(class_EngineProxy_get_current_iteration_number, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(get_current_iteration_number), &be_const_str_solidified, ( &(const binstruction[11]) { /* code */ @@ -13861,7 +13861,7 @@ be_local_closure(class_EngineProxy_get_current_iteration_number, /* name */ /******************************************************************** ** Solidified function: push_iteration_context ********************************************************************/ -be_local_closure(class_EngineProxy_push_iteration_context, /* name */ +be_local_closure(class_engine_proxy_push_iteration_context, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -13871,7 +13871,7 @@ be_local_closure(class_EngineProxy_push_iteration_context, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(push_iteration_context), &be_const_str_solidified, ( &(const binstruction[ 5]) { /* code */ @@ -13889,7 +13889,7 @@ be_local_closure(class_EngineProxy_push_iteration_context, /* name */ /******************************************************************** ** Solidified function: get_animations ********************************************************************/ -be_local_closure(class_EngineProxy_get_animations, /* name */ +be_local_closure(class_engine_proxy_get_animations, /* name */ be_nested_proto( 7, /* nstack */ 1, /* argc */ @@ -13899,7 +13899,7 @@ be_local_closure(class_EngineProxy_get_animations, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(get_animations), &be_const_str_solidified, ( &(const binstruction[22]) { /* code */ @@ -13934,7 +13934,7 @@ be_local_closure(class_EngineProxy_get_animations, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(class_EngineProxy_init, /* name */ +be_local_closure(class_engine_proxy_init, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -13944,7 +13944,7 @@ be_local_closure(class_EngineProxy_init, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_EngineProxy, /* shared constants */ + &be_ktab_class_engine_proxy, /* shared constants */ be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[25]) { /* code */ @@ -13980,47 +13980,47 @@ be_local_closure(class_EngineProxy_init, /* name */ /******************************************************************** -** Solidified class: EngineProxy +** Solidified class: engine_proxy ********************************************************************/ extern const bclass be_class_Animation; -be_local_class(EngineProxy, +be_local_class(engine_proxy, 7, &be_class_Animation, be_nested_map(31, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(get_strip_length, -1), be_const_closure(class_EngineProxy_get_strip_length_closure) }, - { be_const_key_weak(remove, -1), be_const_closure(class_EngineProxy_remove_closure) }, - { be_const_key_weak(size_animations, 23), be_const_closure(class_EngineProxy_size_animations_closure) }, - { be_const_key_weak(_add_animation, 24), be_const_closure(class_EngineProxy__add_animation_closure) }, - { be_const_key_weak(start, -1), be_const_closure(class_EngineProxy_start_closure) }, + { be_const_key_weak(get_strip_length, -1), be_const_closure(class_engine_proxy_get_strip_length_closure) }, + { be_const_key_weak(remove, -1), be_const_closure(class_engine_proxy_remove_closure) }, + { be_const_key_weak(size_animations, 23), be_const_closure(class_engine_proxy_size_animations_closure) }, + { be_const_key_weak(_add_animation, 24), be_const_closure(class_engine_proxy__add_animation_closure) }, + { be_const_key_weak(start, -1), be_const_closure(class_engine_proxy_start_closure) }, { be_const_key_weak(value_providers, 19), be_const_var(2) }, - { be_const_key_weak(setup_template, -1), be_const_closure(class_EngineProxy_setup_template_closure) }, - { be_const_key_weak(_remove_animation, -1), be_const_closure(class_EngineProxy__remove_animation_closure) }, + { be_const_key_weak(setup_template, -1), be_const_closure(class_engine_proxy_setup_template_closure) }, + { be_const_key_weak(_remove_animation, -1), be_const_closure(class_engine_proxy__remove_animation_closure) }, { be_const_key_weak(animations, 6), be_const_var(0) }, - { be_const_key_weak(update_current_iteration, -1), be_const_closure(class_EngineProxy_update_current_iteration_closure) }, - { be_const_key_weak(clear, -1), be_const_closure(class_EngineProxy_clear_closure) }, - { be_const_key_weak(_add_value_provider, 12), be_const_closure(class_EngineProxy__add_value_provider_closure) }, - { be_const_key_weak(stop, -1), be_const_closure(class_EngineProxy_stop_closure) }, + { be_const_key_weak(update_current_iteration, -1), be_const_closure(class_engine_proxy_update_current_iteration_closure) }, + { be_const_key_weak(clear, -1), be_const_closure(class_engine_proxy_clear_closure) }, + { be_const_key_weak(_add_value_provider, 12), be_const_closure(class_engine_proxy__add_value_provider_closure) }, + { be_const_key_weak(stop, -1), be_const_closure(class_engine_proxy_stop_closure) }, { be_const_key_weak(strip_length, -1), be_const_var(3) }, - { be_const_key_weak(_add_sequence_manager, -1), be_const_closure(class_EngineProxy__add_sequence_manager_closure) }, - { be_const_key_weak(push_iteration_context, 22), be_const_closure(class_EngineProxy_push_iteration_context_closure) }, - { be_const_key_weak(add, -1), be_const_closure(class_EngineProxy_add_closure) }, - { be_const_key_weak(update, -1), be_const_closure(class_EngineProxy_update_closure) }, - { be_const_key_weak(_remove_value_provider, 27), be_const_closure(class_EngineProxy__remove_value_provider_closure) }, - { be_const_key_weak(pop_iteration_context, -1), be_const_closure(class_EngineProxy_pop_iteration_context_closure) }, - { be_const_key_weak(_remove_sequence_manager, -1), be_const_closure(class_EngineProxy__remove_sequence_manager_closure) }, - { be_const_key_weak(is_empty, -1), be_const_closure(class_EngineProxy_is_empty_closure) }, + { be_const_key_weak(_add_sequence_manager, -1), be_const_closure(class_engine_proxy__add_sequence_manager_closure) }, + { be_const_key_weak(push_iteration_context, 22), be_const_closure(class_engine_proxy_push_iteration_context_closure) }, + { be_const_key_weak(add, -1), be_const_closure(class_engine_proxy_add_closure) }, + { be_const_key_weak(update, -1), be_const_closure(class_engine_proxy_update_closure) }, + { be_const_key_weak(_remove_value_provider, 27), be_const_closure(class_engine_proxy__remove_value_provider_closure) }, + { be_const_key_weak(pop_iteration_context, -1), be_const_closure(class_engine_proxy_pop_iteration_context_closure) }, + { be_const_key_weak(_remove_sequence_manager, -1), be_const_closure(class_engine_proxy__remove_sequence_manager_closure) }, + { be_const_key_weak(is_empty, -1), be_const_closure(class_engine_proxy_is_empty_closure) }, { be_const_key_weak(sequences, -1), be_const_var(1) }, { be_const_key_weak(time_ms, 8), be_const_var(6) }, - { be_const_key_weak(_sort_animations_by_priority, -1), be_const_closure(class_EngineProxy__sort_animations_by_priority_closure) }, - { be_const_key_weak(render, 15), be_const_closure(class_EngineProxy_render_closure) }, - { be_const_key_weak(get_current_iteration_number, -1), be_const_closure(class_EngineProxy_get_current_iteration_number_closure) }, + { be_const_key_weak(_sort_animations_by_priority, -1), be_const_closure(class_engine_proxy__sort_animations_by_priority_closure) }, + { be_const_key_weak(render, 15), be_const_closure(class_engine_proxy_render_closure) }, + { be_const_key_weak(get_current_iteration_number, -1), be_const_closure(class_engine_proxy_get_current_iteration_number_closure) }, { be_const_key_weak(iteration_stack, -1), be_const_var(5) }, - { be_const_key_weak(get_animations, -1), be_const_closure(class_EngineProxy_get_animations_closure) }, - { be_const_key_weak(init, -1), be_const_closure(class_EngineProxy_init_closure) }, + { be_const_key_weak(get_animations, -1), be_const_closure(class_engine_proxy_get_animations_closure) }, + { be_const_key_weak(init, -1), be_const_closure(class_engine_proxy_init_closure) }, { be_const_key_weak(temp_buffer, -1), be_const_var(4) }, })), - be_str_weak(EngineProxy) + be_str_weak(engine_proxy) ); /******************************************************************** @@ -14088,80 +14088,39 @@ be_local_closure(clear_all_event_handlers, /* name */ ); /*******************************************************************/ -// compact class 'FrameBuffer' ktab size: 21, total: 43 (saved 176 bytes) -static const bvalue be_ktab_class_FrameBuffer[21] = { - /* K0 */ be_const_int(0), - /* K1 */ be_nested_str_weak(value_error), - /* K2 */ be_nested_str_weak(width_X20must_X20be_X20positive), - /* K3 */ be_nested_str_weak(width), - /* K4 */ be_nested_str_weak(pixels), - /* K5 */ be_nested_str_weak(resize), - /* K6 */ be_nested_str_weak(clear), - /* K7 */ be_nested_str_weak(int), - /* K8 */ be_nested_str_weak(instance), - /* K9 */ be_nested_str_weak(copy), - /* K10 */ be_nested_str_weak(argument_X20must_X20be_X20either_X20int_X20or_X20instance), - /* K11 */ be_nested_str_weak(index_error), - /* K12 */ be_nested_str_weak(pixel_X20index_X20out_X20of_X20range), - /* K13 */ be_nested_str_weak(set), - /* K14 */ be_nested_str_weak(tohex), - /* K15 */ be_nested_str_weak(FrameBuffer_X28width_X3D_X25s_X2C_X20pixels_X3D_X25s_X29), - /* K16 */ be_nested_str_weak(set_pixel_color), - /* K17 */ be_nested_str_weak(animation), - /* K18 */ be_nested_str_weak(frame_buffer), - /* K19 */ be_nested_str_weak(get), - /* K20 */ be_nested_str_weak(get_pixel_color), +// compact class 'frame_buffer' ktab size: 20, total: 40 (saved 160 bytes) +static const bvalue be_ktab_class_frame_buffer[20] = { + /* K0 */ be_nested_str_weak(pixels), + /* K1 */ be_nested_str_weak(tohex), + /* K2 */ be_nested_str_weak(int), + /* K3 */ be_const_int(0), + /* K4 */ be_nested_str_weak(value_error), + /* K5 */ be_nested_str_weak(width_X20must_X20be_X20positive), + /* K6 */ be_nested_str_weak(width), + /* K7 */ be_nested_str_weak(resize), + /* K8 */ be_nested_str_weak(clear), + /* K9 */ be_nested_str_weak(instance), + /* K10 */ be_nested_str_weak(copy), + /* K11 */ be_nested_str_weak(argument_X20must_X20be_X20either_X20int_X20or_X20instance), + /* K12 */ be_nested_str_weak(animation), + /* K13 */ be_nested_str_weak(frame_buffer), + /* K14 */ be_nested_str_weak(index_error), + /* K15 */ be_nested_str_weak(pixel_X20index_X20out_X20of_X20range), + /* K16 */ be_nested_str_weak(get), + /* K17 */ be_nested_str_weak(set_pixel_color), + /* K18 */ be_nested_str_weak(set), + /* K19 */ be_nested_str_weak(get_pixel_color), }; -extern const bclass be_class_FrameBuffer; +extern const bclass be_class_frame_buffer; /******************************************************************** -** Solidified function: resize +** Solidified function: tohex ********************************************************************/ -be_local_closure(class_FrameBuffer_resize, /* name */ +be_local_closure(class_frame_buffer_tohex, /* name */ be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 10, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(resize), - &be_const_str_solidified, - ( &(const binstruction[17]) { /* code */ - 0x18080300, // 0000 LE R2 R1 K0 - 0x780A0000, // 0001 JMPF R2 #0003 - 0xB0060302, // 0002 RAISE 1 K1 K2 - 0x88080103, // 0003 GETMBR R2 R0 K3 - 0x1C080202, // 0004 EQ R2 R1 R2 - 0x780A0000, // 0005 JMPF R2 #0007 - 0x80000400, // 0006 RET 0 - 0x90020601, // 0007 SETMBR R0 K3 R1 - 0x88080104, // 0008 GETMBR R2 R0 K4 - 0x8C080505, // 0009 GETMET R2 R2 K5 - 0x88100103, // 000A GETMBR R4 R0 K3 - 0x54160003, // 000B LDINT R5 4 - 0x08100805, // 000C MUL R4 R4 R5 - 0x7C080400, // 000D CALL R2 2 - 0x8C080106, // 000E GETMET R2 R0 K6 - 0x7C080200, // 000F CALL R2 1 - 0x80000000, // 0010 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: clear -********************************************************************/ -be_local_closure(class_FrameBuffer_clear, /* name */ - be_nested_proto( - 5, /* nstack */ + 3, /* nstack */ 1, /* argc */ 10, /* varg */ 0, /* has upvals */ @@ -14169,28 +14128,14 @@ be_local_closure(class_FrameBuffer_clear, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(clear), + &be_ktab_class_frame_buffer, /* shared constants */ + be_str_weak(tohex), &be_const_str_solidified, - ( &(const binstruction[18]) { /* code */ - 0x88040104, // 0000 GETMBR R1 R0 K4 - 0x8C040306, // 0001 GETMET R1 R1 K6 + ( &(const binstruction[ 4]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040301, // 0001 GETMET R1 R1 K1 0x7C040200, // 0002 CALL R1 1 - 0x6004000C, // 0003 GETGBL R1 G12 - 0x88080104, // 0004 GETMBR R2 R0 K4 - 0x7C040200, // 0005 CALL R1 1 - 0x88080103, // 0006 GETMBR R2 R0 K3 - 0x540E0003, // 0007 LDINT R3 4 - 0x08080403, // 0008 MUL R2 R2 R3 - 0x20040202, // 0009 NE R1 R1 R2 - 0x78060005, // 000A JMPF R1 #0011 - 0x88040104, // 000B GETMBR R1 R0 K4 - 0x8C040305, // 000C GETMET R1 R1 K5 - 0x880C0103, // 000D GETMBR R3 R0 K3 - 0x54120003, // 000E LDINT R4 4 - 0x080C0604, // 000F MUL R3 R3 R4 - 0x7C040400, // 0010 CALL R1 2 - 0x80000000, // 0011 RET 0 + 0x80040200, // 0003 RET 1 R1 }) ) ); @@ -14200,7 +14145,7 @@ be_local_closure(class_FrameBuffer_clear, /* name */ /******************************************************************** ** Solidified function: init ********************************************************************/ -be_local_closure(class_FrameBuffer_init, /* name */ +be_local_closure(class_frame_buffer_init, /* name */ be_nested_proto( 7, /* nstack */ 2, /* argc */ @@ -14210,45 +14155,45 @@ be_local_closure(class_FrameBuffer_init, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ + &be_ktab_class_frame_buffer, /* shared constants */ be_str_weak(init), &be_const_str_solidified, ( &(const binstruction[36]) { /* code */ 0x60080004, // 0000 GETGBL R2 G4 0x5C0C0200, // 0001 MOVE R3 R1 0x7C080200, // 0002 CALL R2 1 - 0x1C080507, // 0003 EQ R2 R2 K7 + 0x1C080502, // 0003 EQ R2 R2 K2 0x780A0010, // 0004 JMPF R2 #0016 0x5C080200, // 0005 MOVE R2 R1 - 0x180C0500, // 0006 LE R3 R2 K0 + 0x180C0503, // 0006 LE R3 R2 K3 0x780E0000, // 0007 JMPF R3 #0009 - 0xB0060302, // 0008 RAISE 1 K1 K2 - 0x90020602, // 0009 SETMBR R0 K3 R2 + 0xB0060905, // 0008 RAISE 1 K4 K5 + 0x90020C02, // 0009 SETMBR R0 K6 R2 0x600C0015, // 000A GETGBL R3 G21 0x54120003, // 000B LDINT R4 4 0x08100404, // 000C MUL R4 R2 R4 0x7C0C0200, // 000D CALL R3 1 - 0x8C100705, // 000E GETMET R4 R3 K5 + 0x8C100707, // 000E GETMET R4 R3 K7 0x541A0003, // 000F LDINT R6 4 0x08180406, // 0010 MUL R6 R2 R6 0x7C100400, // 0011 CALL R4 2 - 0x90020803, // 0012 SETMBR R0 K4 R3 - 0x8C100106, // 0013 GETMET R4 R0 K6 + 0x90020003, // 0012 SETMBR R0 K0 R3 + 0x8C100108, // 0013 GETMET R4 R0 K8 0x7C100200, // 0014 CALL R4 1 0x7002000C, // 0015 JMP #0023 0x60080004, // 0016 GETGBL R2 G4 0x5C0C0200, // 0017 MOVE R3 R1 0x7C080200, // 0018 CALL R2 1 - 0x1C080508, // 0019 EQ R2 R2 K8 + 0x1C080509, // 0019 EQ R2 R2 K9 0x780A0006, // 001A JMPF R2 #0022 - 0x88080303, // 001B GETMBR R2 R1 K3 - 0x90020602, // 001C SETMBR R0 K3 R2 - 0x88080304, // 001D GETMBR R2 R1 K4 - 0x8C080509, // 001E GETMET R2 R2 K9 + 0x88080306, // 001B GETMBR R2 R1 K6 + 0x90020C02, // 001C SETMBR R0 K6 R2 + 0x88080300, // 001D GETMBR R2 R1 K0 + 0x8C08050A, // 001E GETMET R2 R2 K10 0x7C080200, // 001F CALL R2 1 - 0x90020802, // 0020 SETMBR R0 K4 R2 + 0x90020002, // 0020 SETMBR R0 K0 R2 0x70020000, // 0021 JMP #0023 - 0xB006030A, // 0022 RAISE 1 K1 K10 + 0xB006090B, // 0022 RAISE 1 K4 K11 0x80000000, // 0023 RET 0 }) ) @@ -14256,10 +14201,142 @@ be_local_closure(class_FrameBuffer_init, /* name */ /*******************************************************************/ +/******************************************************************** +** Solidified function: copy +********************************************************************/ +be_local_closure(class_frame_buffer_copy, /* name */ + be_nested_proto( + 4, /* nstack */ + 1, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_frame_buffer, /* shared constants */ + be_str_weak(copy), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0xB8061800, // 0000 GETNGBL R1 K12 + 0x8C04030D, // 0001 GETMET R1 R1 K13 + 0x5C0C0000, // 0002 MOVE R3 R0 + 0x7C040400, // 0003 CALL R1 2 + 0x80040200, // 0004 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_pixel_color +********************************************************************/ +be_local_closure(class_frame_buffer_get_pixel_color, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_frame_buffer, /* shared constants */ + be_str_weak(get_pixel_color), + &be_const_str_solidified, + ( &(const binstruction[13]) { /* code */ + 0x14080303, // 0000 LT R2 R1 K3 + 0x740A0002, // 0001 JMPT R2 #0005 + 0x88080106, // 0002 GETMBR R2 R0 K6 + 0x28080202, // 0003 GE R2 R1 R2 + 0x780A0000, // 0004 JMPF R2 #0006 + 0xB0061D0F, // 0005 RAISE 1 K14 K15 + 0x88080100, // 0006 GETMBR R2 R0 K0 + 0x8C080510, // 0007 GETMET R2 R2 K16 + 0x54120003, // 0008 LDINT R4 4 + 0x08100204, // 0009 MUL R4 R1 R4 + 0x54160003, // 000A LDINT R5 4 + 0x7C080600, // 000B CALL R2 3 + 0x80040400, // 000C RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: resize +********************************************************************/ +be_local_closure(class_frame_buffer_resize, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_frame_buffer, /* shared constants */ + be_str_weak(resize), + &be_const_str_solidified, + ( &(const binstruction[17]) { /* code */ + 0x18080303, // 0000 LE R2 R1 K3 + 0x780A0000, // 0001 JMPF R2 #0003 + 0xB0060905, // 0002 RAISE 1 K4 K5 + 0x88080106, // 0003 GETMBR R2 R0 K6 + 0x1C080202, // 0004 EQ R2 R1 R2 + 0x780A0000, // 0005 JMPF R2 #0007 + 0x80000400, // 0006 RET 0 + 0x90020C01, // 0007 SETMBR R0 K6 R1 + 0x88080100, // 0008 GETMBR R2 R0 K0 + 0x8C080507, // 0009 GETMET R2 R2 K7 + 0x88100106, // 000A GETMBR R4 R0 K6 + 0x54160003, // 000B LDINT R5 4 + 0x08100805, // 000C MUL R4 R4 R5 + 0x7C080400, // 000D CALL R2 2 + 0x8C080108, // 000E GETMET R2 R0 K8 + 0x7C080200, // 000F CALL R2 1 + 0x80000000, // 0010 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: setitem +********************************************************************/ +be_local_closure(class_frame_buffer_setitem, /* name */ + be_nested_proto( + 7, /* nstack */ + 3, /* argc */ + 10, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + &be_ktab_class_frame_buffer, /* shared constants */ + be_str_weak(setitem), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x8C0C0111, // 0000 GETMET R3 R0 K17 + 0x5C140200, // 0001 MOVE R5 R1 + 0x5C180400, // 0002 MOVE R6 R2 + 0x7C0C0600, // 0003 CALL R3 3 + 0x80000000, // 0004 RET 0 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified function: set_pixel_color ********************************************************************/ -be_local_closure(class_FrameBuffer_set_pixel_color, /* name */ +be_local_closure(class_frame_buffer_set_pixel_color, /* name */ be_nested_proto( 8, /* nstack */ 3, /* argc */ @@ -14269,18 +14346,18 @@ be_local_closure(class_FrameBuffer_set_pixel_color, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ + &be_ktab_class_frame_buffer, /* shared constants */ be_str_weak(set_pixel_color), &be_const_str_solidified, ( &(const binstruction[14]) { /* code */ - 0x140C0300, // 0000 LT R3 R1 K0 + 0x140C0303, // 0000 LT R3 R1 K3 0x740E0002, // 0001 JMPT R3 #0005 - 0x880C0103, // 0002 GETMBR R3 R0 K3 + 0x880C0106, // 0002 GETMBR R3 R0 K6 0x280C0203, // 0003 GE R3 R1 R3 0x780E0000, // 0004 JMPF R3 #0006 - 0xB006170C, // 0005 RAISE 1 K11 K12 - 0x880C0104, // 0006 GETMBR R3 R0 K4 - 0x8C0C070D, // 0007 GETMET R3 R3 K13 + 0xB0061D0F, // 0005 RAISE 1 K14 K15 + 0x880C0100, // 0006 GETMBR R3 R0 K0 + 0x8C0C0712, // 0007 GETMET R3 R3 K18 0x54160003, // 0008 LDINT R5 4 0x08140205, // 0009 MUL R5 R1 R5 0x5C180400, // 000A MOVE R6 R2 @@ -14294,36 +14371,9 @@ be_local_closure(class_FrameBuffer_set_pixel_color, /* name */ /******************************************************************** -** Solidified function: tohex +** Solidified function: clear ********************************************************************/ -be_local_closure(class_FrameBuffer_tohex, /* name */ - be_nested_proto( - 3, /* nstack */ - 1, /* argc */ - 10, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(tohex), - &be_const_str_solidified, - ( &(const binstruction[ 4]) { /* code */ - 0x88040104, // 0000 GETMBR R1 R0 K4 - 0x8C04030E, // 0001 GETMET R1 R1 K14 - 0x7C040200, // 0002 CALL R1 1 - 0x80040200, // 0003 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: tostring -********************************************************************/ -be_local_closure(class_FrameBuffer_tostring, /* name */ +be_local_closure(class_frame_buffer_clear, /* name */ be_nested_proto( 5, /* nstack */ 1, /* argc */ @@ -14333,108 +14383,28 @@ be_local_closure(class_FrameBuffer_tostring, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(tostring), + &be_ktab_class_frame_buffer, /* shared constants */ + be_str_weak(clear), &be_const_str_solidified, - ( &(const binstruction[ 6]) { /* code */ - 0x60040018, // 0000 GETGBL R1 G24 - 0x5808000F, // 0001 LDCONST R2 K15 - 0x880C0103, // 0002 GETMBR R3 R0 K3 - 0x88100104, // 0003 GETMBR R4 R0 K4 - 0x7C040600, // 0004 CALL R1 3 - 0x80040200, // 0005 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: setitem -********************************************************************/ -be_local_closure(class_FrameBuffer_setitem, /* name */ - be_nested_proto( - 7, /* nstack */ - 3, /* argc */ - 10, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(setitem), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0x8C0C0110, // 0000 GETMET R3 R0 K16 - 0x5C140200, // 0001 MOVE R5 R1 - 0x5C180400, // 0002 MOVE R6 R2 - 0x7C0C0600, // 0003 CALL R3 3 - 0x80000000, // 0004 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: copy -********************************************************************/ -be_local_closure(class_FrameBuffer_copy, /* name */ - be_nested_proto( - 4, /* nstack */ - 1, /* argc */ - 10, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(copy), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0xB8062200, // 0000 GETNGBL R1 K17 - 0x8C040312, // 0001 GETMET R1 R1 K18 - 0x5C0C0000, // 0002 MOVE R3 R0 - 0x7C040400, // 0003 CALL R1 2 - 0x80040200, // 0004 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_pixel_color -********************************************************************/ -be_local_closure(class_FrameBuffer_get_pixel_color, /* name */ - be_nested_proto( - 6, /* nstack */ - 2, /* argc */ - 10, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ - be_str_weak(get_pixel_color), - &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ - 0x14080300, // 0000 LT R2 R1 K0 - 0x740A0002, // 0001 JMPT R2 #0005 - 0x88080103, // 0002 GETMBR R2 R0 K3 - 0x28080202, // 0003 GE R2 R1 R2 - 0x780A0000, // 0004 JMPF R2 #0006 - 0xB006170C, // 0005 RAISE 1 K11 K12 - 0x88080104, // 0006 GETMBR R2 R0 K4 - 0x8C080513, // 0007 GETMET R2 R2 K19 - 0x54120003, // 0008 LDINT R4 4 - 0x08100204, // 0009 MUL R4 R1 R4 - 0x54160003, // 000A LDINT R5 4 - 0x7C080600, // 000B CALL R2 3 - 0x80040400, // 000C RET 1 R2 + ( &(const binstruction[18]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x8C040308, // 0001 GETMET R1 R1 K8 + 0x7C040200, // 0002 CALL R1 1 + 0x6004000C, // 0003 GETGBL R1 G12 + 0x88080100, // 0004 GETMBR R2 R0 K0 + 0x7C040200, // 0005 CALL R1 1 + 0x88080106, // 0006 GETMBR R2 R0 K6 + 0x540E0003, // 0007 LDINT R3 4 + 0x08080403, // 0008 MUL R2 R2 R3 + 0x20040202, // 0009 NE R1 R1 R2 + 0x78060005, // 000A JMPF R1 #0011 + 0x88040100, // 000B GETMBR R1 R0 K0 + 0x8C040307, // 000C GETMET R1 R1 K7 + 0x880C0106, // 000D GETMBR R3 R0 K6 + 0x54120003, // 000E LDINT R4 4 + 0x080C0604, // 000F MUL R3 R3 R4 + 0x7C040400, // 0010 CALL R1 2 + 0x80000000, // 0011 RET 0 }) ) ); @@ -14444,7 +14414,7 @@ be_local_closure(class_FrameBuffer_get_pixel_color, /* name */ /******************************************************************** ** Solidified function: item ********************************************************************/ -be_local_closure(class_FrameBuffer_item, /* name */ +be_local_closure(class_frame_buffer_item, /* name */ be_nested_proto( 5, /* nstack */ 2, /* argc */ @@ -14454,11 +14424,11 @@ be_local_closure(class_FrameBuffer_item, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - &be_ktab_class_FrameBuffer, /* shared constants */ + &be_ktab_class_frame_buffer, /* shared constants */ be_str_weak(item), &be_const_str_solidified, ( &(const binstruction[ 4]) { /* code */ - 0x8C080114, // 0000 GETMET R2 R0 K20 + 0x8C080113, // 0000 GETMET R2 R0 K19 0x5C100200, // 0001 MOVE R4 R1 0x7C080400, // 0002 CALL R2 2 0x80040400, // 0003 RET 1 R2 @@ -14469,28 +14439,27 @@ be_local_closure(class_FrameBuffer_item, /* name */ /******************************************************************** -** Solidified class: FrameBuffer +** Solidified class: frame_buffer ********************************************************************/ extern const bclass be_class_FrameBufferNtv; -be_local_class(FrameBuffer, +be_local_class(frame_buffer, 2, &be_class_FrameBufferNtv, - be_nested_map(12, + be_nested_map(11, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(pixels, -1), be_const_var(0) }, - { be_const_key_weak(resize, 6), be_const_closure(class_FrameBuffer_resize_closure) }, - { be_const_key_weak(clear, -1), be_const_closure(class_FrameBuffer_clear_closure) }, - { be_const_key_weak(init, -1), be_const_closure(class_FrameBuffer_init_closure) }, - { be_const_key_weak(set_pixel_color, -1), be_const_closure(class_FrameBuffer_set_pixel_color_closure) }, - { be_const_key_weak(tohex, -1), be_const_closure(class_FrameBuffer_tohex_closure) }, - { be_const_key_weak(tostring, -1), be_const_closure(class_FrameBuffer_tostring_closure) }, - { be_const_key_weak(copy, -1), be_const_closure(class_FrameBuffer_copy_closure) }, - { be_const_key_weak(setitem, 9), be_const_closure(class_FrameBuffer_setitem_closure) }, - { be_const_key_weak(get_pixel_color, 7), be_const_closure(class_FrameBuffer_get_pixel_color_closure) }, - { be_const_key_weak(item, -1), be_const_closure(class_FrameBuffer_item_closure) }, + { be_const_key_weak(tohex, 1), be_const_closure(class_frame_buffer_tohex_closure) }, { be_const_key_weak(width, -1), be_const_var(1) }, + { be_const_key_weak(clear, -1), be_const_closure(class_frame_buffer_clear_closure) }, + { be_const_key_weak(copy, -1), be_const_closure(class_frame_buffer_copy_closure) }, + { be_const_key_weak(pixels, -1), be_const_var(0) }, + { be_const_key_weak(get_pixel_color, -1), be_const_closure(class_frame_buffer_get_pixel_color_closure) }, + { be_const_key_weak(resize, -1), be_const_closure(class_frame_buffer_resize_closure) }, + { be_const_key_weak(setitem, -1), be_const_closure(class_frame_buffer_setitem_closure) }, + { be_const_key_weak(set_pixel_color, -1), be_const_closure(class_frame_buffer_set_pixel_color_closure) }, + { be_const_key_weak(init, 2), be_const_closure(class_frame_buffer_init_closure) }, + { be_const_key_weak(item, -1), be_const_closure(class_frame_buffer_item_closure) }, })), - be_str_weak(FrameBuffer) + be_str_weak(frame_buffer) ); // compact class 'WaveAnimation' ktab size: 32, total: 52 (saved 160 bytes) static const bvalue be_ktab_class_WaveAnimation[32] = { @@ -15129,12 +15098,12 @@ be_local_closure(animation_init_strip, /* name */ /*******************************************************************/ -extern const bclass be_class_IterationNumberProvider; +extern const bclass be_class_iteration_number; /******************************************************************** ** Solidified function: produce_value ********************************************************************/ -be_local_closure(class_IterationNumberProvider_produce_value, /* name */ +be_local_closure(class_iteration_number_produce_value, /* name */ be_nested_proto( 5, /* nstack */ 3, /* argc */ @@ -15162,17 +15131,17 @@ be_local_closure(class_IterationNumberProvider_produce_value, /* name */ /******************************************************************** -** Solidified class: IterationNumberProvider +** Solidified class: iteration_number ********************************************************************/ -extern const bclass be_class_ValueProvider; -be_local_class(IterationNumberProvider, +extern const bclass be_class_value_provider; +be_local_class(iteration_number, 0, - &be_class_ValueProvider, + &be_class_value_provider, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(produce_value, -1), be_const_closure(class_IterationNumberProvider_produce_value_closure) }, + { be_const_key_weak(produce_value, -1), be_const_closure(class_iteration_number_produce_value_closure) }, })), - be_str_weak(IterationNumberProvider) + be_str_weak(iteration_number) ); /******************************************************************** @@ -15209,12 +15178,12 @@ be_local_closure(sawtooth, /* name */ /*******************************************************************/ -extern const bclass be_class_ValueProvider; +extern const bclass be_class_value_provider; /******************************************************************** ** Solidified function: produce_value ********************************************************************/ -be_local_closure(class_ValueProvider_produce_value, /* name */ +be_local_closure(class_value_provider_produce_value, /* name */ be_nested_proto( 5, /* nstack */ 3, /* argc */ @@ -15241,17 +15210,17 @@ be_local_closure(class_ValueProvider_produce_value, /* name */ /******************************************************************** -** Solidified class: ValueProvider +** Solidified class: value_provider ********************************************************************/ -extern const bclass be_class_ParameterizedObject; -be_local_class(ValueProvider, +extern const bclass be_class_parameterized_object; +be_local_class(value_provider, 0, - &be_class_ParameterizedObject, + &be_class_parameterized_object, be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(produce_value, -1), be_const_closure(class_ValueProvider_produce_value_closure) }, + { be_const_key_weak(produce_value, -1), be_const_closure(class_value_provider_produce_value_closure) }, })), - be_str_weak(ValueProvider) + be_str_weak(value_provider) ); /******************************************************************** @@ -15298,7 +15267,7 @@ be_local_module(animation, { be_const_key_weak(EASE_OUT, 17), be_const_int(7) }, { be_const_key_weak(event_handler, 25), be_const_class(be_class_EventHandler) }, { be_const_key_weak(resolve, -1), be_const_closure(animation_resolve_closure) }, - { be_const_key_weak(value_provider, 37), be_const_class(be_class_ValueProvider) }, + { be_const_key_weak(value_provider, 37), be_const_class(be_class_value_provider) }, { be_const_key_weak(palette_meter_animation, -1), be_const_class(be_class_GradientMeterAnimation) }, { be_const_key_weak(EventManager, -1), be_const_class(be_class_EventManager) }, { be_const_key_weak(SAWTOOTH, 24), be_const_int(1) }, @@ -15310,19 +15279,19 @@ be_local_module(animation, { be_const_key_weak(twinkle, 7), be_const_class(be_class_twinkle) }, { be_const_key_weak(init_strip, 68), be_const_closure(animation_init_strip_closure) }, { be_const_key_weak(ramp, 31), be_const_closure(ramp_closure) }, - { be_const_key_weak(oscillator_value, -1), be_const_class(be_class_OscillatorValueProvider) }, + { be_const_key_weak(oscillator_value, -1), be_const_class(be_class_oscillator_value) }, { be_const_key_weak(color_provider, 70), be_const_class(be_class_color_provider) }, - { be_const_key_weak(engine_proxy, -1), be_const_class(be_class_EngineProxy) }, + { be_const_key_weak(engine_proxy, -1), be_const_class(be_class_engine_proxy) }, { be_const_key_weak(trigger_event, -1), be_const_closure(trigger_event_closure) }, { be_const_key_weak(wave_animation, 53), be_const_class(be_class_WaveAnimation) }, - { be_const_key_weak(frame_buffer, -1), be_const_class(be_class_FrameBuffer) }, + { be_const_key_weak(frame_buffer, -1), be_const_class(be_class_frame_buffer) }, { be_const_key_weak(clear_all_event_handlers, -1), be_const_closure(clear_all_event_handlers_closure) }, { be_const_key_weak(linear, -1), be_const_closure(linear_closure) }, { be_const_key_weak(ease_in, -1), be_const_closure(ease_in_closure) }, { be_const_key_weak(cosine_osc, -1), be_const_closure(cosine_osc_closure) }, { be_const_key_weak(wave_rainbow_sine, -1), be_const_closure(wave_rainbow_sine_closure) }, { be_const_key_weak(is_color_provider, -1), be_const_closure(is_color_provider_closure) }, - { be_const_key_weak(static_color, -1), be_const_class(be_class_StaticColorProvider) }, + { be_const_key_weak(static_color, -1), be_const_class(be_class_static_color) }, { be_const_key_weak(wave_custom, -1), be_const_closure(wave_custom_closure) }, { be_const_key_weak(is_value_provider, 28), be_const_closure(is_value_provider_closure) }, { be_const_key_weak(pulsating_animation, -1), be_const_closure(pulsating_animation_closure) }, @@ -15344,7 +15313,7 @@ be_local_module(animation, { be_const_key_weak(smooth, -1), be_const_closure(smooth_closure) }, { be_const_key_weak(PALETTE_FIRE, -1), be_const_bytes_instance(FF000000FF800000FFFF0000FFFF8000FFFFFF00) }, { be_const_key_weak(COSINE, -1), be_const_int(4) }, - { be_const_key_weak(parameterized_object, -1), be_const_class(be_class_ParameterizedObject) }, + { be_const_key_weak(parameterized_object, -1), be_const_class(be_class_parameterized_object) }, { be_const_key_weak(strip_length, 51), be_const_class(be_class_strip_length) }, { be_const_key_weak(square, -1), be_const_closure(square_closure) }, { be_const_key_weak(palette_gradient_animation, -1), be_const_class(be_class_PaletteGradientAnimation) }, @@ -15355,12 +15324,12 @@ be_local_module(animation, { be_const_key_weak(create_closure_value, 58), be_const_closure(create_closure_value_closure) }, { be_const_key_weak(PALETTE_RAINBOW_W2, 13), be_const_bytes_instance(FFFC0000FFFF8000FFFFFF00FF00FF00FF00FFFFFF0080FFFF8000FFFFCCCCCCFFFC0000) }, { be_const_key_weak(sine_osc, -1), be_const_closure(sine_osc_closure) }, - { be_const_key_weak(iteration_number, -1), be_const_class(be_class_IterationNumberProvider) }, + { be_const_key_weak(iteration_number, -1), be_const_class(be_class_iteration_number) }, { be_const_key_weak(bounce, -1), be_const_closure(bounce_closure) }, { be_const_key_weak(enc_params, -1), be_const_closure(encode_constraints_closure) }, { be_const_key_weak(create_engine, -1), be_const_class(be_class_AnimationEngine) }, { be_const_key_weak(is_user_function, -1), be_const_closure(is_user_function_closure) }, - { be_const_key_weak(sequence_manager, 67), be_const_class(be_class_SequenceManager) }, + { be_const_key_weak(sequence_manager, 67), be_const_class(be_class_sequence_manager) }, { be_const_key_weak(list_user_functions, -1), be_const_closure(list_user_functions_closure) }, { be_const_key_weak(comet_animation, -1), be_const_class(be_class_CometAnimation) }, { be_const_key_weak(crenel_animation, 60), be_const_class(be_class_CrenelPositionAnimation) }, @@ -15368,7 +15337,7 @@ be_local_module(animation, { be_const_key_weak(LINEAR, -1), be_const_int(1) }, { be_const_key_weak(elastic, 0), be_const_closure(elastic_closure) }, { be_const_key_weak(TRIANGLE, 29), be_const_int(2) }, - { be_const_key_weak(static_value, -1), be_const_class(be_class_StaticValueProvider) }, + { be_const_key_weak(static_value, -1), be_const_class(be_class_static_value) }, { be_const_key_weak(color_cycle, 48), be_const_class(be_class_ColorCycleColorProvider) }, { be_const_key_weak(PALETTE_RAINBOW_W, -1), be_const_bytes_instance(FFFC0000FFFF8000FFFFFF00FF00FF00FF00FFFFFF0080FFFF8000FFFFCCCCCC) }, { be_const_key_weak(ease_out, 47), be_const_closure(ease_out_closure) }, diff --git a/lib/libesp32/berry_animation/src/solidify/solidified_animation_dsl.h b/lib/libesp32/berry_animation/src/solidify/solidified_animation_dsl.h index 0ba6146b1..f6faca21a 100644 --- a/lib/libesp32/berry_animation/src/solidify/solidified_animation_dsl.h +++ b/lib/libesp32/berry_animation/src/solidify/solidified_animation_dsl.h @@ -9161,7 +9161,7 @@ be_local_closure(class_SimpleDSLTranspiler__validate_template_parameter_name, /* K34 */ be_nested_str_weak(loop), /* K35 */ be_nested_str_weak(opacity), /* K36 */ be_nested_str_weak(warning), - /* K37 */ be_nested_str_weak(Template_X20animation_X20parameter_X20_X27_X25s_X27_X20masks_X20existing_X20parameter_X20from_X20EngineProxy_X20base_X20class_X2E_X20This_X20may_X20cause_X20unexpected_X20behavior_X2E_X20Consider_X20using_X20a_X20different_X20name_X20like_X20_X27custom__X25s_X27_X20or_X20_X27_X25s_value_X27_X2E), + /* K37 */ be_nested_str_weak(Template_X20animation_X20parameter_X20_X27_X25s_X27_X20masks_X20existing_X20parameter_X20from_X20engine_proxy_X20base_X20class_X2E_X20This_X20may_X20cause_X20unexpected_X20behavior_X2E_X20Consider_X20using_X20a_X20different_X20name_X20like_X20_X27custom__X25s_X27_X20or_X20_X27_X25s_value_X27_X2E), }), be_str_weak(_validate_template_parameter_name), &be_const_str_solidified, @@ -14936,7 +14936,7 @@ be_local_closure(class_SimpleDSLTranspiler_generate_template_animation_class, /* K28 */ be_nested_str_weak(_X20_X20_X20_X20_X22_X25s_X22_X3A_X20_X7B_X22type_X22_X3A_X20_X22_X25s_X22_X7D_X25s), /* K29 */ be_nested_str_weak(_X20_X20_X20_X20_X22_X25s_X22_X3A_X20_X7B_X7D_X25s), /* K30 */ be_nested_str_weak(_X20_X20_X7D_X29), - /* K31 */ be_nested_str_weak(_X20_X20_X23_X20Template_X20setup_X20method_X20_X2D_X20overrides_X20EngineProxy_X20placeholder), + /* K31 */ be_nested_str_weak(_X20_X20_X23_X20Template_X20setup_X20method_X20_X2D_X20overrides_X20engine_proxy_X20placeholder), /* K32 */ be_nested_str_weak(_X20_X20def_X20setup_template_X28_X29), /* K33 */ be_nested_str_weak(_X20_X20_X20_X20var_X20engine_X20_X3D_X20self_X20_X20_X20_X23_X20using_X20_X27self_X27_X20as_X20a_X20proxy_X20to_X20engine_X20object_X20_X28instead_X20of_X20_X27self_X2Eengine_X27_X29), /* K34 */ be_nested_str_weak(SimpleDSLTranspiler), diff --git a/lib/libesp32/berry_animation/src/tests/black_frame_fix_test.be b/lib/libesp32/berry_animation/src/tests/black_frame_fix_test.be index 754388db1..0a74865a0 100644 --- a/lib/libesp32/berry_animation/src/tests/black_frame_fix_test.be +++ b/lib/libesp32/berry_animation/src/tests/black_frame_fix_test.be @@ -1,4 +1,4 @@ -# Black Frame Fix Test for SequenceManager +# Black Frame Fix Test for sequence_manager # Tests the atomic transition functionality that eliminates black frames # between animation transitions with closure steps # diff --git a/lib/libesp32/berry_animation/src/tests/constraint_encoding_test.be b/lib/libesp32/berry_animation/src/tests/constraint_encoding_test.be index a618dbb19..ae944b098 100644 --- a/lib/libesp32/berry_animation/src/tests/constraint_encoding_test.be +++ b/lib/libesp32/berry_animation/src/tests/constraint_encoding_test.be @@ -1,6 +1,6 @@ # Constraint Encoding Test Suite # -# Comprehensive tests for animation.enc_params() and ParameterizedObject static methods: +# Comprehensive tests for animation.enc_params() and parameterized_object static methods: # - constraint_mask() # - constraint_find() # @@ -260,7 +260,7 @@ var gradient_encoded = animation.enc_params(gradient_params) assert_equal(animation.parameterized_object.constraint_mask(gradient_encoded["color"], "nillable"), 0x20, "5.4a: color nillable") assert_equal(animation.parameterized_object.constraint_find(gradient_encoded["color"], "default", 999), nil, "5.4b: color default nil") -# Test 5.5: OscillatorValueProvider PARAMS (large enum) +# Test 5.5: oscillator_value PARAMS (large enum) var oscillator_params = { "min_value": {"default": 0}, "max_value": {"default": 100}, diff --git a/lib/libesp32/berry_animation/src/tests/core_value_provider_test.be b/lib/libesp32/berry_animation/src/tests/core_value_provider_test.be index bdb0cf49d..5f8bf443a 100644 --- a/lib/libesp32/berry_animation/src/tests/core_value_provider_test.be +++ b/lib/libesp32/berry_animation/src/tests/core_value_provider_test.be @@ -1,12 +1,12 @@ #!/usr/bin/env berry -# Core ValueProvider system test - focuses only on the essential functionality +# Core value_provider system test - focuses only on the essential functionality # Mock the animation module for testing var animation = {} -# Define the ValueProvider base class -class ValueProvider +# Define the value_provider base class +class value_provider def get_value(time_ms) return nil end @@ -16,8 +16,8 @@ class ValueProvider end end -# Define the StaticValueProvider -class StaticValueProvider : ValueProvider +# Define the static_value +class static_value : value_provider var value def init(value) @@ -41,29 +41,29 @@ class StaticValueProvider : ValueProvider end def tostring() - return f"StaticValueProvider(value={self.value})" + return f"static_value(value={self.value})" end end # Helper function to check if object is a value provider def is_value_provider(obj) - return obj != nil && type(obj) == "instance" && isinstance(obj, ValueProvider) + return obj != nil && type(obj) == "instance" && isinstance(obj, value_provider) end # Test the core functionality def test_core_functionality() - print("=== Core ValueProvider System Test ===") + print("=== Core value_provider System Test ===") - # Test 1: Basic ValueProvider interface - print("1. Testing ValueProvider interface...") - var base_provider = ValueProvider() + # Test 1: Basic value_provider interface + print("1. Testing value_provider interface...") + var base_provider = value_provider() assert(base_provider.get_value(1000) == nil, "Base provider should return nil") assert(base_provider.update(1000) == false, "Base provider update should return false") print(" ✓ Base interface works") - # Test 2: StaticValueProvider basic functionality - print("2. Testing StaticValueProvider...") - var static_provider = StaticValueProvider(42) + # Test 2: static_value basic functionality + print("2. Testing static_value...") + var static_provider = static_value(42) assert(static_provider.get_value(1000) == 42, "Should return static value") assert(static_provider.update(1000) == false, "Update should return false") print(" ✓ Static provider basic functionality works") @@ -85,8 +85,8 @@ def test_core_functionality() # Test 4: Provider detection print("4. Testing provider detection...") - assert(is_value_provider(static_provider) == true, "Should detect StaticValueProvider") - assert(is_value_provider(base_provider) == true, "Should detect ValueProvider") + assert(is_value_provider(static_provider) == true, "Should detect static_value") + assert(is_value_provider(base_provider) == true, "Should detect value_provider") assert(is_value_provider(42) == false, "Should not detect integer") assert(is_value_provider("hello") == false, "Should not detect string") assert(is_value_provider(nil) == false, "Should not detect nil") @@ -124,9 +124,9 @@ def test_core_functionality() print("=== All core tests passed! ===") print() - print("Core ValueProvider system is working correctly:") - print("- ValueProvider base interface") - print("- StaticValueProvider with universal method support") + print("Core value_provider system is working correctly:") + print("- value_provider base interface") + print("- static_value with universal method support") print("- Provider detection") print("- Parameter resolution with method-specific fallback") diff --git a/lib/libesp32/berry_animation/src/tests/crenel_position_color_test.be b/lib/libesp32/berry_animation/src/tests/crenel_position_color_test.be index b095805cf..45c6af294 100644 --- a/lib/libesp32/berry_animation/src/tests/crenel_position_color_test.be +++ b/lib/libesp32/berry_animation/src/tests/crenel_position_color_test.be @@ -135,9 +135,9 @@ def test_crenel_with_dynamic_color_provider() print("✓ CrenelPositionAnimation with dynamic color_provider test passed") end -# Test CrenelPositionAnimation with generic ValueProvider +# Test CrenelPositionAnimation with generic value_provider def test_crenel_with_generic_value_provider() - print("Testing CrenelPositionAnimation with generic ValueProvider...") + print("Testing CrenelPositionAnimation with generic value_provider...") # Create engine and strip for testing var strip = global.Leds(10) @@ -153,7 +153,7 @@ def test_crenel_with_generic_value_provider() var crenel = animation.crenel_animation(engine) # Set parameters via virtual member assignment - crenel.color = static_provider # generic ValueProvider + crenel.color = static_provider # generic value_provider crenel.back_color = 0x00000000 # transparent (default) crenel.pos = 2 crenel.pulse_size = 3 @@ -170,10 +170,10 @@ def test_crenel_with_generic_value_provider() frame.clear() var result = crenel.render(frame, engine.time_ms, engine.strip_length) - assert(result == true, "Render should succeed with generic ValueProvider") + assert(result == true, "Render should succeed with generic value_provider") assert(crenel.is_running == true, "Animation should be running") - print("✓ CrenelPositionAnimation with generic ValueProvider test passed") + print("✓ CrenelPositionAnimation with generic value_provider test passed") end # Test direct color assignment with both types diff --git a/lib/libesp32/berry_animation/src/tests/dsl_value_provider_validation_test.be b/lib/libesp32/berry_animation/src/tests/dsl_value_provider_validation_test.be index 29b01254a..90515459c 100644 --- a/lib/libesp32/berry_animation/src/tests/dsl_value_provider_validation_test.be +++ b/lib/libesp32/berry_animation/src/tests/dsl_value_provider_validation_test.be @@ -17,7 +17,7 @@ import animation_dsl import string # Test class to verify value provider parameter validation and arithmetic expression fixes -class DSLValueProviderValidationTest +class DSLvalue_providerValidationTest var test_results def init() @@ -457,10 +457,10 @@ class DSLValueProviderValidationTest end # Run tests -var test_runner = DSLValueProviderValidationTest() +var test_runner = DSLvalue_providerValidationTest() test_runner.run_all_tests() # Export for use in other test files return { - "DSLValueProviderValidationTest": DSLValueProviderValidationTest + "DSLvalue_providerValidationTest": DSLvalue_providerValidationTest } \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/tests/engine_proxy_test.be b/lib/libesp32/berry_animation/src/tests/engine_proxy_test.be index fbc639f8b..01330934c 100644 --- a/lib/libesp32/berry_animation/src/tests/engine_proxy_test.be +++ b/lib/libesp32/berry_animation/src/tests/engine_proxy_test.be @@ -1,11 +1,11 @@ -# Unit tests for EngineProxy class +# Unit tests for engine_proxy class # # Tests the ability to create animations that combine both rendering # and orchestration of sub-animations and sequences. import animation -print("Starting EngineProxy Tests...") +print("Starting engine_proxy Tests...") # Create test engine var strip = global.Leds(30) @@ -15,7 +15,7 @@ var engine = animation.create_engine(strip) print("\n=== Test 1: Basic Creation ===") var proxy = animation.engine_proxy(engine) assert(proxy != nil, "Engine proxy should be created") -assert(isinstance(proxy, animation.parameterized_object), "Engine proxy should be a ParameterizedObject") +assert(isinstance(proxy, animation.parameterized_object), "Engine proxy should be a parameterized_object") assert(isinstance(proxy, animation.animation), "Engine proxy should be an Animation") assert(proxy.is_running == false, "Engine proxy should not be running initially") print("✓ Basic creation test passed") @@ -112,16 +112,16 @@ var proxy3 = animation.engine_proxy(engine) proxy3.color = 0xFFFF00FF # Magenta proxy3.priority = 15 -# Add to engine (should work since EngineProxy is a Playable) +# Add to engine (should work since engine_proxy is a Playable) engine.add(proxy3) assert(size(engine.get_animations()) == 1, "Engine should have 1 animation") print("✓ Engine integration test passed") # Test 11: Type checking print("\n=== Test 11: Type Checking ===") -assert(isinstance(proxy, animation.parameterized_object), "Engine proxy is a ParameterizedObject") +assert(isinstance(proxy, animation.parameterized_object), "Engine proxy is a parameterized_object") assert(isinstance(proxy, animation.animation), "Engine proxy is an Animation") -assert(!isinstance(proxy, animation.sequence_manager), "Engine proxy is not a SequenceManager") +assert(!isinstance(proxy, animation.sequence_manager), "Engine proxy is not a sequence_manager") print("✓ Type checking test passed") # Test 12: String representation @@ -132,5 +132,5 @@ print(f"Engine proxy string: {str_repr}") print("✓ String representation test passed") print("\n" + "="*50) -print("🎉 All EngineProxy tests passed!") +print("🎉 All engine_proxy tests passed!") print("="*50) diff --git a/lib/libesp32/berry_animation/src/tests/frame_buffer_test.be b/lib/libesp32/berry_animation/src/tests/frame_buffer_test.be index 3c0fe56bf..a0cb04a19 100644 --- a/lib/libesp32/berry_animation/src/tests/frame_buffer_test.be +++ b/lib/libesp32/berry_animation/src/tests/frame_buffer_test.be @@ -1,13 +1,13 @@ -# Test file for FrameBuffer class +# Test file for frame_buffer class # -# This file contains tests for the FrameBuffer class +# This file contains tests for the frame_buffer class # # Command to run test is: # ./berry -s -g -m lib/libesp32/berry_animation -e "import tasmota" lib/libesp32/berry_animation/tests/frame_buffer_test.be import animation -print("Testing FrameBuffer...") +print("Testing frame_buffer...") # Create a frame buffer with 10 pixels var fb = animation.frame_buffer(10) @@ -248,5 +248,5 @@ var max_pixel = max_test.get_pixel_color(0) var max_alpha = (max_pixel >> 24) & 0xFF assert(max_alpha == 255, f"Alpha should be capped at 255, got {max_alpha}") -print("All FrameBuffer tests passed!") +print("All frame_buffer tests passed!") return true \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/tests/get_param_value_test.be b/lib/libesp32/berry_animation/src/tests/get_param_value_test.be index 8b16d65e9..5f1ac9318 100644 --- a/lib/libesp32/berry_animation/src/tests/get_param_value_test.be +++ b/lib/libesp32/berry_animation/src/tests/get_param_value_test.be @@ -67,9 +67,9 @@ def test_get_param_value_with_color_provider() print("✓ get_param_value() with color_provider test passed") end -# Test that get_param_value() calls produce_value() for generic ValueProviders +# Test that get_param_value() calls produce_value() for generic value_providers def test_get_param_value_with_generic_provider() - print("Testing get_param_value() with generic ValueProvider...") + print("Testing get_param_value() with generic value_provider...") # Create a test animation using new constructor pattern var test_anim = animation.animation(mock_engine) @@ -78,8 +78,8 @@ def test_get_param_value_with_generic_provider() test_anim.loop = false test_anim.opacity = 255 - # Create a generic ValueProvider that we can track calls on - class TrackingValueProvider : animation.value_provider + # Create a generic value_provider that we can track calls on + class Trackingvalue_provider : animation.value_provider var value var produce_value_called @@ -99,9 +99,9 @@ def test_get_param_value_with_generic_provider() end end - var tracking_provider = TrackingValueProvider(mock_engine, 42) + var tracking_provider = Trackingvalue_provider(mock_engine, 42) - # Set the ValueProvider (using the 'priority' parameter that exists in base Animation) + # Set the value_provider (using the 'priority' parameter that exists in base Animation) test_anim.priority = tracking_provider # Call get_param_value() - should call produce_value() @@ -110,12 +110,12 @@ def test_get_param_value_with_generic_provider() assert(result == 42, "Should return the value") assert(tracking_provider.produce_value_called == 1, "Should call produce_value() once") - print("✓ get_param_value() with generic ValueProvider test passed") + print("✓ get_param_value() with generic value_provider test passed") end # Test that get_param_value() calls produce_value() method consistently def test_get_param_value_with_context_aware_provider() - print("Testing get_param_value() with context-aware ValueProvider...") + print("Testing get_param_value() with context-aware value_provider...") # Create a test animation using new constructor pattern var test_anim = animation.animation(mock_engine) @@ -124,7 +124,7 @@ def test_get_param_value_with_context_aware_provider() test_anim.loop = false test_anim.opacity = 255 - # Create a ValueProvider that returns different values based on parameter name + # Create a value_provider that returns different values based on parameter name class ContextAwareProvider : animation.value_provider var base_value var produce_value_called @@ -154,7 +154,7 @@ def test_get_param_value_with_context_aware_provider() var context_provider = ContextAwareProvider(mock_engine, 5) - # Set the ValueProvider (using the 'duration' parameter that exists in base Animation) + # Set the value_provider (using the 'duration' parameter that exists in base Animation) test_anim.duration = context_provider # Call get_param_value() - should call produce_value() with parameter name diff --git a/lib/libesp32/berry_animation/src/tests/oscillator_ease_test.be b/lib/libesp32/berry_animation/src/tests/oscillator_ease_test.be index 74e24045e..ceeff9fef 100644 --- a/lib/libesp32/berry_animation/src/tests/oscillator_ease_test.be +++ b/lib/libesp32/berry_animation/src/tests/oscillator_ease_test.be @@ -1,4 +1,4 @@ -# Test suite for OscillatorValueProvider ease_in and ease_out functionality +# Test suite for oscillator_value ease_in and ease_out functionality # # This test verifies that the new EASE_IN and EASE_OUT waveforms work correctly # and produce the expected easing curves. @@ -214,7 +214,7 @@ end # Run all tests def run_oscillator_ease_tests() - print("=== OscillatorValueProvider Ease Tests ===") + print("=== oscillator_value Ease Tests ===") try test_ease_in_waveform() @@ -225,7 +225,7 @@ def run_oscillator_ease_tests() test_ease_tostring() test_ease_constants() - print("=== All OscillatorValueProvider ease tests passed! ===") + print("=== All oscillator_value ease tests passed! ===") return true except .. as e, msg print(f"Test failed: {e} - {msg}") diff --git a/lib/libesp32/berry_animation/src/tests/oscillator_elastic_bounce_test.be b/lib/libesp32/berry_animation/src/tests/oscillator_elastic_bounce_test.be index 80e6f0ae3..857dee6f2 100644 --- a/lib/libesp32/berry_animation/src/tests/oscillator_elastic_bounce_test.be +++ b/lib/libesp32/berry_animation/src/tests/oscillator_elastic_bounce_test.be @@ -1,4 +1,4 @@ -# Test suite for OscillatorValueProvider ELASTIC and BOUNCE functionality +# Test suite for oscillator_value ELASTIC and BOUNCE functionality # # This test verifies that the new ELASTIC and BOUNCE waveforms work correctly # and produce the expected spring-like and bouncing curves. @@ -246,7 +246,7 @@ end # Run all tests def run_oscillator_elastic_bounce_tests() - print("=== OscillatorValueProvider Elastic & Bounce Tests ===") + print("=== oscillator_value Elastic & Bounce Tests ===") try test_elastic_waveform() @@ -257,7 +257,7 @@ def run_oscillator_elastic_bounce_tests() test_elastic_bounce_constants() test_elastic_bounce_characteristics() - print("=== All OscillatorValueProvider elastic & bounce tests passed! ===") + print("=== All oscillator_value elastic & bounce tests passed! ===") return true except .. as e, msg print(f"Test failed: {e} - {msg}") diff --git a/lib/libesp32/berry_animation/src/tests/oscillator_value_provider_test.be b/lib/libesp32/berry_animation/src/tests/oscillator_value_provider_test.be index 39aa152e2..dd999eff1 100644 --- a/lib/libesp32/berry_animation/src/tests/oscillator_value_provider_test.be +++ b/lib/libesp32/berry_animation/src/tests/oscillator_value_provider_test.be @@ -1,6 +1,6 @@ -# Test suite for OscillatorValueProvider +# Test suite for oscillator_value # -# This test verifies that the OscillatorValueProvider works correctly +# This test verifies that the oscillator_value works correctly # with all waveform types and parameter configurations using the new parameterized API. import animation @@ -23,7 +23,7 @@ var mock_engine = MockEngine() # Test basic oscillator functionality def test_oscillator_basic() - print("Testing OscillatorValueProvider basic functionality...") + print("Testing oscillator_value basic functionality...") # Create oscillator using new parameterized API var osc = animation.oscillator_value(mock_engine) @@ -53,7 +53,7 @@ def test_oscillator_basic() assert(osc.min_value == 10, "Starting value should be set to 10") assert(osc.max_value == 90, "End value should be set to 90") - print("✓ OscillatorValueProvider basic functionality test passed") + print("✓ oscillator_value basic functionality test passed") end # Test sawtooth waveform @@ -373,14 +373,14 @@ def test_produce_value_method() print("✓ produce_value method test passed") end -# Test ValueProvider interface compliance +# Test value_provider interface compliance def test_value_provider_interface() - print("Testing ValueProvider interface compliance...") + print("Testing value_provider interface compliance...") var osc = animation.oscillator_value(mock_engine) # Test that it's recognized as a value provider - assert(animation.is_value_provider(osc) == true, "OscillatorValueProvider should be recognized as ValueProvider") + assert(animation.is_value_provider(osc) == true, "oscillator_value should be recognized as value_provider") # Test that produce_value() works with time parameter var value = osc.produce_value("test", mock_engine.time_ms) @@ -390,7 +390,7 @@ def test_value_provider_interface() var result = osc.start(mock_engine.time_ms) assert(result == osc, "start() should return self for method chaining") - print("✓ ValueProvider interface compliance test passed") + print("✓ value_provider interface compliance test passed") end # Test edge cases and error handling @@ -526,7 +526,7 @@ end # Run all tests def run_oscillator_value_provider_tests() - print("=== OscillatorValueProvider Tests ===") + print("=== oscillator_value Tests ===") try test_oscillator_basic() @@ -543,7 +543,7 @@ def run_oscillator_value_provider_tests() test_edge_cases() test_tostring() - print("=== All OscillatorValueProvider tests passed! ===") + print("=== All oscillator_value tests passed! ===") return true except .. as e, msg print(f"Test failed: {e} - {msg}") diff --git a/lib/libesp32/berry_animation/src/tests/parameter_validation_test.be b/lib/libesp32/berry_animation/src/tests/parameter_validation_test.be index 227600fef..be154fd82 100644 --- a/lib/libesp32/berry_animation/src/tests/parameter_validation_test.be +++ b/lib/libesp32/berry_animation/src/tests/parameter_validation_test.be @@ -1,16 +1,16 @@ # Test suite for parameter validation system # # This test verifies that the parameter validation system correctly accepts -# ValueProvider instances for integer and real parameters. +# value_provider instances for integer and real parameters. import animation import global import "./core/param_encoder" as encode_constraints -# Test that parameters accept ValueProviders and integers only +# Test that parameters accept value_providers and integers only def test_parameter_accepts_value_providers() - print("Testing parameter validation with ValueProviders...") + print("Testing parameter validation with value_providers...") # Create engine for testing var strip = global.Leds() @@ -27,20 +27,20 @@ def test_parameter_accepts_value_providers() assert(test_anim.set_param("opacity", 42) == true, "Should accept static integer") assert(test_anim.get_param("opacity", 0) == 42, "Should return static integer") - # Test with StaticValueProvider + # Test with static_value var static_provider = animation.static_value(engine) static_provider.value = 123 - assert(test_anim.set_param("opacity", static_provider) == true, "Should accept StaticValueProvider") + assert(test_anim.set_param("opacity", static_provider) == true, "Should accept static_value") - # Test with OscillatorValueProvider + # Test with oscillator_value var oscillator = animation.oscillator_value(engine) oscillator.min_value = 0 oscillator.max_value = 255 oscillator.duration = 1000 oscillator.form = animation.SAWTOOTH - assert(test_anim.set_param("opacity", oscillator) == true, "Should accept OscillatorValueProvider") + assert(test_anim.set_param("opacity", oscillator) == true, "Should accept oscillator_value") - print("✓ Parameter validation with ValueProviders test passed") + print("✓ Parameter validation with value_providers test passed") end # Test that loop parameter handles boolean values correctly @@ -91,9 +91,9 @@ def test_range_validation() print("✓ Range validation test passed") end -# Test range validation is skipped for ValueProviders +# Test range validation is skipped for value_providers def test_range_validation_with_providers() - print("Testing range validation with ValueProviders...") + print("Testing range validation with value_providers...") # Create engine for testing var strip = global.Leds() @@ -107,15 +107,15 @@ def test_range_validation_with_providers() assert(test_anim.set_param("opacity", 0) == true, "Should accept minimum value") assert(test_anim.set_param("opacity", 255) == true, "Should accept maximum value") - # Test that ValueProviders bypass range validation + # Test that value_providers bypass range validation # (since they provide dynamic values that can't be validated at set time) var oscillator = animation.oscillator_value(engine) oscillator.min_value = -50 # Outside range oscillator.max_value = 300 # Outside range oscillator.duration = 1000 - assert(test_anim.set_param("opacity", oscillator) == true, "Should accept ValueProvider even if it might produce out-of-range values") + assert(test_anim.set_param("opacity", oscillator) == true, "Should accept value_provider even if it might produce out-of-range values") - print("✓ Range validation with ValueProviders test passed") + print("✓ Range validation with value_providers test passed") end # Test type validation @@ -181,12 +181,12 @@ def test_type_validation() assert(test_obj.set_param("any_param", test_instance) == true, "Should accept instance for any_param") assert(test_obj.set_param("any_param", 3.14) == true, "Should accept real for any_param") - # Test that ValueProviders bypass type validation + # Test that value_providers bypass type validation var static_provider = animation.static_value(engine) static_provider.value = 42 # Use a valid value for the provider itself - assert(test_obj.set_param("int_param", static_provider) == true, "Should accept ValueProvider for any type") - assert(test_obj.set_param("string_param", static_provider) == true, "Should accept ValueProvider for any type") - assert(test_obj.set_param("bool_param", static_provider) == true, "Should accept ValueProvider for any type") + assert(test_obj.set_param("int_param", static_provider) == true, "Should accept value_provider for any type") + assert(test_obj.set_param("string_param", static_provider) == true, "Should accept value_provider for any type") + assert(test_obj.set_param("bool_param", static_provider) == true, "Should accept value_provider for any type") print("✓ Type validation test passed") end diff --git a/lib/libesp32/berry_animation/src/tests/parameterized_object_test.be b/lib/libesp32/berry_animation/src/tests/parameterized_object_test.be index 5cfcb0636..72afba1f4 100644 --- a/lib/libesp32/berry_animation/src/tests/parameterized_object_test.be +++ b/lib/libesp32/berry_animation/src/tests/parameterized_object_test.be @@ -1,6 +1,6 @@ -# Test suite for ParameterizedObject +# Test suite for parameterized_object # -# This test verifies that the ParameterizedObject base class works correctly +# This test verifies that the parameterized_object base class works correctly # and provides proper virtual parameter management. import animation @@ -24,11 +24,11 @@ end var mock_engine = MockEngine() -# Test basic ParameterizedObject functionality +# Test basic parameterized_object functionality def test_parameterized_object_basic() - print("Testing basic ParameterizedObject functionality...") + print("Testing basic parameterized_object functionality...") - # Create a simple test class that extends ParameterizedObject + # Create a simple test class that extends parameterized_object class TestObject : animation.parameterized_object # No instance variables for parameters - they're handled by the virtual system @@ -92,7 +92,7 @@ def test_parameterized_object_basic() # Test non-existent parameter assert(obj.set_param("invalid_param", 42) == false, "Should reject unknown parameter") - print("✓ Basic ParameterizedObject test passed") + print("✓ Basic parameterized_object test passed") end # Test class hierarchy parameter inheritance @@ -144,9 +144,9 @@ def test_parameter_hierarchy() print("✓ Parameter hierarchy test passed") end -# Test ValueProvider as parameter +# Test value_provider as parameter def test_value_provider_as_parameter() - print("Testing ValueProvider as parameter...") + print("Testing value_provider as parameter...") # Create a simple test class class TestClass : animation.parameterized_object @@ -161,8 +161,8 @@ def test_value_provider_as_parameter() var obj = TestClass(mock_engine) - # Create a mock ValueProvider - class MockValueProvider : animation.value_provider + # Create a mock value_provider + class Mockvalue_provider : animation.value_provider var test_value def init(engine, value) super(self).init(engine) @@ -176,10 +176,10 @@ def test_value_provider_as_parameter() end end - var provider = MockValueProvider(mock_engine, 75) + var provider = Mockvalue_provider(mock_engine, 75) - # Set ValueProvider as parameter (should bypass validation) - assert(obj.set_param("dynamic_value", provider) == true, "Should accept ValueProvider as parameter") + # Set value_provider as parameter (should bypass validation) + assert(obj.set_param("dynamic_value", provider) == true, "Should accept value_provider as parameter") # Test that get_param returns the provider itself var returned_provider = obj.get_param("dynamic_value") @@ -189,12 +189,12 @@ def test_value_provider_as_parameter() assert(returned_provider.produce_value("test", 1000) == 75, "Returned provider should produce expected value") # Test that virtual member access resolves the provider - assert(obj.dynamic_value == 75, "Virtual member should resolve ValueProvider") + assert(obj.dynamic_value == 75, "Virtual member should resolve value_provider") # Test get_param_value explicitly - assert(obj.get_param_value("dynamic_value", 1000) == 75, "Should resolve ValueProvider value") + assert(obj.get_param_value("dynamic_value", 1000) == 75, "Should resolve value_provider value") - print("✓ ValueProvider as parameter test passed") + print("✓ value_provider as parameter test passed") end # Test parameter metadata @@ -460,7 +460,7 @@ end # Run all tests def run_parameterized_object_tests() - print("=== ParameterizedObject Tests ===") + print("=== parameterized_object Tests ===") try test_parameterized_object_basic() @@ -472,7 +472,7 @@ def run_parameterized_object_tests() test_engine_requirement() test_equality_operator() - print("=== All ParameterizedObject tests passed! ===") + print("=== All parameterized_object tests passed! ===") return true except .. as e, msg print(f"Test failed: {e} - {msg}") diff --git a/lib/libesp32/berry_animation/src/tests/rich_palette_animation_class_test.be b/lib/libesp32/berry_animation/src/tests/rich_palette_animation_class_test.be index 3fcf0732d..2d257a843 100644 --- a/lib/libesp32/berry_animation/src/tests/rich_palette_animation_class_test.be +++ b/lib/libesp32/berry_animation/src/tests/rich_palette_animation_class_test.be @@ -138,7 +138,7 @@ assert(anim.opacity == 255, "Opacity should be set correctly") # Test color provider integration assert(anim.color_provider != nil, "Internal color provider should exist") -assert(animation.is_value_provider(anim.color_provider), "Internal provider should be a ValueProvider") +assert(animation.is_value_provider(anim.color_provider), "Internal provider should be a value_provider") # Test that color parameter is set to internal provider var raw_color_param = anim.get_param("color") diff --git a/lib/libesp32/berry_animation/src/tests/sequence_manager_layering_test.be b/lib/libesp32/berry_animation/src/tests/sequence_manager_layering_test.be index 47c30f14c..603bd3166 100644 --- a/lib/libesp32/berry_animation/src/tests/sequence_manager_layering_test.be +++ b/lib/libesp32/berry_animation/src/tests/sequence_manager_layering_test.be @@ -1,4 +1,4 @@ -# Unit tests for SequenceManager with multiple concurrent sequences +# Unit tests for sequence_manager with multiple concurrent sequences # # Command to run test is: # ./berry -s -g -m lib/libesp32/berry_animation -e "import tasmota" lib/libesp32/berry_animation/tests/sequence_manager_layering_test.be @@ -7,7 +7,7 @@ import string import animation def test_multiple_sequence_managers() - print("=== Multiple SequenceManager Tests ===") + print("=== Multiple sequence_manager Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -80,7 +80,7 @@ def test_multiple_sequence_managers() end def test_sequence_manager_coordination() - print("=== SequenceManager Coordination Tests ===") + print("=== sequence_manager Coordination Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -145,7 +145,7 @@ def test_sequence_manager_coordination() end def test_sequence_manager_engine_integration() - print("=== SequenceManager Engine Integration Tests ===") + print("=== sequence_manager Engine Integration Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -203,7 +203,7 @@ def test_sequence_manager_engine_integration() end def test_sequence_manager_removal() - print("=== SequenceManager Removal Tests ===") + print("=== sequence_manager Removal Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -245,7 +245,7 @@ def test_sequence_manager_removal() end def test_sequence_manager_clear_all() - print("=== SequenceManager Clear All Tests ===") + print("=== sequence_manager Clear All Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -302,7 +302,7 @@ def test_sequence_manager_clear_all() end def test_sequence_manager_stress() - print("=== SequenceManager Stress Tests ===") + print("=== sequence_manager Stress Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -593,7 +593,7 @@ end # Run all layering tests def run_all_sequence_manager_layering_tests() - print("Starting SequenceManager Layering Tests...") + print("Starting sequence_manager Layering Tests...") test_multiple_sequence_managers() test_sequence_manager_coordination() @@ -607,7 +607,7 @@ def run_all_sequence_manager_layering_tests() test_dsl_if_statement_nested() test_dsl_if_vs_repeat_comparison() - print("\n🎉 All SequenceManager layering tests passed!") + print("\n🎉 All sequence_manager layering tests passed!") return true end diff --git a/lib/libesp32/berry_animation/src/tests/sequence_manager_test.be b/lib/libesp32/berry_animation/src/tests/sequence_manager_test.be index 2a8c5491d..0f75d5c43 100644 --- a/lib/libesp32/berry_animation/src/tests/sequence_manager_test.be +++ b/lib/libesp32/berry_animation/src/tests/sequence_manager_test.be @@ -1,4 +1,4 @@ -# Unit tests for the SequenceManager class +# Unit tests for the sequence_manager class # # Command to run test is: # ./berry -s -g -m lib/libesp32/berry_animation -e "import tasmota" lib/libesp32/berry_animation/tests/sequence_manager_test.be @@ -9,10 +9,10 @@ import global import tasmota def test_sequence_manager_basic() - print("=== SequenceManager Basic Tests ===") + print("=== sequence_manager Basic Tests ===") - # Test SequenceManager class exists - assert(animation.sequence_manager != nil, "SequenceManager class should be defined") + # Test sequence_manager class exists + assert(animation.sequence_manager != nil, "sequence_manager class should be defined") # Create strip and engine for testing var strip = global.Leds(30) @@ -32,7 +32,7 @@ def test_sequence_manager_basic() end def test_sequence_manager_step_creation() - print("=== SequenceManager Step Creation Tests ===") + print("=== sequence_manager Step Creation Tests ===") # Create test animation using new parameterized API var strip = global.Leds(30) @@ -71,7 +71,7 @@ def test_sequence_manager_step_creation() end def test_sequence_manager_execution() - print("=== SequenceManager Execution Tests ===") + print("=== sequence_manager Execution Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -117,7 +117,7 @@ def test_sequence_manager_execution() end def test_sequence_manager_timing() - print("=== SequenceManager Timing Tests ===") + print("=== sequence_manager Timing Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -170,7 +170,7 @@ def test_sequence_manager_timing() end def test_sequence_manager_step_info() - print("=== SequenceManager Step Info Tests ===") + print("=== sequence_manager Step Info Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -199,7 +199,7 @@ def test_sequence_manager_step_info() end def test_sequence_manager_stop() - print("=== SequenceManager Stop Tests ===") + print("=== sequence_manager Stop Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -233,7 +233,7 @@ def test_sequence_manager_stop() end def test_sequence_manager_is_running() - print("=== SequenceManager Running State Tests ===") + print("=== sequence_manager Running State Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -270,7 +270,7 @@ def test_sequence_manager_is_running() end def test_sequence_manager_assignment_steps() - print("=== SequenceManager Assignment Steps Tests ===") + print("=== sequence_manager Assignment Steps Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -328,7 +328,7 @@ def test_sequence_manager_assignment_steps() end def test_sequence_manager_complex_sequence() - print("=== SequenceManager Complex Sequence Tests ===") + print("=== sequence_manager Complex Sequence Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -405,7 +405,7 @@ def test_sequence_manager_complex_sequence() end def test_sequence_manager_integration() - print("=== SequenceManager Integration Tests ===") + print("=== sequence_manager Integration Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -450,7 +450,7 @@ def test_sequence_manager_integration() end def test_sequence_manager_parametric_repeat_counts() - print("=== SequenceManager Parametric Repeat Count Tests ===") + print("=== sequence_manager Parametric Repeat Count Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -489,7 +489,7 @@ def test_sequence_manager_parametric_repeat_counts() end def test_sequence_manager_repeat_execution_with_functions() - print("=== SequenceManager Repeat Execution with Functions Tests ===") + print("=== sequence_manager Repeat Execution with Functions Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -532,7 +532,7 @@ def test_sequence_manager_repeat_execution_with_functions() end def test_sequence_manager_palette_size_simulation() - print("=== SequenceManager Palette Size Simulation Tests ===") + print("=== sequence_manager Palette Size Simulation Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -577,7 +577,7 @@ def test_sequence_manager_palette_size_simulation() end def test_sequence_manager_dynamic_repeat_changes() - print("=== SequenceManager Dynamic Repeat Changes Tests ===") + print("=== sequence_manager Dynamic Repeat Changes Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -634,7 +634,7 @@ def test_sequence_manager_dynamic_repeat_changes() end def test_sequence_manager_complex_parametric_scenario() - print("=== SequenceManager Complex Parametric Scenario Tests ===") + print("=== sequence_manager Complex Parametric Scenario Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -689,7 +689,7 @@ def test_sequence_manager_complex_parametric_scenario() end def test_sequence_manager_zero_iterations() - print("=== SequenceManager Zero Iterations Tests ===") + print("=== sequence_manager Zero Iterations Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -743,7 +743,7 @@ def test_sequence_manager_zero_iterations() end def test_sequence_manager_zero_palette_size() - print("=== SequenceManager Zero Palette Size Tests ===") + print("=== sequence_manager Zero Palette Size Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -811,7 +811,7 @@ def test_sequence_manager_zero_palette_size() end def test_sequence_manager_boolean_repeat_counts() - print("=== SequenceManager Boolean Repeat Count Tests ===") + print("=== sequence_manager Boolean Repeat Count Tests ===") # Create strip and engine var strip = global.Leds(30) @@ -920,7 +920,7 @@ def test_sequence_manager_boolean_repeat_counts() end def test_sequence_manager_false_conditional_immediate_skip() - print("=== SequenceManager False Conditional Immediate Skip Tests ===") + print("=== sequence_manager False Conditional Immediate Skip Tests ===") # This test verifies that when a conditional subsequence (if block) has a false condition, # the parent sequence immediately advances to the next step without waiting for a tick. @@ -1035,7 +1035,7 @@ def test_sequence_manager_false_conditional_immediate_skip() end def test_sequence_manager_all_false_conditionals_no_infinite_loop() - print("=== SequenceManager All False Conditionals No Infinite Loop Tests ===") + print("=== sequence_manager All False Conditionals No Infinite Loop Tests ===") # This test verifies that when ALL conditional subsequences in a repeat-forever # sequence are false, the sequence doesn't go into an infinite loop. @@ -1104,7 +1104,7 @@ end # Run all tests def run_all_sequence_manager_tests() - print("Starting SequenceManager Unit Tests...") + print("Starting sequence_manager Unit Tests...") test_sequence_manager_basic() test_sequence_manager_step_creation() @@ -1127,7 +1127,7 @@ def run_all_sequence_manager_tests() test_sequence_manager_false_conditional_immediate_skip() test_sequence_manager_all_false_conditionals_no_infinite_loop() - print("\n🎉 All SequenceManager tests passed!") + print("\n🎉 All sequence_manager tests passed!") return true end diff --git a/lib/libesp32/berry_animation/src/tests/solid_animation_test.be b/lib/libesp32/berry_animation/src/tests/solid_animation_test.be index f2768d773..5643a0827 100644 --- a/lib/libesp32/berry_animation/src/tests/solid_animation_test.be +++ b/lib/libesp32/berry_animation/src/tests/solid_animation_test.be @@ -56,11 +56,11 @@ blue_anim.loop = true blue_anim.opacity = 200 print(f"Blue animation - priority: {blue_anim.priority}, duration: {blue_anim.duration}, loop: {blue_anim.loop}") -# Test 4: Create animation with ValueProvider +# Test 4: Create animation with value_provider var solid_provider = animation.static_color(engine) solid_provider.color = 0xFF00FF00 # Green var green_anim = animation.solid(engine) -green_anim.color = solid_provider # Use ValueProvider as dynamic parameter +green_anim.color = solid_provider # Use value_provider as dynamic parameter print("Green animation with color provider created") # Test 5: Test rendering @@ -86,11 +86,11 @@ assert(anim.color == 0xFFFFFFFF, "Color parameter should be accessible") assert(red_anim.color == 0xFFFF0000, "Red color should be set correctly") assert(blue_anim.priority == 20, "Priority should be set correctly") -# Test ValueProvider integration -assert(animation.is_value_provider(solid_provider), "Should recognize ValueProvider") -# Use get_param to get raw ValueProvider (not resolved value) +# Test value_provider integration +assert(animation.is_value_provider(solid_provider), "Should recognize value_provider") +# Use get_param to get raw value_provider (not resolved value) var raw_color_param = green_anim.get_param("color") -assert(raw_color_param == solid_provider, "Should store ValueProvider as parameter") +assert(raw_color_param == solid_provider, "Should store value_provider as parameter") print("All parameterized solid() tests completed successfully!") return true \ No newline at end of file diff --git a/lib/libesp32/berry_animation/src/tests/solid_unification_test.be b/lib/libesp32/berry_animation/src/tests/solid_unification_test.be index d6a40bbc6..e47bac25e 100644 --- a/lib/libesp32/berry_animation/src/tests/solid_unification_test.be +++ b/lib/libesp32/berry_animation/src/tests/solid_unification_test.be @@ -86,7 +86,7 @@ def test_solid_color_provider() # Create solid animation with color provider var yellow_solid = animation.solid(engine) - yellow_solid.color = color_provider # Use ValueProvider as dynamic parameter + yellow_solid.color = color_provider # Use value_provider as dynamic parameter yellow_solid.priority = 10 yellow_solid.duration = 0 yellow_solid.loop = false @@ -96,9 +96,9 @@ def test_solid_color_provider() assert(yellow_solid != nil, "Should create animation with color provider") assert(type(yellow_solid) == "instance", "Should be an instance") - # Verify ValueProvider is stored correctly + # Verify value_provider is stored correctly var raw_color_param = yellow_solid.get_param("color") - assert(raw_color_param == color_provider, "Should store ValueProvider as parameter") + assert(raw_color_param == color_provider, "Should store value_provider as parameter") print("✅ Solid with color provider test passed") end @@ -165,7 +165,7 @@ def run_tests() print("\nKey Achievements:") print("- solid() uses engine-only constructor pattern") print("- Parameters set via virtual member assignment") - print("- Full ValueProvider integration") + print("- Full value_provider integration") print("- Engine-controlled timing system") print("- Parameterized class system working correctly") return true diff --git a/lib/libesp32/berry_animation/src/tests/static_value_provider_test.be b/lib/libesp32/berry_animation/src/tests/static_value_provider_test.be index 6982feab4..ac2edcb33 100644 --- a/lib/libesp32/berry_animation/src/tests/static_value_provider_test.be +++ b/lib/libesp32/berry_animation/src/tests/static_value_provider_test.be @@ -1,14 +1,14 @@ -# Test suite for StaticValueProvider class +# Test suite for static_value class # -# This test verifies that the StaticValueProvider class works correctly +# This test verifies that the static_value class works correctly # and follows the parameterized class specification. import string import animation -# Test the basic StaticValueProvider interface +# Test the basic static_value interface def test_static_value_provider_interface() - print("Testing StaticValueProvider interface...") + print("Testing static_value interface...") # Create engine for testing var strip = global.Leds() @@ -25,12 +25,12 @@ def test_static_value_provider_interface() assert(provider.produce_value("test", 1000) == 42, "Should return set value") assert(provider.produce_value("test", 2000) == 42, "Should return same value regardless of time") - print("✓ StaticValueProvider interface test passed") + print("✓ static_value interface test passed") end # Test with different value types def test_static_value_provider_types() - print("Testing StaticValueProvider with different types...") + print("Testing static_value with different types...") # Create engine for testing var strip = global.Leds() @@ -51,7 +51,7 @@ def test_static_value_provider_types() color_provider.value = 0xFF00FF00 assert(color_provider.produce_value("test", 1000) == 0xFF00FF00, "Should handle color values") - print("✓ StaticValueProvider types test passed") + print("✓ static_value types test passed") end # Test produce_value method with different parameter names @@ -98,7 +98,7 @@ end # Test parameterized object integration def test_parameterized_object_integration() - print("Testing ParameterizedObject integration...") + print("Testing parameterized_object integration...") # Create engine for testing var strip = global.Leds() @@ -119,7 +119,7 @@ def test_parameterized_object_integration() assert(provider.get_param("value", nil) == 777, "Should retrieve value via parameter system") assert(provider.value == 777, "Virtual member should reflect parameter value") - print("✓ ParameterizedObject integration test passed") + print("✓ parameterized_object integration test passed") end # Test value changes @@ -160,7 +160,7 @@ def test_string_representation() provider.value = 42 var str_repr = str(provider) - assert(string.find(str_repr, "StaticValueProvider") >= 0, "String representation should contain class name") + assert(string.find(str_repr, "static_value") >= 0, "String representation should contain class name") assert(string.find(str_repr, "42") >= 0, "String representation should contain the value") print("✓ String representation test passed") @@ -168,7 +168,7 @@ end # Run all tests def run_static_value_provider_tests() - print("=== StaticValueProvider Tests ===") + print("=== static_value Tests ===") try test_static_value_provider_interface() @@ -179,7 +179,7 @@ def run_static_value_provider_tests() test_value_changes() test_string_representation() - print("=== All StaticValueProvider tests passed! ===") + print("=== All static_value tests passed! ===") return true except .. as e, msg print(f"Test failed: {e} - {msg}") diff --git a/lib/libesp32/berry_animation/src/tests/test_time_ms_requirement.be b/lib/libesp32/berry_animation/src/tests/test_time_ms_requirement.be index 20d84d9db..a0b2f0191 100644 --- a/lib/libesp32/berry_animation/src/tests/test_time_ms_requirement.be +++ b/lib/libesp32/berry_animation/src/tests/test_time_ms_requirement.be @@ -1,12 +1,12 @@ #!/usr/bin/env berry -# Test to verify that time_ms is correctly passed to ValueProvider methods +# Test to verify that time_ms is correctly passed to value_provider methods # Mock the animation module var animation = {} -# Define the ValueProvider base class -class ValueProvider +# Define the value_provider base class +class value_provider def get_value(time_ms) return nil end @@ -16,8 +16,8 @@ class ValueProvider end end -# Define the StaticValueProvider with member() construct -class StaticValueProvider : ValueProvider +# Define the static_value with member() construct +class static_value : value_provider var value def init(value) @@ -46,9 +46,9 @@ end def test_time_ms_requirement() print("=== Testing time_ms Requirement ===") - # Test 1: StaticValueProvider universal methods accept time_ms - print("1. Testing StaticValueProvider universal methods...") - var static_provider = StaticValueProvider(42) + # Test 1: static_value universal methods accept time_ms + print("1. Testing static_value universal methods...") + var static_provider = static_value(42) var pulse_size_method = static_provider.member("get_pulse_size") assert(type(pulse_size_method) == "function", "Should return function") @@ -61,7 +61,7 @@ def test_time_ms_requirement() # Test 2: Custom provider with time-aware methods print("2. Testing custom provider with time-aware methods...") - class TimeAwareProvider : ValueProvider + class TimeAwareProvider : value_provider var last_time_received def init() @@ -107,7 +107,7 @@ def test_time_ms_requirement() print("3. Testing parameter resolution with time_ms...") def resolve_parameter(param_value, param_name, time_ms) - if isinstance(param_value, ValueProvider) + if isinstance(param_value, value_provider) # Try specific method first using introspection import introspect var method_name = "get_" + param_name @@ -141,7 +141,7 @@ def test_time_ms_requirement() print("=== All time_ms requirement tests passed! ===") print() print("Verified:") - print("- StaticValueProvider universal methods accept time_ms") + print("- static_value universal methods accept time_ms") print("- Custom provider methods receive time_ms correctly") print("- Parameter resolution always passes time_ms") print("- Both specific and generic methods work with time_ms") diff --git a/lib/libesp32/berry_animation/src/tests/value_provider_test.be b/lib/libesp32/berry_animation/src/tests/value_provider_test.be index ab2045907..721eb7605 100644 --- a/lib/libesp32/berry_animation/src/tests/value_provider_test.be +++ b/lib/libesp32/berry_animation/src/tests/value_provider_test.be @@ -1,15 +1,15 @@ -# Test suite for ValueProvider base class +# Test suite for value_provider base class # -# This test verifies that the base ValueProvider class works correctly +# This test verifies that the base value_provider class works correctly # and follows the parameterized class specification with produce_value() API. import animation import "./core/param_encoder" as encode_constraints -# Test the basic ValueProvider interface +# Test the basic value_provider interface def test_value_provider_interface() - print("Testing ValueProvider interface...") + print("Testing value_provider interface...") # Create engine for testing var strip = global.Leds() @@ -25,12 +25,12 @@ def test_value_provider_interface() assert(provider.engine != nil, "Provider should have engine reference") assert(provider.engine == engine, "Provider should have correct engine reference") - print("✓ ValueProvider interface test passed") + print("✓ value_provider interface test passed") end # Test with a custom value provider def test_custom_value_provider() - print("Testing custom ValueProvider...") + print("Testing custom value_provider...") # Create engine for testing var strip = global.Leds() @@ -64,7 +64,7 @@ def test_custom_value_provider() # Test parameter access assert(provider.multiplier == 2, "Should access parameter via virtual member") - print("✓ Custom ValueProvider test passed") + print("✓ Custom value_provider test passed") end # Test is_value_provider function @@ -77,7 +77,7 @@ def test_is_value_provider() var base_provider = animation.value_provider(engine) - assert(animation.is_value_provider(base_provider) == true, "ValueProvider should be detected") + assert(animation.is_value_provider(base_provider) == true, "value_provider should be detected") assert(animation.is_value_provider(42) == false, "Integer should not be detected") assert(animation.is_value_provider("hello") == false, "String should not be detected") assert(animation.is_value_provider(nil) == false, "nil should not be detected") @@ -87,7 +87,7 @@ end # Test parameterized object integration def test_parameterized_object_integration() - print("Testing ParameterizedObject integration...") + print("Testing parameterized_object integration...") # Create engine for testing var strip = global.Leds() @@ -106,7 +106,7 @@ def test_parameterized_object_integration() # Test lifecycle method exists assert(type(provider.start) == "function", "Should have start method") - print("✓ ParameterizedObject integration test passed") + print("✓ parameterized_object integration test passed") end # Test lifecycle methods @@ -159,9 +159,9 @@ def test_lifecycle_methods() print("✓ Lifecycle methods test passed") end -# Test value provider registration in EngineProxy +# Test value provider registration in engine_proxy def test_value_provider_registration() - print("Testing ValueProvider registration in EngineProxy...") + print("Testing value_provider registration in engine_proxy...") # Create a mock LED strip var strip = Leds(30) @@ -216,12 +216,12 @@ def test_value_provider_registration() assert(removed == true, "Value provider should be removed successfully") assert(size(proxy.value_providers) == 0, "Proxy should have no value providers after remove") - print("✓ ValueProvider registration test passed") + print("✓ value_provider registration test passed") end # Test multiple value providers def test_multiple_value_providers() - print("Testing multiple ValueProviders in EngineProxy...") + print("Testing multiple value_providers in engine_proxy...") var strip = Leds(30) var engine = animation.create_engine(strip) @@ -261,12 +261,12 @@ def test_multiple_value_providers() osc2.stop() osc3.stop() - print("✓ Multiple ValueProviders test passed") + print("✓ Multiple value_providers test passed") end # Test is_empty() includes value_providers def test_is_empty_with_value_providers() - print("Testing is_empty() with ValueProviders...") + print("Testing is_empty() with value_providers...") var strip = Leds(30) var engine = animation.create_engine(strip) @@ -280,12 +280,12 @@ def test_is_empty_with_value_providers() proxy.clear() assert(proxy.is_empty() == true, "Proxy should be empty after clear") - print("✓ is_empty() with ValueProviders test passed") + print("✓ is_empty() with value_providers test passed") end # Run all tests def run_value_provider_tests() - print("=== ValueProvider Base Class Tests ===") + print("=== value_provider Base Class Tests ===") try test_value_provider_interface() @@ -294,12 +294,12 @@ def run_value_provider_tests() test_parameterized_object_integration() test_lifecycle_methods() - print("\n=== ValueProvider Registration Tests ===") + print("\n=== value_provider Registration Tests ===") test_value_provider_registration() test_multiple_value_providers() test_is_empty_with_value_providers() - print("\n=== All ValueProvider tests passed! ===") + print("\n=== All value_provider tests passed! ===") return true except .. as e, msg print(f"Test failed: {e} - {msg}")