Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/InventiveRhythm/fluXis/llms.txt

Use this file to discover all available pages before exploring further.

The fluXis map editor is the built-in tool for creating and editing maps directly inside the game. It is organized into five tabs that each handle a distinct phase of map creation: setting up metadata and assets, placing hit objects, designing visual events, editing storyboard elements, and verifying map quality before upload. The editor loads asynchronously so the Charting and Design tabs show a spinner while their complex containers initialize — this is expected behavior, not a freeze.

Interface Layout

The editor wraps all of its UI inside a single screen with three persistent chrome layers:
  • Menu bar (top) — File, Edit, View, Timing, Audio, and Wiki menus.
  • Tab switcher — a row of icon buttons just below the menu bar that lets you jump between tabs; you can also press Ctrl + 15 to switch tabs by index.
  • Bottom bar — displays the current playback position, BPM, and other at-a-glance information.
The area between the menu bar and the bottom bar is occupied entirely by the active tab.

The Five Editor Tabs

Setup

Configure song metadata (title, artist, mapper, difficulty name, tags), assign audio/background/cover/video assets, pick a key mode, and set accuracy and health difficulty values. This is always the first tab shown when creating a brand-new map.

Charting

The main note-placement workspace. Displays a scrolling playfield with a waveform overlay, a toolbox on the left, and a sidebar on the right for timing points and lane-switch events. Loads asynchronously on first visit.

Design

A live-preview event editor that renders the full gameplay ruleset in the background while you place flash events, playfield animations, shaders, and more on a timeline sidebar. Also loads asynchronously.

Storyboard

A timeline-based editor for storyboard animations and script elements. Shows a live preview of the storyboard in the center with the animation list on the left and element settings on the right.

Verify

Runs automated checks across the entire map — metadata completeness, audio file presence, overlapping notes, unused assets, and more — and lists every issue with severity, category, timestamp, and a human-readable message.

Opening and Creating Maps

You can reach the editor in two ways:
  • Create new map — From the song-select screen, use the editor entry point. The editor opens on the Setup tab so you can fill in metadata before placing any notes.
  • Edit existing map — Select any map you own in song select and choose “Edit”. The editor opens directly on the Charting tab.
The editor reads map data from the on-disk .fsc (map chart) and .ffx (events) files inside your local maps storage folder. You can open that folder at any time via File → Open Song Folder.

Snap Settings

The snap divisor controls how notes and events align to the beat grid. It is a per-session value stored in EditorSettings and consumed by both EditorClock and EditorSnapProvider.
The Charting tab exposes the following divisors via the bottom bar or scroll wheel on the snap display:
DivisorBeat subdivisionCommon use
1Whole notes (1/1)Very slow sections
2Half notes (1/2)Moderate rhythms
3Triplets (1/3)Triplet patterns
4Quarter notes (1/4)Standard snapping
6Sextuplets (1/6)Triplet sixteenths
8Eighth notes (1/8)Dense streams
12Twelfth notes (1/12)Complex polyrhythms
16Sixteenth notes (1/16)Very dense sections
The snap divisor range is 1–32, but the Charting tab’s toolbar only surfaces the eight values above directly.
EditorSnapProvider.SnapTime walks forward or backward along the beat grid defined by the active timing point to find the closest snapped position. When allowNext is enabled the snapper also considers whether the next grid line is closer than the current one (within 30 % of a step) and prefers it, which prevents notes from snapping slightly behind the cursor. The zoom level (0.5×–5×, default 2×) controls how many milliseconds are visible vertically in the charting playfield at once; it does not affect snap behavior.

The Editor Clock

EditorClock is the authoritative time source for the entire editor. It wraps a FramedMapClock and adds:
  • Snapped seekingSeekSnapped quantizes the target position to the nearest beat grid line before seeking.
  • Smooth seekingSeekSmoothly animates the playhead position using an OutQuint easing over 300 ms when the clock is paused; clicking anywhere on the waveform uses this path.
  • Step/beat callbacksOnBeat fires on every beat boundary and every four steps, allowing visual elements to pulse in sync.
  • Playback rateRateBindable (minimum 0.2×) lets you slow down or speed up the track for precise placement.
You can nudge the playhead backward or forward by one snap unit using the arrow-key bindings defined in the editor keymap.

Saving Your Work

1

Manual save

Press Ctrl + S or go to File → Save. The editor validates that at least one timing point exists; if not, it rejects the save with a notification. On success it writes the .fsc, .ffx, and storyboard files and shows a “Saved!” toast.
2

Auto-save

Toggle File → Auto Save to enable automatic saving every 5 minutes in the background. The toggle state is persisted in the fluXis configuration file between sessions.
3

Unsaved-changes guard

Closing the editor while there are unsaved changes opens a confirmation panel with options to save-and-exit or discard-and-exit. Changes are detected by comparing the current SHA-256 hash of the serialized map data against the hash recorded at the last save.
Maps that were imported from another game (osu!, Quaver, Stepmania) have a read-only status in the database. The editor will let you explore and playtest them, but the Save and Upload actions are disabled. A notice panel appears automatically when you open such a map.

File and Difficulty Management

ActionLocation
Create a new difficultyFile → Create new difficulty…
Switch to another difficultyFile → Switch to difficulty (lists all other diffs in the set)
Delete a difficultyFile → Delete difficulty… (requires at least two diffs in the set)
Export as .fms archiveFile → Export
Upload or update onlineFile → Upload… (requires login; blocked if Verify has problematic issues)
Submit to ranking queueFile → Submit to Queue… (requires an online map ID)

Audio Filters

The Audio menu provides two real-time filter toggles for monitoring your map while editing:
  • Low-pass filter — cuts high frequencies, useful for checking whether low-frequency rhythms are clear.
  • High-pass filter — cuts low frequencies, useful for isolating high-frequency percussion.
Both filters animate their cutoff frequencies with a 400 ms transition when toggled.

Keyboard Reference

KeyAction
Ctrl + SSave
Ctrl + 15Switch to tab by index
Ctrl + ZUndo
Ctrl + Y / Ctrl + Shift + ZRedo
Ctrl + CCopy selected notes
Ctrl + XCut selected notes
Ctrl + VPaste at current time
Ctrl + ASelect all notes
Editor keymap bindingOpen song folder
Editor keymap bindingOpen wiki / help
Editor keymap bindingSeek to previous note
Editor keymap bindingSeek to next note
You can view and remap editor-specific bindings at any time via Edit → Editor Keymap….

Build docs developers (and LLMs) love