v0.1.0 initial commit
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
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
|
||||
)
|
||||
Reference in New Issue
Block a user