John McDole @codefu.mcdole.org · 31/07/2026Write the apps you want, not the random demoware people are slinging. 130
John McDole @codefu.mcdole.org · 31/07/2026Formants dialogue in roguetui... also on web! Pesky timer resolutions, Cross-Origin-Opener-Policy, and a million other issues when debugging wasm->wasm->webaudio! #termui #termui_audio #dart #flutter 010
John McDole @codefu.mcdole.org · 28/07/2026So, no joke, this was my effort to build a long time ago: 1. distrobox + ubunutu 2. wireless keyboard and mouse 3. viture pro glasses (had'em for a while, directly support on steamdeck) 4. flutter sdk. I could then build, run, and test on the steamdeck... for desktop. 111
John McDole @codefu.mcdole.org · 27/07/2026Work in progress: started off trying to make chiptune dialogue work with text. This worked well on CLI / Flutter Windows, but WASM/Web was always just... wrong. So I tried another path: audio atlases, and taking a note from the Celeste folks. #dart #flutter #tui 120
John McDole @codefu.mcdole.org · 26/07/2026cross-platform audio is hard - termui_audio plays files just fine, but start adding in tone generators and "sprites" and things get wonky on wasm. sigh. 010
John McDole @codefu.mcdole.org · 25/07/2026Something I've been working on with the termui / termui_audio / termui_flutter packages. Recorded from Flutter Web + WASM, but also runs in a console. #dart #flutter 2110
John McDole @codefu.mcdole.org · 21/07/2026Added soloud to termui: termui_audio. CLI uses dart:ffi to soloud libs. Web/Windows/Mac/Linux has a wrapper to flutter_soloud. Demo: jtmcdole.github.io/termui_audio/jtmcdole.github.iotermui_audio_exampleA new Flutter project. 000
John McDole @codefu.mcdole.org · 08/07/2026Sparklines and improvements to LinearProgressIndicator added to termui. I wanted to emulate btop's awesome graphs, so: 1. braille and quads 2. added "width" to the bars if you want with different fills. 3. Added "stops" for all bars. 4. Vertical options! 000
John McDole @codefu.mcdole.org · 07/07/2026It started with extracting a terminal package I had written a long time ago and then scope creep made termui. source: github.com/jtmcdole/ter... demo: jtmcdole.github.io/termui/ (click the <> button to switch to widget book if you want something less eye-destroying)github.comtermui/packages at main · jtmcdole/termuidart terminal ui library. Contribute to jtmcdole/termui development by creating an account on GitHub. 020
John McDole @codefu.mcdole.org · 06/07/2026So I'll probably look into KTTY later to see if I want to implement it, but termui_flutter and termui_pty give you a terminal emulator with _some_ graphics (SGR) support. I don't think I'm full xterm / kterm... but it is fairly fast. 000
John McDole @codefu.mcdole.org · 06/07/2026termui 0.7.1 - pty support, some more debug tools to show layers / widget boundaries, resizing, focus.. and mouse clicks. KTTY support would be the next thing to add, but I'm going to finish my e-reader and work on a game or something. 461
John McDole @codefu.mcdole.org · 05/07/2026Yeah.. I jokingly had a "support platform views" for the TUI. Then I noticed the author of lumide.dev was having problems with the xterm / kterm ports. Now I just need to finished writing some tests!lumide.devLumide | The Agent-Native IDELumide is a high-performance, lightweight code editor built for the agentic age. Host autonomous agents natively via the Agent Client Protocol with zero Electron overhead. 000
John McDole @codefu.mcdole.org · 04/07/2026Madness, thy name is idle hands. #termui #dart #flutter 160
John McDole @codefu.mcdole.org · 04/07/2026Updated pty2 to work better on windows and linux: 70MB/s ConPTY, 200MB/s Linux! Arena allocation, native finalizers, and more tests... also a new home in termui monorepo.pub.devpty2 | Dart packagePty2 for Dart and Flutter. Provides the ability to create processes with pseudo terminal file descriptors. 000
John McDole @codefu.mcdole.org · 04/07/2026Flutter Web, Flutter Windows, Dart CLI. Doesn't mater. 110
John McDole @codefu.mcdole.org · 03/07/2026more silly fun - "termui" cycling through titles, glitch effect widget, doom fire with cycling colors and wind. jtmcdole.github.io/termui/jtmcdole.github.ioexample_webA new Flutter project. 230
John McDole @codefu.mcdole.org · 29/06/2026I'm getting excited for Flutter GPU github.com/flutter/flut...github.com[Flutter GPU] Add Texture.fromImage to wrap a ui.Image texture by bdero · Pull Request #188605 · flutter/flutterFixes #188246 Adds Texture.fromImage, the inverse of Texture.asImage. It wraps the GPU texture that backs a ui.Image as a Flutter GPU Texture without copying any pixel data. Getting widget content ... 020
John McDole @codefu.mcdole.org · 20/06/2026Very much inspired by Charm / Bubble Tea / all the other great terminal UI's out there, but for Dart. Also works in Flutter if you use the termui_flutter package. This uses canvas.drawRawAtlas() for faster rendering that a full blown PTY emulator. 000
John McDole @codefu.mcdole.org · 20/06/2026I was writing a immersive cli epub reader + audiobook playback "for fun" and I kept copying the same library around. I thought I'd make it into a package, but before release I spent some time with Antigravity and got just a little carried away... docker+flutter+agy cli is a pretty great combo. 100
John McDole @codefu.mcdole.org · 20/06/2026Writing a Dart CLI app but want a Flutter-like interface? Escape hatch to render some raw ansi/sgr codes? Perfetto recording, inspection and searching? Asciicast v3 recording and playback? Ascii golden tests and integration testing library? And can run in Flutter? github.com/jtmcdole/ter... 1133
Reposted by John McDoleFlutter @flutter.dev · 24/04/2026Cloud Functions and Admin SDK for Firebase now supports Dart as an experimental feature 🎯 This means Flutter developers can use the same programming language throughout their whole stack and share logic between the frontend and backend. 4419
John McDole @codefu.mcdole.org · 02/04/2026Best train goes zoom zoom. This infantile post is brought to you by the letter Z. 000
John McDole @codefu.mcdole.org · 26/03/2026Things I didn't think I would be doing: writing Win32 FFI code. 000
John McDole @codefu.mcdole.org · 10/03/2026I need to bring her in on the weekend or something and see how she handles the space 010
John McDole @codefu.mcdole.org · 10/03/2026... I'm a filthy hacker and I use Blender + CAD Sketchup + Geometry Nodes.... waaaaaay more work than its worth. Then I switched to FreeCAD for a bit. CAD as Code though? 🤯 010
John McDole @codefu.mcdole.org · 01/03/2026Granted - this is for main channel of Flutter... but I was considering something like this for flutter-stable and flutter-beta; just package all the tools in a docker image (or multiple depending on what you want, e.g. web only). Rather than downloading the whole git repo. 100
John McDole @codefu.mcdole.org · 01/03/2026This is the composable action: github.com/flutter/flut... It was used in this test to run the tools test; but I disabled it because it doesn't work for engine builds: github.com/flutter/flut...github.com 110
John McDole @codefu.mcdole.org · 01/03/2026I'll dig up the workflow script we have. Iirc I made it with with ACT as well as GH. 100
John McDole @codefu.mcdole.org · 28/02/2026Any details? I've been considering building / publishing docker images for actions. 110
John McDole @codefu.mcdole.org · 24/02/2026As I've slowly migrated some projects to the HSM; I found myself needed a few more features; replace/copyWith: github.com/jtmcdole/hie...github.comBlueprints should implement "copyWith" · Issue #13 · jtmcdole/hierarchical-state-machine.dartBlueprints are currently immutable. This makes sense if you have a library that supports handing out blueprints and you don't want them accidently modified for future calls. However, if you want to... 010
John McDole @codefu.mcdole.org · 17/02/2026HSM 2.2.1 released... why? While I have "stable" flutter running, I didn't use flutter_test till I started migration and hit the dreaded version pinning >:( 010
John McDole @codefu.mcdole.org · 16/02/2026and of course I fudged it up with "sealed" and didn't see any problems with testing. <sigh> version 1.0.1 incoming 000
John McDole @codefu.mcdole.org · 16/02/2026Let me know if you run into any issues. I wrote this a long time ago and have been carting it around in a private repo for a while. I did a clean it up pass, redone with callbacks (al'la changenotifier), and added the stream extension. Replay streams are also a sneaky form of injection :) 000
John McDole @codefu.mcdole.org · 15/02/2026And the gathering and sharing of all the tools in my toolbox continues: core_bus (pronounced corvus) - const Events with type safety, no choke points, callbacks for performance and streams if you need'em. replayable events as well. no deps either. #opensource pub.dev/packages/cor...pub.devcore_bus | Dart packageA lightweight, type-safe Event Bus for Dart with optional event replaying. Decouples asynchronous code with minimal overhead. 151
John McDole @codefu.mcdole.org · 15/02/2026Just added serialization to my hsm library. mostly handwritten. Also added plantuml output. I want to support mermaid, but how do you write text inside the state blocks? github.com/jtmcdole/hie...github.comMachine Serialization · Issue #7 · jtmcdole/hierarchical-state-machine.dartAdd serialization of state, including history. deferred events and data will require developer support for serializing data. care needs to be used to ensure all deferred and queued events maintain ... 030
John McDole @codefu.mcdole.org · 12/02/2026Proud to be the 131st backer 😎 on @BackerKit Crowdfunding for New Edge Sword & Sorcery 2026! www.backerkit.com/c/projects/b...backerkit.comNew Edge Sword & Sorcery 2026Sword & Sorcery magazine featuring short fiction, non-fiction, and gorgeous art. Made with love for the classics, and an inclusive, boundary-pushing approach to storytelling! Luxurious hardcover, clas... 010
John McDole @codefu.mcdole.org · 12/02/2026HSM 2.0 published - now with nearly all the things I wanted years ago: * Proper event deferral * Deep and Shallow history * Fork, Choice, Terminate, Final pseudo states * Blueprints for composability + validation * Performance: lca and paths precomputed * PSSM tests pub.dev/packages/hie...pub.devhierarchical_state_machine | Dart packageA framework for building performant state machines similar to UML state charts. States are organized in parent/child relationships, allowing common event handling to be shared by more generic states. 021