BackgammonDB
Try it now →

Notebooks

Named collections of positions you build yourself — construct any board with a live editor, watch the engine analyze as you edit, and pin the positions worth keeping into a notebook.

A notebook is a named, loose bag of positions you've built or collected — each with its own score, match length, and cube state, its engine analysis, and your notes. Notebooks is also where BackgammonDB's board editor lives: the one place you can change the board. Construct a position from scratch, or bring one in from anywhere — a match you're reviewing, a saved position, an XGID string, a share link — then move checkers freely, set the dice and cube, watch the engine analyze as you edit, and pin the positions that matter.

Because every pinned position carries its own match context, one notebook happily mixes "double at 7-away 7-away" with the same position at 7-away 2-away — there's no match wrapper forcing everything to one score.

Availability: notebooks currently ship behind the notebooks feature flag — on by default in development builds, off in production. Visit any page with ?ff=notebooks in the URL to turn it on for your browser (?ff=-notebooks turns it off again). This is the same mechanism that gated engine analysis.

The layout

Notebooks uses the same frame as match review: a full-height panel on the left, and on the right a header, the board, and the analysis strip. Nothing in that frame moves when you open a notebook — only what fills it changes.

  • Left panel — your notebooks when none is open, the open notebook's pinned positions once one is. Collapse it with the arrow in its corner.
  • Header — the score line for the position on the board. Click it to open the match settings (length, score, Crawford / Jacoby) — the same controls as the board's scoreboard, in the place a real match shows its record. Undo / redo, settings, keyboard shortcuts, and × sit on the right; × closes the notebook and returns to your list.

The start screen

There are two ways in, and the start screen shows both. "Start a new notebook" floats over a dimmed board, offering the starting position, an empty board, or a pasted XGID / share link. Beside it, the left panel lists your notebooks — click one to carry on where you left off, or rename / delete it there. Once you have saved notebooks the card says so explicitly, so the list never reads as chrome sitting behind a modal.

Every start option begins a new notebook. Nothing is created until your first pin (see below), so browsing in and out never litters your list with empty notebooks.

Getting a position onto the board

  • Start options — the start screen's Starting position and Empty board (all thirty checkers in the side trays).
  • Paste — drop an XGID string or any BackgammonDB share link into the start screen's paste box. The XGID= prefix is optional — a bare -b----E-C---eE---c-e----B-:0:0:1:52:0:0:0:9:10 works too.
  • Deep link/notebooks?xgid=… or /notebooks?p=… opens the editor on that position; /notebooks?nb=… opens a saved notebook.
  • "Explore in Notebooks" — a chip on every position surface: match review, shared positions, and saved position cards. The analysis comes with it: a position handed over from an analyzed match arrives with that file's own numbers already on screen — see Analyzing and pinning below.

Editing checkers

Everything obeys one rule: checkers are conserved. Each side always has exactly fifteen — the side trays act as each player's reserve — so the board can never enter an impossible state. Landing on a point the opponent holds sends all their checkers there to the bar, where the rules of the game put them; the trays are the reserve you build a position from, and a hit never adds to them.

  • Stamp tool — click a side tray to load that color (a mini-checker follows your cursor). Each click on a point or the bar drops one checker. Click the tray again — or press Esc — to unload.
  • Drag — drag any checker to another point, the bar, or a tray. While you drag, a ghost preview shows exactly where the checker will land — including any opponent checkers a hit would send to the bar — and releasing commits exactly what the preview shows.
  • Marquee — drag on empty board space to rubber-band a selection (partially covering a stack selects its top checkers). Shift-drag adds to the selection; clicking the base of a point — or an occupied half of the bar — selects that whole stack, including any checkers hidden behind a count badge. Dragging any selected checker moves the whole group, keeping its visual shape — at the board edges the shape pins in place rather than spilling off. The bar is the exception: it has no column to arrange a shape around, so a selected bar stack travels on its own and lands as one stack wherever you drop it.
  • Remove — right-click a checker to send it back to its tray. On mobile, load a tray and use the Add / Remove toggle that appears below the board: in Remove mode each tap removes one checker instead of placing one.
  • Undo / redo — every gesture is one undo step. Ctrl+Z / Ctrl+Shift+Z (or Ctrl+Y), or the header buttons. A popover counts as a single gesture: drag the match-length slider across five values, or set one die and then the other, and closing it leaves one step to undo — not five.

