Skip to main content

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.

Creating a New Chart

1

Start a New Project

From the home screen, click New Project or press Ctrl+N
2

Set Up Chart Metadata

In the Chart Basic Settings panel, fill in:
  • Chart name
  • Your charter name
  • Composer (artist name)
  • Difficulty and level
3

Add Audio

Click Select Audio and choose your music file (MP3, OGG, FLAC, or WAV)
4

Configure BPM

In the BPM List panel, set the tempo:
  • Beat 0 should have your starting BPM
  • Add tempo changes if the song has them
5

Adjust Offset

Play the audio and adjust the offset in milliseconds until the beats align with the music
Use the metronome feature (available in settings) to help identify BPM and verify timing.

Understanding Judgment Lines

Judgment lines are the horizontal bars where notes appear. Each line can:
  • Move across the screen
  • Rotate to any angle
  • Change transparency (alpha)
  • Resize dynamically
  • Have its own speed multiplier

Creating Your First Line

Every chart starts with one default line. To add more:
1

Open Line List

Navigate to the Line List panel
2

Add Line

Click the + button at the bottom
3

Name the Line

Double-click the line name to rename it (e.g., “Main”, “Top”, “Circle”)
4

Select the Line

Click to select it as the active line for placing notes
Quick select lines with Ctrl+1 through Ctrl+9 for lines 1-9, or Ctrl+↑/Ctrl+↓ to cycle through lines.

Placing Notes

Notes are placed on the timeline using keyboard hotkeys. Make sure you have a line selected first!

Note Types

Hotkey: QBasic note that requires a single tap. The most common note type.
  • Appears as a circular note
  • Can be placed above or below the line
  • Position snaps to configured lanes

Placing Notes Step-by-Step

1

Select Target Line

Ensure the correct line is selected in the Line List
2

Position Cursor

Move your mouse to the timeline panel where you want the note
  • Horizontal position determines lane
  • Vertical position determines timing (beat)
3

Press Hotkey

Press the hotkey for the note type:
  • Q for Tap
  • W for Drag
  • E for Flick
  • R for Hold (requires two presses)
4

Verify Placement

The note appears immediately and snaps to the beat grid and nearest lane
Notes will only be placed if your cursor is within the timeline viewport. Make sure you’re hovering over the timeline!

Adjusting Note Timing

Using the Inspector

  1. Click a note to select it (turns yellow/highlighted)
  2. Open the Inspector panel
  3. Edit the Beat field directly for precise timing
  4. Press Enter to apply changes

Using Arrow Keys

With notes selected:
  • Arrow Up (): Move notes earlier by one snap unit
  • Arrow Down (): Move notes later by one snap unit
  • Arrow Left (): Move notes left by one lane
  • Arrow Right (): Move notes right by one lane
Change the snap density in Timeline Settings to adjust how much notes move with arrow keys (1/4, 1/8, 1/16, 1/32 beats).

Basic Line Events

Line events control how judgment lines move and appear. Events have a start beat, end beat, and transition between values.

Event Types

The timeline has 5 event tracks (left to right):
  1. Move X/Y: Position on screen
  2. Rotate: Angle in degrees
  3. Speed: Note approach speed
  4. Alpha: Transparency (0-1)
  5. Size: Scale factor

Creating Events

Hotkey: RSmoothly animates from start value to end value.
1

Position Cursor

Move cursor to the event timeline at your desired start time
2

Press R

Place the event start point
3

Move Cursor Down

Position cursor at the desired end time
4

Press R Again

Complete the event
5

Edit Values

Select the event and use the Inspector to set start/end values
Events automatically inherit values from preceding events on the same track, making it easy to chain animations.

Common Event Patterns

Create a Move transition event:
  • Track: Move (leftmost)
  • Start value: 0 (center)
  • End value: 0.5 (right) or -0.5 (left)
  • Easing: Linear or EaseInOut
Create a Rotate transition event:
  • Track: Rotate (second from left)
  • Start value: 0 (horizontal)
  • End value: 90 (vertical) or 180 (upside down)
  • Easing: EaseInOutCubic for smooth motion
Create a Speed event:
  • Track: Speed (middle)
  • Use constant events for instant speed changes
  • Use transition events for gradual acceleration
  • Common values: 0.5 (slow), 1.0 (normal), 2.0 (fast)
Create an Alpha transition event:
  • Track: Alpha (second from right)
  • Start value: 0 (invisible) to 1 (visible) for fade in
  • Start value: 1 to 0 for fade out
  • Easing: EaseInOut or Linear

Testing Playback

Playback Controls

  • Play/Pause: Press Space to toggle playback
  • Seek Forward: Hold ] to scrub forward
  • Seek Backward: Hold [ to scrub backward
  • Stop: Press Esc (also deselects all)

Testing Workflow

1

Place Several Notes

Add a pattern of notes across a few beats
2

Scroll to Start

Click on the timeline before your notes
3

Start Playback

Press Space to play
4

Watch Game View

Observe how notes appear in the Game View panel
5

Pause and Adjust

Press Space to pause, then adjust timing or positions as needed
Enable hit sounds in the settings to get audio feedback when notes pass the judgment line, helping verify timing.

Selection and Editing

Selecting Objects

  • Click: Select a single note or event
  • Ctrl+Click: Add to selection
  • Drag: Draw a selection box on the timeline
  • Esc: Deselect all

Clipboard Operations

  • Copy: Ctrl+C - Copy selected notes/events
  • Cut: Ctrl+X - Cut selected notes/events
  • Paste: Ctrl+V - Paste at cursor position (timing adjusts automatically)
  • Delete: Backspace - Delete selected objects

Undo/Redo

  • Undo: Ctrl+Z - Revert last change
  • Redo: Ctrl+Shift+Z - Reapply undone change
The editor maintains a full command history, so you can safely experiment and undo any mistakes.

Saving Your Work

  • Save: Ctrl+S - Save current project
  • Save As: Ctrl+Shift+S - Save with a new name
The editor also features auto-save (configurable in Settings) to prevent data loss.

Next Steps

Once you’re comfortable with basic charting, explore:

Advanced Features

Learn complex animations and optimization techniques

Keyboard Shortcuts

Full reference of all hotkeys

Build docs developers (and LLMs) love