Overview
FUSE is the graphics editor for Rive themes in LIGR Live. It allows you to import Rive files, bind data from the LIGR platform and external sources, add control variables for operator customisation, and publish graphics for use in live broadcasts.
You'll use FUSE when:
* You're working with Rive themes and need to connect graphics to live match data
* You want to create graphics that pull information from external spreadsheets or APIs
* You need to give operators control over graphic elements during live broadcasts
* You're building custom graphics for competitions, matches, players, or statistics
FUSE sits between your graphic design (created in Rive) and your live broadcast (controlled from the Control Room). Graphics you publish in FUSE appear in the Control Room where operators can control them during matches.
Key Concepts
Rive Files: Design files (.riv) created in the Rive editor with exposed inputs (text, images, numbers, colours) that FUSE can populate with data.
Data Binding: Connecting FUSE expressions to Rive inputs so graphics display live information from matches, players, teams, or external sources.
LIGR Data Hierarchy: The structured data available in FUSE following the path: League → Competition → Match → Teams/Players/Stats/Events.
External Data Sources: Spreadsheets or API endpoints that provide supplementary data not available in the LIGR platform (tournament brackets, custom statistics, sponsor information).
Control Variables: Operator-facing controls that appear in the Control Room, allowing real-time customisation of graphics during broadcasts (Boolean toggles, player dropdowns, text inputs).
Expressions: FUSE formulas that reference data fields and can be exported as text files for batch editing and importing into other graphics.
Publishing: The process of making a FUSE graphic available for use in broadcasts. Published graphics appear in the Control Room.
How FUSE Works with Other Sections
Rive: You design graphics in Rive and expose inputs (text fields, image slots, number values). These exposed inputs become the elements FUSE can populate with data.
Assets: Teams, players, competitions, and clubs created in Assets provide the data that FUSE expressions reference. Player rosters with statistics populate player variables.
Matches: Match data (teams, scores, status, events) flows into FUSE graphics. Competition theme settings (including image templates) determine how graphics process and display data.
Control Room: Published FUSE graphics appear here with all configured control variables. Operators select players from dropdowns, toggle Boolean switches, and preview graphics before showing them on screen.
Automated Game Plans: Graphics published in FUSE can be assigned to playlists within game plans, where triggers and timing determine when they appear during broadcasts.
Basic FUSE Workflow
1. Import a Rive file into FUSE by dragging and dropping the .riv file into the editor.
2. FUSE automatically detects the Rive file's exposed inputs and makes them available for data binding.
3. For each exposed input, either enter values manually (static text, fixed colours) or create expressions for dynamic data binding.
4. Access LIGR data through the data hierarchy: league, competition, match, teams, players, statistics, and events.
5. Connect external data sources if needed by linking spreadsheets or API endpoints. External data fields can be mixed with LIGR data expressions in the same graphic.
6. Add control variables to give operators real-time control from the Control Room (Boolean toggles, String inputs, Player dropdowns).
7. Preview the graphic to verify all data binding displays correctly.
8. Publish the graphic to make it available in the Control Room and Automated Game Plans.
Data Binding in FUSE
Manual Data Entry: For static elements like fixed labels or permanent sponsor logos, enter values directly into FUSE fields without expressions.
LIGR Data Expressions: Reference live match data using expressions like player.data.first_name, match.home_team.name, or competition.logo_url. These automatically update with current match information.
External Data: For data not available in LIGR (tournament brackets, custom statistics), connect spreadsheets or APIs. The first row of spreadsheets must contain headers that become field names in expressions.
Player Variables: Add a Player control variable to create a dropdown listing all available players. Use player.data expressions to access selected player names, team logos, and statistics (goals, tackles, shots).
Image Data: Player images are pulled from roster data using player.data.team.logo_url expressions. Image slots in Rive must be explicitly exposed for FUSE to populate them. The 300×300 image template is the recommended size for player headshots.
Control Variables
Control variables create operator-facing controls in the Control Room during live broadcasts.
Boolean Variables: Create toggle switches for show/hide functionality. Name them descriptively (ShowTime, ShowScore, AutoMode) and set sensible default values (True to show by default, False to hide).
Player Variables: Create dropdown selectors listing all players from team rosters. When an operator selects a player, all expressions referencing that variable update to display the selected player's information.
String Variables: Allow operators to enter custom text during broadcasts.
To add a control variable: navigate to the Control Variables panel in FUSE, click Add Variable, select the type, name it descriptively, and set the default value. Link the variable to graphic elements by referencing it in visibility expressions or data binding formulas.
Expression Export and Import
FUSE expressions can be exported as text files and imported into other graphics for efficient workflow duplication.
1. In the FUSE editor, select the option to export expressions.
2. This generates a text file containing all expressions with element names and formulas in structured format.
3. Use tools like ChatGPT or a text editor to batch-modify expressions (add uppercase formatting, add set filters, change field references).
4. In the target FUSE graphic, use the import function to load modified expressions.
5. FUSE maps each expression back to its corresponding element by name.
6. Verify imported expressions in preview before publishing.
Expression export/import works as a straight-swap copy — element names must match between source and target graphics. This workflow is ideal for creating multiple variations of similar graphics (different leagues or competitions using the same template).
External Data Sources
External data allows FUSE graphics to display information from spreadsheets and APIs that isn't part of the standard LIGR data model.
Spreadsheet Setup: The first row must contain headers that FUSE uses as field names in expressions. Include all required data columns (team names, scores, bracket positions, tournament rounds).
Connecting the Source: In FUSE, navigate to the External Data section and connect your spreadsheet. FUSE reads the header row and creates named fields for each column that can be referenced in expressions.
Mapping to Graphic Elements: For each graphic element, create an expression that references the corresponding column from the external data.
Batch Expression Updates: For graphics with many data points (tournament brackets with multiple rounds), export expressions, use ChatGPT to generate the full set based on a pattern, then import back into FUSE.
External data updates in the spreadsheet are reflected in the graphic without needing to re-publish. Mix external data fields with LIGR data expressions in the same graphic for maximum flexibility.
Publishing and the Control Room
After configuring data bindings and control variables, publish the graphic to make it available for use.
In the Control Room, published graphics appear with all configured control variables ready for operator use. Operators can select players from dropdowns, toggle Boolean switches on and off, enter custom text in string fields, and preview graphics before showing them on screen.
The preview function shows exactly how the graphic will appear on broadcast output. Changes made to control variables update the preview in real-time.
Published graphics can also be assigned to Automated Game Plan playlists where triggers and timing determine when they appear automatically during broadcasts.
Image Requirements
Rive image slots must be explicitly exposed in the Rive editor for FUSE to populate them. Unexposed slots remain blank.
Player images use the 300×300 image template configured in competition theme settings. This template defines how player photos are processed and sized before display.
If a player has no image URL in their roster data, the graphic displays a blank space unless you configure a default/fallback image.
Team logos are accessed using player.data.team.logo_url or match.home_team.logo_url expressions depending on the graphic context.