Mobile supports the stamp tool and the Add/Remove toggle; drag and marquee are pointer-precision features and stay desktop-only.

Dice, cube, and match context

The board always shows the question on the side of the player being asked it — dice for a checker play, a doubling cube for a cube decision. Clicking a side is the one gesture that drives all of it.

  • Who's on roll — click either half of the board. That player takes the decision (the header's highlight moves to their name), and the popover for it opens on their side. Clicking the side that already has it just opens the popover.
  • Dice — the popover picks both faces, and chooses the decision type (below). A side that holds nothing — because it isn't the one deciding — shows its slot outlined, so you can always see where to click. Take/pass hands the question across, so the popover closes with it and the answer lands right away.
  • Cube — during a checker decision the cube sits on the bar; click it to centre it or hand it to a side at 2, 4, 8… A centred cube shows 64, the largest face of the doubling die, meaning "available" rather than "worth 64" — which is why 1 is never an option and an owned cube always starts at 2. The values on offer stop where the match score does (see The cube can't go out of range below).
  • Match — click the scoreboard region (over the bear-off tray), or the score line in the header, to set the match length (0 = money), both scores, and Crawford / Jacoby. The analysis is score-sensitive, so this matters for cube decisions especially. Each pin freezes its own match context — change the score and pin again, and both versions sit side by side in the notebook.

Decision type

Dice on the board always mean a checker play. Without dice there are two different cube questions, and the popover picks between them:

  • Double — should the player on roll double? The candidates are No double, Double / Take, Double / Pass.
  • Take/pass — the double has already been offered; the candidates are just Take and Pass.

Either way the cube leaves the bar for the decider's own side, marked with a ? and showing the value being offered — the turned cube, not the one sitting on the board. So the popover asks for one number, Cube offered, and the cube underneath follows from it: an offer of 2 can only have come from a centred cube, and anything higher from one the doubler already owned at half the offer.

The cube can't go out of range

The board never shows a double nobody could make, so an edit that puts the cube out of range shortens it rather than leaving it wrong:

  • The match caps it. The cube stops being worth turning once it covers what the player furthest from victory still needs. Drop a 25-point match with a 32-cube down to 9 points and the cube becomes a 16 — that's all a 9-pointer is worth. The same applies as the score moves.
  • The cap applies to the offer. In a 9-point match a player may legally be holding a 16-cube for a checker play, but turning it would offer 32, which the match can't pay. Switching that board to a double leaves an 8-cube offering 16.
  • Crawford has no cube at all. In the Crawford game the cube is dead: it sits centred, nobody can own it, and Double and Take/pass are unavailable — the board can only ask a checker question. Clearing Crawford brings the cube back.
  • Ownership follows the doubler. Editing the board so the new decision-maker couldn't legally be holding the cube re-centres it, since you can't double a cube your opponent owns.
  • A centred cube is always 64. On the bar a centred cube means "undoubled and available", so it can only read 64 — going back to a checker play from an offered 2 resets it rather than parking an impossible 2 in the middle. A cube somebody owns survives the switch untouched: holding a 4 for a checker play is a perfectly good position.

Each of these is folded into the edit that caused it, so one Ctrl+Z puts both the setting and the cube back.

Bringing a take/drop decision over from a match review therefore shows you the take, not the double — the offer is assumed to have happened, which is the question that was actually being asked.

Switching decision type never moves the roll. The player whose side you are looking at is the one being asked, in every moment: on an offer they are deciding whether to double, on a take/pass they are answering a double from the other side. What changes hands is who made the offer, not who is facing it — so the board doesn't jump to the other player under you. The cube doubles or halves to match, and the whole switch is a single undo step.

With nobody on roll the strip reminds you to set who it is.

Analyzing and pinning

Analysis is ambient: the moment a position settles (and someone is on roll), the editor quietly evaluates it — you edit, and the answer appears in the bar above the candidate strip. There is no analyze button.

Quality comes in named tiers rather than raw plies:

  • Quick — the ambient default; fast enough to keep up with your editing.
  • Smart and Deep — deeper looks, one click away in the engine bar. All three tiers stay clickable, so you can flip between depths and watch how the evaluation changes — each tier's result is remembered, making the switch back instant.
  • ⚡ Book — early-game positions covered by the precomputed opening book come back instantly at full depth. There's no other depth to reach, so the tier buttons disappear.
  • 📄 XG / GNU — a position brought in from an analyzed match arrives with that file's own analysis already on screen, badged with the engine that produced it and the depth it recorded (XGR+, 4-ply, rollout, …). No engine call is needed, and nothing is guessed about how it compares to our own depths: it gets its own chip, so you can try Quick / Smart / Deep against it and flip back whenever you like.

Hover any tier for the honest engine depths (e.g. Smart is gnubg 2-ply, comparable to XG 3-ply).

Ambient analysis is ephemeral — editing on simply moves to the next position. To keep a position, pin it (the 📌 button in the engine bar).

Your first pin creates the notebook — instantly, as a real saved record titled Untitled notebook. From that moment every pin, delete, analysis upgrade, and title edit saves immediately: there is no save button, no unsaved state, and a reload never loses a pin. Rename the notebook whenever you like (or never — untitled notebooks sit in the landing list as "Untitled notebook · 2 positions · 2h ago" until you do).

Pins appear in the left panel — labeled #1 · checker 31, #2 · cube, #3 · take/pass, and so on, each with a board preview — and the panel scrolls to whichever pin is on the board, so a new pin never lands out of sight. Click one to put it back on the board; pinning the same position twice doesn't duplicate it. A pin stores the best-known analysis and only ever upgrades: deepening after pinning updates it in place, while viewing shallower tiers to compare never downgrades it. A position brought in with its own analysis keeps that analysis when pinned.

The same board can hold two different questions — the double and the take/pass answering it — and they pin as two separate positions.

Keyboard shortcuts

Press ? for the overlay. It lists only the keys this screen honours — a shorter set than match review, because a notebook has no action cursor to move and no played move to compare against.

Key Does
19 Select a candidate by rank (press it again to deselect)
B Select the Best candidate
I / A / R Show the position before the move · the move arrows · the resulting position
D Cycle those three
O Toggle the best-move Overlay — draws Best alongside a non-best pick
F Flip which side bears off
S Pin this position to the notebook
L Share this position (Link)
[ Collapse / restore the notebook panel
Ctrl+Z / Ctrl+Shift+Z Undo / redo the last editing gesture
Esc Unload the tray colour, then clear the selection

Result view pauses editing. R draws the board after the selected candidate's move, which is not the position the notebook is holding — so the checker-editing layer stands down until you press I or A to come back. The same three-way toggle sits under the candidate list if you'd rather click it.

Title and description

The panel header holds the notebook's title and a free-text description — both editable inline at any time, both saved the moment you finish typing. Edits made before your first pin ride along when the notebook is created.

Notebook positions across the app

Notebook positions are first-class positions everywhere:

  • Every pin appears in Saved Positions automatically — being in a notebook is being saved; there's no star to click. Notes and tags you add there are stored inside the notebook itself.
  • Pins with analysis join the positions browser and the Study question pool through the ordinary filters, each under its own match score.
  • Deleting a pin asks for confirmation only when it has notes or tags attached. Deleting the last pin of an untitled, empty notebook quietly removes the notebook too.

Sharing

Share sits in the candidate strip, alongside the other position actions — the same place and the same dialog as sharing from a review. Whatever analysis is on screen goes into the link, so the recipient sees the candidate list you were looking at; choose the plain XGID format instead if you want to send the position alone.