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.
Easing Functions
Easing functions control how values transition in events, creating natural-looking motion. The editor supports a wide variety of easing types.Available Easing Types
- Linear
- Sine
- Quad
- Cubic
- Quart/Quint
- Expo
- Circ
- Back
- Elastic
- Bounce
- Special
LinearConstant rate of change from start to end.
- Best for: Mechanical movement, speed changes
- No acceleration or deceleration
Choosing the Right Easing
For Line Movement
For Line Movement
- EaseInOutCubic: Smooth, natural motion
- EaseInOutQuad: Gentler alternative
- Linear: Mechanical, constant-speed movement
For Rotation
For Rotation
- EaseInOutCubic: Smooth spinning
- EaseOutBack: Playful overshoot
- EaseInOutQuart: Dramatic, impactful rotation
For Speed Changes
For Speed Changes
- Linear: Instant, noticeable change
- EaseInQuad: Gradual acceleration
- Steps(2-4): Discrete speed tiers
For Alpha (Fades)
For Alpha (Fades)
- Linear: Clean fade
- EaseInOutSine: Smooth, natural fade
- EaseOutQuad: Quick fade-in, gradual fade-out
Complex Line Animations
Multi-Event Coordination
Create sophisticated animations by layering multiple events on the same line.Plan the Animation
Sketch out what you want the line to do:
- Move to the right while rotating?
- Fade in while scaling up?
- Circle motion with speed changes?
Time Events Carefully
Align event timings for the desired combined effect:
- Start all together for synchronized motion
- Offset starts for sequential effects
- Overlap for transitioning between states
Circular Motion Pattern
To create a line that moves in a circle:- Create a Move X event with sine wave values (use multiple events to approximate)
- Create a Move Y event with cosine wave values (phase-shifted by 90°)
- Synchronize the timings perfectly
- Use EaseInOutSine for smooth circular motion
Wave Effects
Create oscillating motion:- Create alternating Move events:
- Beat 0-4: Move from 0 to 0.5 (EaseInOutSine)
- Beat 4-8: Move from 0.5 to 0 (EaseInOutSine)
- Beat 8-12: Move from 0 to -0.5 (EaseInOutSine)
- Beat 12-16: Move from -0.5 to 0 (EaseInOutSine)
- Repeat the pattern as needed
- Combine with rotation for spiral effects
Multiple Line Coordination
Master-Detail Pattern
Create a main line and several detail lines that follow it:- Create a “master” line with primary movement
- Create 2-4 “detail” lines
- Copy the master’s Move events to detail lines
- Offset the detail lines spatially (different Y positions)
- Add phase-shifted animations (detail lines react slightly after master)
Symmetrical Lines
Create mirror-image lines for balanced visuals:- Create Line A and Line B
- Add Move X event to Line A:
0 → 0.5 - Add Move X event to Line B:
0 → -0.5(opposite direction) - Use identical timings and easings
- Place mirrored notes on each line
Line Handoff
Transition notes smoothly between lines:- Line A active with notes (Alpha = 1)
- Line B starts invisible (Alpha = 0)
- At beat X:
- Line A fades out (Alpha: 1 → 0)
- Line B fades in (Alpha: 0 → 1)
- Position lines at same location during transition
- Continue charting on Line B
Line handoffs create seamless transitions and can make charts feel more dynamic without overwhelming the player.
Chart Optimization
Event Consolidation
Reduce event count for better performance:- Remove redundant events: Events that don’t change values
- Merge sequential events: Combine events with same value into one
- Simplify constant events: Single constant event instead of multiple short ones
- Approximate curves: Use fewer events with better easing instead of many linear segments
Note Optimization
- Consistent spacing: Keep notes at similar densities to avoid sudden difficulty spikes
- Lane utilization: Spread notes across available lanes
- Hand balance: Consider left/right hand distribution (though less critical than traditional rhythm games)
Performance Considerations
- Event Limits
- Line Limits
- Note Density
- Aim for < 1000 events per line when possible
- Each event is computed every frame during playback
- Complex easing functions cost more than Linear
Timeline Settings Deep Dive
Beat Density
Controls sub-beat division visibility:- 1/4: Common for most charts
- 1/8: For moderately fast patterns
- 1/16: For very fast or swing rhythms
- 1/32: For extreme precision
Lane Configuration
Set the number of note lanes (columns):- 3 lanes: Minimal, for simple charts
- 5 lanes: Standard
- 7-9 lanes: For complex, dense patterns
Snap Settings
- Enable Snapping: Notes/events snap to beat grid
- Disable Snapping: Free placement (use for very specific timings)
Custom Event Techniques
Stutter Effect
Rapid position changes:- Create very short Move events (1/8 or 1/16 beat duration)
- Alternate between two positions rapidly
- Use Linear or Steps easing
- Combine with rotation for chaotic effect
Perspective Illusion
Simulate 3D depth:- Decrease Size as line moves “away” (up on screen)
- Increase Speed to maintain note readability
- Decrease Alpha slightly for atmospheric depth
- Use EaseInOutQuad for natural perspective
Freeze Frame
Pause line motion during intense sections:- Set Speed to 0 (constant event)
- Keep notes visible but non-approaching
- Add rotation or other effects during freeze
- Return Speed to 1+ to resume
Curve Note Tracks
Curve note tracks allow notes to follow curved paths (advanced feature):- Create smooth arcs for notes
- Visualize curved trajectories in Game View
- More complex than standard notes
- Use sparingly for emphasis
Curve note tracks are an advanced feature. Start with standard notes before exploring curves.
Workflow Tips
Iterative Design
Organization
- Name lines descriptively: “Verse Main”, “Chorus Top”, “Bridge Spin”
- Group related events: Keep Move X/Y events aligned
- Document complex patterns: Add notes in Chart Settings about technique used
- Save versions: Use Save As to create checkpoints
Testing
- Test frequently during creation
- Playtest at different skill levels (if possible)
- Watch for readability issues (overlapping lines, too-fast speed)
- Verify all notes are hittable (not off-screen or impossible timing)
Export and Distribution
Once your chart is complete:
For CLI-based export options, see the Converter Tool documentation.
Next Steps
Keyboard Shortcuts
Complete reference of all hotkeys for maximum efficiency
CLI Tools
Learn about command-line tools for batch operations