The Official format is the native chart format used by Phigros. It’s optimized for game performance and compatibility, but has some limitations compared to more advanced formats.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ivan-1f/phichain/llms.txt
Use this file to discover all available pages before exploring further.
File Structure
Format Versions
Phichain supports two official format versions:- Version 1: Legacy format with encoded position events
- Version 3: Current format with separate X/Y coordinates
Field Reference
OfficialChart
Format version. Must be
1 or 3.Audio offset in seconds (not milliseconds like Phichain format).
Array of judgment line objects.
Line Object
Base BPM for this line. All timing calculations use this value.
Unlike Phichain’s global BPM list, each line has its own fixed BPM in the official format.
Notes that appear above the judgment line.
Notes that appear below the judgment line.
Position events controlling line movement.
Rotation events.
Opacity events (confusingly named - controls visibility, not just disappearing).
Note approach speed events.
Note Object
Note type:
1- Tap2- Drag3- Hold4- Flick
Note timing in beats (not seconds). Calculated as:
Hold duration in the same time units.
0.0 for non-hold notes.Horizontal position in official units (where
0 to 18, where 9 is center).Conversion from pixels:CANVAS_WIDTH = 1350Note approach speed multiplier.
For hold notes, this speed is adjusted based on the line’s speed events at the note’s timing.
Calculated floor position for note rendering. Auto-computed during export.
Move Event (Position)
Event start time (same units as note time).
Event end time.
Starting X position in normalized coordinates (
0.0 to 1.0, where 0.5 is center).Starting Y position (format version 3). Defaults to
0.0 in version 1.Ending X position.
Ending Y position (format version 3). Defaults to
0.0 in version 1.Format Version 1 Position Encoding
Format Version 1 Position Encoding
In format version 1, X and Y are encoded into the Reference: phi-chart-render conversion code
start and end fields:Rotate/Opacity Event (Numeric)
Starting value.
- Rotation: degrees
- Opacity:
0.0(invisible) to1.0(fully visible)
Ending value.
Speed Event
Speed multiplier in official units.Conversion from Phichain speed:
Cumulative floor position. Auto-computed during export.
Complete Example
Limitations
Quirks and Edge Cases
Floor Position Calculation
Floor Position Calculation
Floor positions are cumulative distances used for note rendering. Phichain computes them automatically:For notes:
Hold Note Speed Adjustment
Hold Note Speed Adjustment
Hold notes in the official format have their speed adjusted based on line speed events:This ensures holds render correctly across varying line speeds.
Conversion Notes
From Phichain
To Phichain
Source Code
The official format implementation is in:phichain-chart/src/format/official.rs
Format Overview
Compare all supported formats
RPE Format
Re:PhiEdit format specification