StaticfromStaticemptyCreate a new empty chart and wrap it.
Initial BPM (default: 120).
Chart name (default: 'Untitled').
Add a new line and return its LineBuilder.
The ChartBuilder is accessible via lineBuilder.chart.
Add multiple lines at once, returning an array of LineBuilders.
Remove a line by index. Updates parent references automatically.
Remove a BPM change at the given index (cannot remove index 0).
Duplicate a line by index and return the new LineBuilder.
Set the chart to a single constant BPM, replacing all existing BPM entries.
Add a BPM change at beat.
Offset the entire chart by beatOffset beats.
Mirror the entire chart horizontally.
Create a NoteIterator pre-scoped to this chart's notes.
Create a LineIterator pre-scoped to this chart.
Create an EventIterator pre-scoped to this chart.
Set the chart name.
Set the chart offset (in milliseconds).
Set the level string (e.g. 'SP Lv.15').
Set the charter (chart author) name.
Set the composer name.
Set the background image path.
Set the song audio file path.
Compute summary statistics for the chart.
Validate the chart and return any issues found.
Serialize the chart to a JSON string.
Add a new line and return its LineBuilder.
Alias for .line().
Add a BPM change at beat.
Alias for .bpm(beat, bpm).
Fluent wrapper around an
RpeJsonobject.All mutating methods return
thisfor chaining. Use.datato access the underlying raw chart at any time.Factory methods
ChartBuilder.empty(bpm?, name?)— create a new chartChartBuilder.from(chart)— wrap an existingRpeJsonMethods summary
.line(),.lines(),.getLine(),.removeLine(),.duplicateLine().bpm(),.setBpm(),.removeBpm().offset(),.mirror(),.merge().setName(),.setCharter(),.setComposer(),.setLevel(),.setOffset(),.setBackground(),.setSong().notes(),.lineIterator(),.events().stats(),.validate(),.serialize()Example