Chart Info Format
Chart info is metadata (Wikipedia) that describes basic information about a chart besides the chart data itself, such as author, illustration, and music.
There are two variants: ChartInfo and BriefChartInfo. Chart info (ChartInfo) is stored in YAML; the chart’s info.yml file is an instance of ChartInfo.
On local import, all ChartInfo fields are filled automatically. The YAML format is straightforward; if you want to fill it and pack for import, pay attention to the following fields.
ChartInfo
NOTE
Refer to the source code for the current definition.
Chart ID id optional
i32, default empty
Unique chart ID, aligned with the server. The Phira client uses it to decide whether to update the chart.
Leave empty for local charts.
Uploader ID uploader optional
i32, default empty
Unique uploader ID, aligned with the server; used to show uploader for online charts.
Leave empty for local charts.
Chart name name required
String, default "UK"
Display name of the chart.
Difficulty difficulty required
f32, default 10.0
Numeric difficulty. Use a sensible value.
Level level required
String, default "UK Lv.10"
Level text shown at the bottom-right during play.
Charter charter required
String, default "UK"
Chart creator.
Composer composer required
String, default "UK"
Music composer.
Illustrator illustrator required
String, default "UK"
Illustration artist for the chart.
Chart filename chart required
String, default "chart.json"
Filename of the chart file. RPE charts are usually chart.json; PE charts are often xxx.pec.
Chart format format optional
ChartFormat enum, default empty
Chart format. Do not set manually; the Phira client detects and writes it. Listed here for completeness.
Music filename music required
String, default "song.mp3"
Filename of the music file.
Illustration filename illustration required
String, default "background.png"
Filename of the illustration.
Unlock video unlockVideo optional
String, default empty
Filename of the video that unlocks this chart.
Preview start previewStart required
f32, default 0.0
Start time of the music preview (seconds).
Preview end previewEnd optional
f32, default empty
End time of the music preview (seconds). If empty, 15.0 seconds after preview start; clamped to track end.
Source: clamping
Aspect ratio aspectRatio required
f32, default 16.0 / 9.0
NOTE
The aspect ratio displayed on the chart will be adjusted according to the device's aspect ratio. If the device's aspect ratio is greater than this value (e.g., some extended phones, or if this value is set to 4:3 on a regular phone), the chart will be kept at this aspect ratio. If the aspect ratio is less than this value, the chart will be stretched to fill the screen. (Source: TBD)
Background dim backgroundDim required
f32, default 0.6
Background dimming: opacity of the overlay rectangle over the background.
Judge line length lineLength required
f32, default 6.0
Length of the judge line in the chart (units TBD; relates to rendering).
Chart offset offset required
f32, default 0.0
Time offset between chart and music (seconds). When positive (compared to when it is zero):
- If the music starts simultaneously in both cases, the chart starts later when
offsetis positive. - If the chart starts simultaneously in both cases, the music starts earlier when
offsetis positive.
Tip tip optional
String, default empty
Tip text. If empty, a default tip may be shown.
Tags tags required
String array, default empty
Tags for categorization and search. Tag docs TBD.
Intro intro required
String, default empty
Short description of the chart.
Hold partial cover holdPartialCover required
bool, default false
Hold note mask position: true = tail, otherwise head.
Created created optional
DateTime<Utc>, default empty
Creation time. Do not set manually; written by the Phira client.
Updated updated optional
DateTime<Utc>, default empty
Last update time for local charts. Do not set manually; written by the Phira client.
Chart updated chartUpdated optional
DateTime<Utc>, default empty
Last update time for cloud charts. Do not set manually; written by the Phira client. Used to decide whether to update the chart.
BriefChartInfo
BriefChartInfo is a reduced form of ChartInfo for contexts where full info is not needed. Main fields:
TBD