Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/B33pBeeps/redthread
/ functions
Functions
208 in github.com/B33pBeeps/redthread
⨍
Functions
208
◇
Types & classes
31
↓ 58 callers
Method
SetRune
SetRune writes just rune+fg+attr without allocation.
internal/app/render.go:77
↓ 31 callers
Function
runeLen
--- helpers ----------------------------------------------------------
internal/app/draw.go:507
↓ 29 callers
Method
Touch
()
internal/app/storage.go:171
↓ 23 callers
Method
WriteText
WriteText writes a single-line string cell-by-cell starting at (x, y), wrapping handled by the caller.
internal/app/render.go:194
↓ 22 callers
Method
setToast
setToast schedules a transient status message in the footer.
internal/app/model.go:794
↓ 14 callers
Method
Dimmed
(f float32)
internal/app/theme.go:64
↓ 12 callers
Method
Selection
()
internal/app/notes.go:384
↓ 11 callers
Method
SetTarget
(x, y int)
internal/app/wire.go:30
↓ 9 callers
Method
Stop
()
internal/app/wire.go:46
↓ 8 callers
Method
nudgeSel
nudgeSel moves the selected note by SCREEN-cell deltas (converted to world) and triggers a directional overshoot bounce. This keeps nudges feeling lik
internal/app/model.go:936
↓ 7 callers
Method
CorkOn
CorkOn reports whether the cork texture overlay should be drawn.
internal/app/notes.go:259
↓ 7 callers
Method
Inside
(x, y int)
internal/app/render.go:58
↓ 7 callers
Method
OnCustom
()
internal/app/menu.go:193
↓ 7 callers
Method
findNote
--- helpers ----------------------------------------------------------
internal/app/model.go:1147
↓ 6 callers
Method
BgColor
BgColor returns the solid fill color when one is set and parses; otherwise (nil, false) — meaning transparent (terminal shows through).
internal/app/notes.go:263
↓ 6 callers
Method
Move
(delta int)
internal/app/menu.go:24
↓ 6 callers
Function
NewCanvas
(w, h int)
internal/app/render.go:42
↓ 6 callers
Method
PinPos
PinPos — screen position of the pin (top-center) including bob.
internal/app/notes.go:150
↓ 6 callers
Method
Serialize
--- serialize --------------------------------------------------------- Serialize walks the grid, coalescing adjacent cells that share style. Returns
internal/app/render.go:98
↓ 6 callers
Method
SetBlank
SetBlank clears a cell back to transparent (erases cork stars etc).
internal/app/render.go:86
↓ 6 callers
Function
WorldX
WorldX / WorldY convert a screen cell coordinate to the equivalent world coordinate given the zoom scale.
internal/app/notes.go:64
↓ 6 callers
Function
drawFooter
drawFooter writes a bottom status bar.
internal/app/draw.go:490
↓ 5 callers
Method
FindNote
(id string)
internal/app/notes.go:486
↓ 5 callers
Method
InvolvesNote
(id string)
internal/app/notes.go:185
↓ 5 callers
Method
Selected
()
internal/app/menu.go:34
↓ 5 callers
Method
Selected
Selected returns the Background described by the working state.
internal/app/menu.go:254
↓ 5 callers
Method
Split
Split returns the live (title, body) from the textarea content. First non-empty line is the title; the rest (skipping one separator blank) is the body
internal/app/edit.go:80
↓ 5 callers
Function
WorldY
(screenY, zoom int)
internal/app/notes.go:72
↓ 5 callers
Method
refreshActive
refreshActive points m.board at the workspace's current active board and regenerates per-board state (stars + global highlight color).
internal/app/model.go:145
↓ 4 callers
Method
ActiveBoard
ActiveBoard returns the currently-focused board, never nil while the workspace has at least one board.
internal/app/notes.go:276
↓ 4 callers
Method
Dim
Dim applies a multiplier to every cell's foreground color, preserving transparency on bare cells. Used for blurring the backdrop during edit.
internal/app/render.go:231
↓ 4 callers
Function
DimsFor
DimsFor returns rendered note size at a zoom level.
internal/app/notes.go:49
↓ 4 callers
Function
GenStarsForBoard
GenStarsForBoard returns a cork-texture stable across resizes-of-equal-size AND distinct per `grainSeed`. Row 0 is reserved for the tab bar — no stars
internal/app/notes.go:593
↓ 4 callers
Function
GetTint
(name string)
internal/app/theme.go:270
↓ 4 callers
Function
ModeAttr
ModeAttr returns attribute bits to OR into cell renders. Unicode-math modes provide no ANSI attributes of their own (the visual "boldness" comes from
internal/app/theme.go:374
↓ 4 callers
Function
NewBackgroundMenu
(current Background)
internal/app/menu.go:164
↓ 4 callers
Function
ParseHexColor
ParseHexColor parses "#rrggbb" or "rrggbb" (case-insensitive) into an RGB. Returns ok=false for any malformed input.
internal/app/theme.go:30
↓ 4 callers
Function
SaveWorkspace
SaveWorkspace writes the workspace as a v4 file (workspace envelope).
internal/app/storage.go:132
↓ 4 callers
Function
ScreenX
ScreenX / ScreenY convert a world cell to screen (no bob applied).
internal/app/notes.go:75
↓ 4 callers
Function
StyleText
StyleText maps ASCII letters/digits to the mode's Unicode variant.
internal/app/theme.go:377
↓ 4 callers
Function
TargetRect
TargetRect returns the centered edit-card rect for a given canvas size.
internal/app/anim.go:23
↓ 4 callers
Method
ToggleCork
ToggleCork flips the cork overlay (used by left/right/space on the cork row).
internal/app/menu.go:225
↓ 4 callers
Function
drawNote
drawNote renders a Note at the board's zoom level.
internal/app/draw.go:100
↓ 4 callers
Function
drawShadow
drawShadow wraps shadowRect for a Note at board zoom.
internal/app/draw.go:56
↓ 4 callers
Function
drawStringSet
drawStringSet is the shared inner loop. It draws strings whose effective in-front layer matches `inFront`. If `attachToTopID` is set, any string touch
internal/app/wire.go:116
↓ 4 callers
Method
effectiveStars
effectiveStars returns the cork texture only when cork mode is active; otherwise nil, so drawCork draws nothing (transparent / solid bg).
internal/app/model.go:1161
↓ 4 callers
Function
genID
()
internal/app/notes.go:568
↓ 4 callers
Function
lerpI
(a, b int, t float32)
internal/app/anim.go:116
↓ 4 callers
Function
roundToward
(f float32)
internal/app/notes.go:120
↓ 4 callers
Function
seedWorkspace
seedWorkspace returns a workspace with one seeded "main" board and the default look (cork on, transparent fill).
internal/app/notes.go:655
↓ 4 callers
Method
startBoardAnim
startBoardAnim captures the current board + its stars as the "from" frame of a board-switch crossfade. Call it BEFORE mutating the workspace's active
internal/app/model.go:132
↓ 4 callers
Function
utf8Decode
utf8Decode is a thin wrapper. Kept separate so future width-aware logic (e.g. CJK double-width) can slot in here.
internal/app/render.go:317
↓ 4 callers
Function
vertBorderChar
--- borders --------------------------------------------------------- vertBorderChar picks the character used for a vertical border cell at row-offset
internal/app/draw.go:86
↓ 4 callers
Function
zoomScale
zoomScale returns the render-time scale factor applied to BOTH the note dimensions AND the note positions. This is "workspace zoom": at zoom -3 the wh
internal/app/notes.go:27
↓ 3 callers
Method
ApplyGlobalBorder
ApplyGlobalBorder syncs the package-level SelBorder with this board's HighlightColor. Call on load and whenever HighlightColor changes.
internal/app/notes.go:376
↓ 3 callers
Method
Connect
(fromID, toID string)
internal/app/notes.go:495
↓ 3 callers
Method
Flush
()
internal/app/storage.go:182
↓ 3 callers
Method
Get
(x, y int)
internal/app/render.go:62
↓ 3 callers
Method
HitTopmost
(cx, cy int)
internal/app/notes.go:419
↓ 3 callers
Function
Lerp
Lerp blends two colors linearly (0 → a, 1 → b).
internal/app/theme.go:80
↓ 3 callers
Function
LoadWorkspace
LoadWorkspace reads notes.json, migrating older schemas on the way in. Returns (nil, nil) when the file simply doesn't exist yet.
internal/app/storage.go:64
↓ 3 callers
Method
Name
()
internal/app/theme.go:348
↓ 3 callers
Method
OnCork
OnCork / OnCustom report which special row the cursor is on.
internal/app/menu.go:192
↓ 3 callers
Method
Sample
()
internal/app/theme.go:369
↓ 3 callers
Method
ScreenRect
ScreenRect — drawing rect (no bob, stable for shadow/hit-test).
internal/app/notes.go:138
↓ 3 callers
Function
ScreenY
(worldY, zoom int)
internal/app/notes.go:79
↓ 3 callers
Function
SpliceOverlay
SpliceOverlay splices `overlay` onto `bg` at visual cell position (x, y). Both strings are newline-separated; ANSI CSI escapes are preserved. Style st
internal/app/render.go:366
↓ 3 callers
Function
absF
(x float32)
internal/app/wire.go:247
↓ 3 callers
Function
drawBoardSnapshot
drawBoardSnapshot renders one full board's content (cork + strings + notes) at full brightness. Apply Dim() afterwards if you want a fade. Used by bot
internal/app/model.go:1251
↓ 3 callers
Function
drawCork
drawCork paints scattered brown ASCII chars across the canvas.
internal/app/draw.go:14
↓ 3 callers
Function
drawCurve
drawCurve is the low-level renderer. If `tight`, straight line. Else, parabolic sag. Chars chosen with terminal aspect (~2:1) correction so diagonals
internal/app/wire.go:165
↓ 3 callers
Function
drawStringsBehind
drawStringsBehind renders only the strings with InFront=false. Called BEFORE notes are drawn so they sit beneath. If `attachToTopID` is non-empty, str
internal/app/wire.go:67
↓ 3 callers
Function
drawStringsInFront
drawStringsInFront renders strings with InFront=true plus any string touching the active "attachToTopID" note (dragged or transitioning), plus the in-
internal/app/wire.go:74
↓ 3 callers
Function
easeInOutCubic
(t float32)
internal/app/anim.go:108
↓ 3 callers
Function
hexNibble
(b byte)
internal/app/theme.go:48
↓ 3 callers
Function
intToStr
(n int)
internal/app/notes.go:355
↓ 3 callers
Method
normalizeLegacy
()
internal/app/notes.go:174
↓ 3 callers
Function
tickCmd
()
internal/app/model.go:42
↓ 2 callers
Function
BackgroundMenuRect
(w, h int)
internal/app/menu.go:277
↓ 2 callers
Method
BlankRect
BlankRect clears a rectangle back to transparent.
internal/app/render.go:180
↓ 2 callers
Method
BlitAt
BlitAt copies every cell from `src` into this canvas at offset (dx, dy). Cells that fall outside this canvas are clipped. Source-empty cells (Rune ==
internal/app/render.go:213
↓ 2 callers
Method
ConnectToWall
ConnectToWall creates a string from a note to a WORLD-coord wall-pin. The caller is responsible for converting a mouse click (screen) to world before
internal/app/notes.go:517
↓ 2 callers
Method
Cycle
(direction int)
internal/app/notes.go:398
↓ 2 callers
Method
CycleActive
CycleActive moves the active index by `delta`, wrapping around.
internal/app/notes.go:316
↓ 2 callers
Function
DataPath
()
internal/app/storage.go:35
↓ 2 callers
Method
EffectiveX
EffectiveX: SCREEN X = world→screen projection + bob.
internal/app/notes.go:128
↓ 2 callers
Method
EffectiveY
EffectiveY: SCREEN Y = world→screen projection + bob.
internal/app/notes.go:133
↓ 2 callers
Function
FontMenuRect
--- rendering --------------------------------------------------------
internal/app/menu.go:38
↓ 2 callers
Method
HexBackspace
()
internal/app/menu.go:245
↓ 2 callers
Method
HexInput
HexInput appends valid hex characters to the custom buffer (single leading '#'), capping at "#rrggbb", and live-previews the result.
internal/app/menu.go:229
↓ 2 callers
Method
MoveActive
MoveActive shifts the active board by `delta` positions in the workspace order (negative = move left, positive = move right). Wraps around. The active
internal/app/notes.go:293
↓ 2 callers
Function
NewTransitionIn
(n *Note, zoom int)
internal/app/anim.go:61
↓ 2 callers
Method
Raise
(i int)
internal/app/notes.go:428
↓ 2 callers
Function
RectFromNote
RectFromNote builds the source rect for a note at the board's zoom (SCREEN coords, no bob — transitions should start from the stable resting position,
internal/app/anim.go:57
↓ 2 callers
Function
ScreenDeltaToWorld
ScreenDeltaToWorld converts a 1-cell screen delta into a world delta, ensuring a non-zero input always moves at least 1 world cell.
internal/app/notes.go:83
↓ 2 callers
Method
Tick
()
internal/app/wire.go:35
↓ 2 callers
Method
Update
--- Update ------------------------------------------------------------
internal/app/model.go:163
↓ 2 callers
Method
View
--- View -------------------------------------------------------------
internal/app/model.go:1170
↓ 2 callers
Function
abs
(x int)
internal/app/model.go:965
↓ 2 callers
Method
copyNoteText
copyNoteText writes the title (if any) and body to the system clipboard, joined with a blank line. Updates the toast in place of error logs.
internal/app/model.go:1013
next →
1–100 of 208, ranked by callers