BUI is a timeline-based fork of BLine-GUI, the desktop editor for creating BLine autonomous paths for holonomic FRC drivetrains.
BUI is designed to be fully compatible with the files BLine-Lib expects. You can switch to BUI from BLine-GUI immediately for any BLine codebase.
BUI is not affiliated with or endorsed by Rebel Robotics (FRC 2638), the BLine-GUI maintainers, or the BLine-Lib maintainers.
- Original BLine Documentation — path concepts, robot-side usage, and reference.
- BLine-Lib — the BLine Java library that does the path following.
BUI keeps BLine-GUI's canvas editor and adds a video-editor-style timeline:
- Three-region layout: field canvas, property sidebar, and full-width bottom timeline.
- Playback and scrubbing live in the timeline.
- Time-based axis with zoom, scrolling, and fit-to-view.
- Path structure, event triggers, and ranged constraints are visible in sequence.
- Event triggers and ranged constraints can be edited directly from the timeline.
- Selection sync between the canvas, timeline, and sidebar.
Download the latest release for your platform from the Releases page.
This repo uses Python 3.11+ and PySide6.
git clone https://github.com/jamespeilunli/BUI.git
cd BUI
uv sync
uv run main.pyWhen installed as a package, the application entry point is bui:
uv tool install git+https://github.com/jamespeilunli/BUI.git
buiTo create a desktop shortcut after package installation:
bui --create-shortcut- Launch
buior runuv run main.pyfrom the repo. - Open an FRC project or autos project directory.
- Edit path geometry on the field canvas.
- Use the bottom timeline to inspect path order, scrub playback, place triggers, and edit ranged constraints.
- Use the right sidebar for exact values and detailed properties.
Common commands:
uv sync
uv run main.py
uv run ruff format
uv run ruff check
uv run mypy
uv run pytestThe required test command for this repo is:
uv run pytestRead AGENTS.md before making changes.
main.py- Application entry point and BUI app identity.models/- Path data structures, ordinal remapping, and simulation helpers.ui/canvas/- Field canvas and geometry editing.ui/timeline/- Timeline dock, projection, transport, editing, zoom, and track rendering.ui/sidebar/- Property inspector and exact-value controls.ui/main_window/- Three-region shell, menus, autosave, undo/redo, and cross-region wiring.utils/- Project persistence, path/config IO, settings, and undo commands.docs/- Design principles, architecture context, and upstream sync notes.tests/- Unit and integration tests for model, IO, timeline, sidebar, canvas, and main-window behavior.packaging/- Build scripts and PyInstaller/Inno/AppImage packaging files.
BSD 3-Clause License. See LICENSE. Third-party notices are listed in THIRD_PARTY_NOTICES.md.
