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
↓ 2 callers
Method
count
()
internal/app/menu.go:189
↓ 2 callers
Method
cycleHoverStr
(delta int)
internal/app/model.go:885
↓ 2 callers
Function
drawFontMenuAt
(c *Canvas, x, y int, menu *FontMenu)
internal/app/menu.go:70
↓ 2 callers
Function
drawNoteInternal
(c *Canvas, rect Rect, n *Note, selected bool, textMode TextStyleMode, borderOverride *RGB)
internal/app/draw.go:265
↓ 2 callers
Function
drawTapeStrip
drawTapeStrip — simplified: tape crease pattern + a single red pin.
internal/app/draw.go:450
↓ 2 callers
Function
editBodyHeight
(rect Rect)
internal/app/edit.go:57
↓ 2 callers
Function
editBodyWidth
(rect Rect)
internal/app/edit.go:49
↓ 2 callers
Function
evalCurve
evalCurve returns (x,y) at parametric t for a linear interp between (fx,fy) and (fx+dx,fy+dy) plus a downward sag = 4*sagAmt*t*(1-t).
internal/app/wire.go:220
↓ 2 callers
Method
flashSel
()
internal/app/model.go:923
↓ 2 callers
Function
hash
(s string)
internal/app/draw.go:561
↓ 2 callers
Function
initialModel
(ws *Workspace)
internal/app/model.go:116
↓ 2 callers
Function
normalizeLoadedBoard
(b *Board)
internal/app/storage.go:116
↓ 2 callers
Function
resolveEndpoint
resolveEndpoint returns an endpoint's screen position, honoring the optional pin override (used by the zoom transition).
internal/app/wire.go:155
↓ 2 callers
Function
shadowChar
shadowChar picks a character for a shadow cell — dithered base + slash sprinkles in the mid-density band for texture.
internal/app/draw.go:63
↓ 2 callers
Function
shadowRect
shadowRect paints an ASCII-dithered drop shadow under a rect.
internal/app/draw.go:21
↓ 2 callers
Method
snapPullToNote
snapPullToNote walks the notes list and snaps the pull's target to the next (or previous, if dir=-1) note's pin position, skipping the source.
internal/app/model.go:364
↓ 2 callers
Function
splitAtVisual
--- ANSI-aware string splicing ------------------------------------- splitAtVisual cuts `s` at visible cell column `col`. CSI escape sequences (`\x1b[
internal/app/render.go:252
↓ 2 callers
Function
splitLines
(s string)
internal/app/render.go:388
↓ 2 callers
Function
styleRune
styleRune — Unicode block offsets: sans-serif bold: A..Z=0x1D5D4 a..z=0x1D5EE 0..9=0x1D7EC sans-serif italic: A..Z=0x1D608 a..z=0x
internal/app/theme.go:437
↓ 2 callers
Function
trimRunes
(s string, n int)
internal/app/draw.go:509
↓ 2 callers
Method
zoomStep
zoomStep clamps within the full [ZoomMin, ZoomMax] range.
internal/app/model.go:873
↓ 1 callers
Method
AddBoard
AddBoard appends a fresh board with a unique grain seed and makes it active. Returns the new board.
internal/app/notes.go:329
↓ 1 callers
Method
BgSGR
BgSGR emits the background-color SGR for this color. The renderer is otherwise foreground-only; this is used for the optional solid board background.
internal/app/theme.go:24
↓ 1 callers
Method
Delete
(id string)
internal/app/notes.go:464
↓ 1 callers
Method
DeleteBoard
DeleteBoard removes the board at index i. Refuses to delete the last remaining board.
internal/app/notes.go:344
↓ 1 callers
Method
DeleteStringAt
(i int)
internal/app/notes.go:540
↓ 1 callers
Method
DeleteStringsTouching
(id string)
internal/app/notes.go:548
↓ 1 callers
Function
DitherShade
DitherShade returns a halftone char for a given (x,y) and density 0..1.
internal/app/theme.go:290
↓ 1 callers
Method
Done
(now time.Time)
internal/app/anim.go:97
↓ 1 callers
Method
Hex
()
internal/app/theme.go:60
↓ 1 callers
Method
Hit
Hit tests a screen-cell (cx, cy) against the note's current screen rect.
internal/app/notes.go:144
↓ 1 callers
Method
Label
Label returns a human-readable summary for the toast.
internal/app/menu.go:259
↓ 1 callers
Function
NewEditor
(n *Note, w, h int)
internal/app/edit.go:23
↓ 1 callers
Function
NewFontMenu
(current TextStyleMode)
internal/app/menu.go:13
↓ 1 callers
Method
NewNote
NewNote places a note at screen-centre converted to world coords, so it appears centred at whatever zoom level the user is on.
internal/app/notes.go:440
↓ 1 callers
Function
NewSaver
(w *Workspace, delay time.Duration)
internal/app/storage.go:167
↓ 1 callers
Function
NewTransitionOut
(n *Note, zoom int)
internal/app/anim.go:71
↓ 1 callers
Method
Pos
Pos returns an endpoint's SCREEN position (for drawing).
internal/app/notes.go:190
↓ 1 callers
Method
Progress
Progress: 0 = at source, 1 = at target. In runs 0→1; Out runs 1→0.
internal/app/anim.go:82
↓ 1 callers
Method
Resize
(w, h int)
internal/app/edit.go:71
↓ 1 callers
Function
Run
Run is the package's main entry point. cmd/redthread/main.go calls it.
internal/app/app.go:15
↓ 1 callers
Method
SGR
()
internal/app/theme.go:17
↓ 1 callers
Method
Select
(id string)
internal/app/notes.go:396
↓ 1 callers
Method
Start
(fromID string, fromX, fromY int)
internal/app/wire.go:21
↓ 1 callers
Method
StringsTouching
(id string)
internal/app/notes.go:530
↓ 1 callers
Function
StyleViewText
StyleViewText applies styleRune to a pre-rendered string while passing through ANSI CSI escape sequences untouched. Useful when post-processing the ou
internal/app/theme.go:393
↓ 1 callers
Method
captureDeleteSnapshot
captureDeleteSnapshot records `n` and the strings that touch it so a subsequent `u` can put everything back. Overwrites any prior snapshot — undo only
internal/app/model.go:802
↓ 1 callers
Method
colorIndex
colorIndex returns the BackgroundColors index for the cursor, or -1.
internal/app/menu.go:196
↓ 1 callers
Method
commitPullAt
commitPullAt finalizes the pull: connects to a note if the target lands on one, otherwise drops a wall-pin at the world coords beneath.
internal/app/model.go:340
↓ 1 callers
Function
composeEditorValue
composeEditorValue builds the textarea seed text. Empty notes seed as an empty string so the cursor lands on row 1, not row 3.
internal/app/edit.go:39
↓ 1 callers
Function
drawBackgroundMenu
(c *Canvas, menu *BackgroundMenu)
internal/app/menu.go:301
↓ 1 callers
Function
drawBackgroundMenuAt
(c *Canvas, x, y int, menu *BackgroundMenu)
internal/app/menu.go:306
↓ 1 callers
Method
drawBoardView
(c *Canvas)
internal/app/model.go:1213
↓ 1 callers
Function
drawFontMenu
(c *Canvas, menu *FontMenu)
internal/app/menu.go:65
↓ 1 callers
Method
drawFooterView
(c *Canvas)
internal/app/model.go:1379
↓ 1 callers
Function
drawHelpPanel
drawHelpPanel renders the bordered slide-up panel. anim ∈ [0,1] controls its height. Columns are rendered at fixed x-offsets so all keys/descriptions
internal/app/model.go:1478
↓ 1 callers
Function
drawNoteAt
drawNoteAt renders the full note (border, tape, title, body, decor) at an arbitrary rect. Used by both normal rendering and the zoom transition.
internal/app/draw.go:261
↓ 1 callers
Function
drawNoteAtWithBorder
drawNoteAtWithBorder is drawNoteAt with an explicit border-color override (used during the zoom transition to avoid the highlight flashing mid-anim).
internal/app/draw.go:108
↓ 1 callers
Function
drawNoteFrame
drawNoteFrame draws only the frame (tape, borders, title row, separator, inner flourish, fold glyph) — NOT the body. Used in edit mode where a live te
internal/app/draw.go:117
↓ 1 callers
Method
drawTabBar
drawTabBar draws row 0: " redthread • work │ personal │ ideas ". The active board has a "•" prefix and brighter color. While renaming, the active b
internal/app/model.go:1332
↓ 1 callers
Method
drawTransitionView
drawTransitionView — clean 3D zoom with an animated backdrop fade. The cork + background notes fade from full brightness (at transition start) down to
internal/app/model.go:1276
↓ 1 callers
Function
effectiveStyleAt
effectiveStyleAt returns the SGR sequence active at visual column `col` within string `s` — i.e., the last CSI seen before that column. An empty retur
internal/app/render.go:328
↓ 1 callers
Method
handleBgMenuKey
handleBgMenuKey drives the background picker. Up/down move between the cork toggle, the color rows, and the custom-hex row, live-previewing as they go
internal/app/model.go:469
↓ 1 callers
Method
handleBoardKey
(key string)
internal/app/model.go:525
↓ 1 callers
Method
handleEditKey
(msg tea.KeyMsg, key string)
internal/app/model.go:972
↓ 1 callers
Method
handleFontMenuKey
(key string)
internal/app/model.go:439
↓ 1 callers
Method
handleKey
--- key handlers ------------------------------------------------------
internal/app/model.go:258
↓ 1 callers
Method
handleMouse
--- mouse handlers ---------------------------------------------------
internal/app/model.go:1038
↓ 1 callers
Method
handlePullKey
handlePullKey lets the keyboard drive the in-progress string pull — arrows nudge the virtual endpoint, tab/S-tab snap to other notes, enter commits at
internal/app/model.go:295
↓ 1 callers
Method
handleRenameKey
handleRenameKey intercepts every keystroke while the user is editing a board's name in the tab bar. Enter commits, esc cancels.
internal/app/model.go:405
↓ 1 callers
Function
joinLines
(lines []string)
internal/app/render.go:401
↓ 1 callers
Function
lerpRect
lerpRect eases rect a toward b by t with easeInOutCubic — gives a nicer "glide" than a linear or ease-out-only curve.
internal/app/anim.go:120
↓ 1 callers
Method
newCanvas
newCanvas builds a canvas pre-set with the workspace's solid background (nil for cork/transparent, which keeps cells transparent).
internal/app/model.go:1151
↓ 1 callers
Method
overlayFontMenuOnString
(base string)
internal/app/model.go:1206
↓ 1 callers
Function
pickStringChar
pickStringChar maps a local (dx, dy) direction to a line character, accounting for terminal cell aspect ratio (~2:1 tall:wide). Without this correctio
internal/app/wire.go:229
↓ 1 callers
Method
restoreDeletedNote
restoreDeletedNote re-inserts the most recently deleted note at its original z-position on its original board, along with any strings it was connected
internal/app/model.go:828
↓ 1 callers
Function
riseOffset
riseOffset returns the Y-offset (negative = up) applied during the morph to sell the 3D lift. Peaks at the middle of the transition with amplitude ~3
internal/app/anim.go:133
↓ 1 callers
Function
seedBoard
--- seed ---------------------------------------------------------
internal/app/notes.go:625
↓ 1 callers
Function
shadowGrowth
shadowGrowth returns how many extra cells of shadow thickness to add during the morph. Peaks mid-transition.
internal/app/anim.go:143
↓ 1 callers
Function
splitClipboardText
splitClipboardText parses pasted text into (title, body) the same way the editor's Split does: first line is the title, the rest is the body, with at
internal/app/model.go:17
↓ 1 callers
Method
syncColor
syncColor live-previews the fill as the cursor lands on a color/custom row; on the cork row the fill is left unchanged.
internal/app/menu.go:216
↓ 1 callers
Function
visibleWidth
visibleWidth returns the visible-cell width of a string, ignoring CSI.
internal/app/render.go:287
↓ 1 callers
Function
wrapLines
(body string, width int)
internal/app/draw.go:517
Method
Brighter
(f float32)
internal/app/theme.go:68
Method
Brightness
Brightness — Rec 601 luma, used by the monochrome dither pass.
internal/app/theme.go:95
Method
Clear
()
internal/app/render.go:52
Method
FillRect
FillRect writes a single rune + style across a rectangular area, overwriting whatever was there (useful for drop shadows, clears, etc).
internal/app/render.go:167
Function
GenStars
GenStars returns a stable cork-texture for (w,h) using the default seed. For per-board grain, use GenStarsForBoard.
internal/app/notes.go:586
Function
HalftoneChar
HalftoneChar is a simple level lookup (0..4).
internal/app/theme.go:314
Method
Init
()
internal/app/model.go:159
Method
IsEmpty
IsEmpty returns true if the cell is the fully-transparent default.
internal/app/render.go:30
Method
Move
(delta int)
internal/app/menu.go:203
Method
Set
(x, y int, cell Cell)
internal/app/render.go:69
Function
TestBackgroundMenuSelection
(t *testing.T)
internal/app/background_test.go:172
Function
TestBackgroundNormalizeLegacy
(t *testing.T)
internal/app/background_test.go:113
Function
TestBackgroundPersistenceRoundTrip
(t *testing.T)
internal/app/background_test.go:10
Function
TestParseHexColor
(t *testing.T)
internal/app/background_test.go:50
Function
TestSerializeBackgroundSGR
(t *testing.T)
internal/app/background_test.go:133
Function
TestV4FileLoadsAsCork
(t *testing.T)
internal/app/background_test.go:28
Function
TestViewRendersAcrossBackgroundModes
(t *testing.T)
internal/app/background_test.go:147
← previous
next →
101–200 of 208, ranked by callers