Site Map
This page is a crawl-friendly HTML index of the canonical LERP surface.
Primary XML sitemaps: sitemap.xml and sitemap-course.xml
Home
- Welcome to LERP - Luau Education for Rive Professionals - From zero to hero
Core Pages
- About the Author - Author credentials and background for the LERP course
- Changelog - All notable changes to the LERP course
- Contact & Transparency - Contact paths and transparency details for LERP maintenance
- Contribution Instructions - Step-by-step instructions for contributing to LERP
- Contribution Policy - Quality and governance policy for contributing to LERP
- Corrections Policy - How LERP handles errors, clarifications, and content corrections
- Editorial Methodology - How LERP content is authored, reviewed, and updated
- Glossary - Key terms and definitions for Rive scripting with Luau
- My Progress - Track your course progress and manage exercise completion
- Open Source License (MIT) - LERP is open source under the MIT License
- Privacy (localStorage) - How LERP stores progress locally and what data is (and is not) collected.
- Quick Reference - Rive Scripting cheat sheet for Node scripts
- Tips and Tricks - Common workarounds, patterns, and solutions for Rive Luau scripting problems
Advanced
- Core Types - Understanding Path, Paint, and other core drawing types in Rive
- Drawing API - Transforms, Renderer state, and advanced drawing techniques in Rive
- Dynamic Instantiation
- Pointer Events
- Procedural Geometry - Dynamic Path generation, animated shapes, and particle systems in Rive
- ViewModels - Binding scripts to ViewModels for reactive data-driven animations
Api
- API Reference - Complete Rive Luau API documentation organized by category.
- Assets - Image, ImageFilter, ImageSampler, and ImageWrap
- Core Types - Vector, Color, and Mat2D types
- Data & Input - Input, Property, Context, and ViewModel for data binding
- Data Values - DataValue types, Converter, and Property types
- Drawing - Path, Paint, Gradient, and Renderer for custom drawing
- Events - PointerEvent for pointer interactions
- Hierarchy - NodeData, NodeReadData, and Layout
- Path Effects - PathCommand, PathData, PathEffect, and CommandType
- Scene - Artboard, Node, and Animation objects
- Styling - PaintDefinition, PaintStyle, BlendMode, StrokeCap, StrokeJoin, GradientStop
- System - Listener, Output, EnumValues, and Sandbox Limitations
Best Practices
Examples
- Sample Exercise (Review) - A complete exercise example demonstrating all features
Fundamentals
- 1.1 Variables, Types & Operators - Declare variables, understand data types, and use operators in Rive Node Scripts
- 1.2 Control Flow & Loops - Conditionals, loops, and control structures in Rive Node Scripts
- 1.3 Functions & Closures - Define functions, understand scope, and use closures in Rive Node Scripts
- 1.4 Tables - Arrays, dictionaries, and data structures in Rive Node Scripts
- Data Types - Understanding Luau's fundamental data types for Rive animations
- Iteration - Loops, iterators, and collection traversal in Rive Node Scripts
- Operators - Arithmetic, comparison, logical, and compound operators in Rive Node Scripts
Getting Started
- How Rive Scripts Work - Understanding WHY Rive scripts are structured the way they are - the complete beginner's guide
- Welcome to Rive Scripting - Introduction to Rive scripting and what it enables
- Why Luau? - The power of typed scripting in design
- Your First Rive Script - A gentle introduction to Rive scripting for complete beginners - no programming experience required
Oop
- 3.2 Building Classes - Create proper class constructors with typing and methods
- 3.3 Inheritance & Patterns - Extend classes and implement design patterns
- 3.7 Encapsulation - Private state patterns and closures for encapsulation in Rive
- 3.8 OOP Patterns - Common OOP patterns for Rive - Factory, Prototype, Module, and more
- Metatables & __index - Understand metatables and the __index metamethod - the foundation of OOP in Luau
- Prototype-Based OOP - Understanding Lua's prototype-based approach to object-oriented programming
- self and Methods - The colon syntax, self parameter, and method calls in Lua
- The __index Metamethod - Deep dive into __index, __newindex, and method lookup chains
Projects
- Catch the Stars - Build a tiny interactive game with clicking stars and score tracking
- Data Visualization - Build a simple bar chart driven by ViewModel data
- Interactive Button - Build a button that reacts to pointer Input and fires ViewModel triggers
Rive
- Converter Script Protocol - Bidirectional data transformation for ViewModel bindings
- Inputs and Data Binding - Learn how to use script inputs and data binding in Rive Node Scripts
- Layout Script Protocol - Programmatic control over Layout component sizing and positioning
- ListenerAction Script Protocol - Custom logic triggered by state machine listener events
- Listeners - Learn about Listener functions in Rive - property listeners, pointer events, and cross-script communication
- Node Lifecycle - Understand when each Node script callback runs in Rive
- Node Protocol - Learn the Node script protocol structure required for Rive animations
- Path Effect Script Protocol - Real-time manipulation of path geometry for stroke and fill effects
- Rive AI Agent - Comprehensive guide to the Rive AI Coding Agent built into the editor
- Rive Environment - Understand the Rive scripting environment, Console panel, script types, and sandbox limitations
- Script Capability Matrix - Comprehensive matrix of what each Rive script type can access, what parameters it receives, and what it cannot do
- Script Types Overview - All 8 Rive script types at a glance - when to use each one
- Test Script Protocol - Unit testing for Util Scripts in the Rive editor
- TransitionCondition Script Protocol - Custom state machine transition evaluation logic
- Util Script Protocol - Learn how to create reusable Util scripts for sharing code across Node scripts in Rive
Types
- 2.1 Type Annotations & Inference - Understand strict mode, add type annotations, and understand type inference
- 2.2 Custom Types & Unions - Define custom type aliases, table types, and union types
- 2.3 Generics & Advanced Types - Create flexible, reusable type definitions with generics
- Advanced Types - Master intersection types, union types, optional types, and function types in Luau
- Strict Mode Deep Dive - Master strict mode and understand the type errors it catches
- The late() Initializer - Understand when and how to use late() for engine-provided and deferred values
- Type Annotations Deep Dive - Master type annotations for Rive Node Scripts with practical patterns