The latest from Text.js
Releases and engineering notes from the Text.js team.
Text.js 1.0
Text.js 1.0 is stable. It renders React 19 and App Router apps in the DevTools console with one console.log per frame.
AdamThe Inverted Architecture
How a React commit becomes one console.log call in DevTools.
AdamTurbolog: eliminating the flash
Clearing the console before every frame left it visibly blank in 70–81% of DevTools paints. Appending frames brought that to 1%, all of it on the first frame.
AdamRight-to-left text in the console
Text.js implements the Unicode Bidirectional Algorithm and passes all 770,241 BidiTest.txt cases. Hebrew and Arabic render in visual order with Arabic shaping, aligned to the cell grid.
AdamKeyboard shortcuts with useKeymap
Declare a binding once with useKeymap, and Text.js routes the key, lists it in a ? help screen, shows it in the footer and adds it to a Ctrl+K command palette.
AdamServer rendering in the console
Text.js 0.4 can render a page on the server and stream its frames to the console as cell deltas. Static routes also prerender their first frame into the HTML.
AdamFIGlet fonts in Text.js
@textjs/font parses FIGlet .flf fonts and lays them out like the figlet program. Its tests replay 273 outputs recorded from figlet 2.2.5, and all of them match.
AdamLaying out the console with Yoga
Text.js runs Yoga in WebAssembly with a point scale factor of 1, so every box lands on a whole cell. Text is segmented with Intl.Segmenter and measured in cells.
AdamText.js 0.1
Text.js 0.1 brings a React 19 reconciler, Yoga layout and a file-system App Router to apps that render in the DevTools console.
AdamRendering React into console.log
Text.js draws a React app in the DevTools console as one styled console.log call per frame.
Adam