117 lines
3.9 KiB
Go
117 lines
3.9 KiB
Go
package parameter
|
|
|
|
// Row-reset funnels, drawn in the inter-tile gap row of the player lane.
|
|
// Drop = jump expiry (falling to the base row), Rise = slide expiry.
|
|
// %s is the countdown; formatted width must not exceed RenderNoteWidth
|
|
const (
|
|
DropFunnelFormat = `\\ %s //`
|
|
RiseFunnelFormat = `// %s \\`
|
|
)
|
|
|
|
// Inbound — chords until the lane shuts.
|
|
// Clear — chords until the lane reopens.
|
|
// Open — the wall run reaches the window edge; the value is a lower bound.
|
|
// Trap — the lane reopens for <= TrapGapMax chords before shutting again;
|
|
// flagged on both the inbound and the clear timer
|
|
const (
|
|
TimerInboundPrefix = '▼'
|
|
TimerClearPrefix = '▲'
|
|
TimerOpenSuffix = '+'
|
|
TimerTrapSuffix = '!'
|
|
)
|
|
|
|
// StripEmptyChar is lookahead strip rail cell — a chord with no content at this position
|
|
const StripEmptyChar = '·'
|
|
|
|
// ItemFadeChars is the glyph tail of a consumed item's burn-out. Stage 0
|
|
// keeps the item glyph; later stages collapse it into the rail cell
|
|
var ItemFadeChars = [...]rune{'+', StripEmptyChar}
|
|
|
|
// UnknownChar is placeholder for a Value with no authored visual.
|
|
// Keeps NoteVisual total so an unrendered kind is visible rather than eating an item slot
|
|
const UnknownChar = '?'
|
|
|
|
// MutedText marks the host audio gate in the header. ASCII, so it
|
|
// renders in both atlases
|
|
const MutedText = "MUTE"
|
|
|
|
// QuadrantChars provides 2x2 sub-cell resolution for TrueColor mode
|
|
// Bitmap encoding: bit0=UL, bit1=UR, bit2=LL, bit3=LR
|
|
// Layout: [UL][UR]
|
|
//
|
|
// [LL][LR]
|
|
var QuadrantChars = [16]rune{
|
|
' ', // 0000 - empty
|
|
'▘', // 0001 - upper-left
|
|
'▝', // 0010 - upper-right
|
|
'▀', // 0011 - upper half
|
|
'▖', // 0100 - lower-left
|
|
'▌', // 0101 - left half
|
|
'▞', // 0110 - anti-diagonal
|
|
'▛', // 0111 - UL + UR + LL
|
|
'▗', // 1000 - lower-right
|
|
'▚', // 1001 - diagonal
|
|
'▐', // 1010 - right half
|
|
'▜', // 1011 - UL + UR + LR
|
|
'▄', // 1100 - lower half
|
|
'▙', // 1101 - UL + LL + LR
|
|
'▟', // 1110 - UR + LL + LR
|
|
'█', // 1111 - full block
|
|
}
|
|
|
|
// Half256Chars provides vertical half-cell resolution for 256-color mode.
|
|
// Unicode block characters, CP437-equivalent visuals, naked-TTY compatible
|
|
// Bitmap encoding: bit0=top, bit1=bottom
|
|
var Half256Chars = [4]rune{
|
|
' ', // 00 - empty
|
|
'\u2580', // 01 - top half only (▀)
|
|
'\u2584', // 10 - bottom half only (▄)
|
|
'\u2588', // 11 - both halves (█)
|
|
}
|
|
|
|
// Horizontal256Chars provides horizontal half-cell characters.
|
|
// Reserved for future horizontal sub-pixel support
|
|
var Horizontal256Chars = [2]rune{
|
|
'\u258C', // ▌ - left half
|
|
'\u258E', // ▐ - right half
|
|
}
|
|
|
|
// Density256Chars provides intensity variants for trail and glow effects,
|
|
// ordered lowest to highest density. Also indexes wall proximity bands
|
|
var Density256Chars = [4]rune{
|
|
'\u2591', // ░ - light shade (25%)
|
|
'\u2592', // ▒ - medium shade (50%)
|
|
'\u2593', // ▓ - dark shade (75%)
|
|
'\u2588', // █ - full block (100%)
|
|
}
|
|
|
|
// Single-line box drawing characters
|
|
const (
|
|
BorderSingleHorizontal = '─' // U+2500
|
|
BorderSingleVertical = '│' // U+2502
|
|
BorderSingleTopLeft = '┌' // U+250C
|
|
BorderSingleTopRight = '┐' // U+2510
|
|
BorderSingleBottomLeft = '└' // U+2514
|
|
BorderSingleBottomRight = '┘' // U+2518
|
|
BorderSingleVerticalRight = '├' // U+251C
|
|
BorderSingleVerticalLeft = '┤' // U+2524
|
|
BorderSingleHorizontalDown = '┬' // U+252C
|
|
BorderSingleHorizontalUp = '┴' // U+2534
|
|
BorderSingleCross = '┼' // U+253C
|
|
)
|
|
|
|
// Double-line box drawing characters
|
|
const (
|
|
BorderDoubleHorizontal = '═' // U+2550
|
|
BorderDoubleVertical = '║' // U+2551
|
|
BorderDoubleTopLeft = '╔' // U+2554
|
|
BorderDoubleTopRight = '╗' // U+2557
|
|
BorderDoubleBottomLeft = '╚' // U+255A
|
|
BorderDoubleBottomRight = '╝' // U+255D
|
|
BorderDoubleVerticalRight = '╠' // U+2560
|
|
BorderDoubleVerticalLeft = '╣' // U+2563
|
|
BorderDoubleHorizontalDown = '╦' // U+2566
|
|
BorderDoubleHorizontalUp = '╩' // U+2569
|
|
BorderDoubleCross = '╬' // U+256C
|
|
)
|