barafael · 2026-09-22 → 2026-10-06 · 15 days

Fortnight Ledger

Commits, releases and upstream work across local repositories and github.com/barafael. Counts are non-merge commits, local branches and GitHub combined, deduplicated by hash.

Commits–non-merge
Repositories–with commits
New projects11started in window
Releases76 crates.io · 1 Typst Universe
Upstream6 / 5PRs / issues · 2 merged, 3 fixed
Code lines––
Peak day––

Activity

0 41+ commits/day

Lines

added deleted · code only

Churn counts lines in the window from git log --numstat, all branches, merges excluded. Code: rs, py, js, ts, css, html, wgsl, slint, sh, swift, pas and similar. Docs: md, typ, txt. Data & generated: lockfiles, json/jsonl, research yaml, RON corpora, a PDF that git diffs as text; shown, never charted. Size now is tokei over tracked files at HEAD: Rust, other code (RON excluded), and docs (Markdown and Typst).

Threads

across projects

One P2P stack for five games

A hardened matchbox fork (Bevy 0.19, TLS 1.2 option, disconnect handling) went upstream as #558 and now backs chinese-checke.rs, aces, gnils, flexplore and cake. All five moved the room id into the URL fragment on 10-01/02.

webrtc 0.17 → 0.21

Two data-channel bugs filed on webrtc 0.17 (#915, #916) turned out fixed on master. That led to matchbox #559 moving to webrtc 0.21, which surfaced a late-open bug in the sans-IO rtc crate: issue #268, fix #269 merged the same day.

Specs as code

Rules checked mechanically against code: chinese-checke.rs makes every normative claim a Rust type and publishes a laws report; omdurman keeps a bijective rulebook↔code traceability map, Kani harnesses and a cargo-mutants gate in CI.

Projects

by area · most commits first

Projects on GitHub Pages carry a live demo. Demos load on request; Maximise fills the window, Esc or Minimise puts it back, Stop unloads it. Screenshots marked “Pages build” were captured from the deployed sites on 2026-10-07 in a headless Chromium with software WebGL; the rest come from the repositories.

Games · Bevy

omdurman

192 commits · 10 days
playwasm + native

Remember Gordon! The Battle of Omdurman (Phoenix Enterprises, 1982) as a Rust/Bevy hex wargame with peer-to-peer play, a bot and a rules engine traced to the rulebook.

  • PR #2 merged 10-05: deterministic press, one UI, overlays that fit, set-up and rules fixes. 82 commits on 10-04 alone.
  • Two-instance play-test on 10-05; its findings fixed, rulings on branch playtest-rulings-2026-10-05.
  • Rules: river chain per §10.21–§10.23; transport unlock when the Isa Zachneih deserts; Kani melee harnesses fixed.
  • Per-frame work cut to state changes; dead code removed across app, board, rules and types crates; mutation gate on cargo-mutants 27.
  • 10-06: board animation in one fx module; bot joins weak weapons to massed-fire targets.
Remember Gordon! title screen over the hex map, with a Lobby button
Title screen · Pages build
The London Gazette end-of-game report over the board, with combat panels at the sides
Gazette after the 10-05 play-test, from the repo

kernel-panic-bevy

121 commits · 8 days
play10-06 local

Kernel Panic, the Spring-engine RTS, ported to Bevy.

  • Rendering: 64-square terrain chunks (4× fewer terrain draws); CEG particles, flames and smoke batched into quad meshes; no MSAA on the web.
  • Upstream unit data baked into an embedded bundle (units.kpu); terrain labelling moved off the main thread.
  • KP-style Settings page, live and saved, with frame-rate readout; crash review hardening.
  • 10-06, not yet pushed: Spring movement parity: terrain model, stuck escape, 16-bit headings, impulse and skidding, QTPFS pathfinding replacing grid A*.
Kernel Panic showcase: wireframe terrain with raised platforms, a minimap and unit icons
Showcase, System faction: terrain chunks and minimap · Pages build
Kernel Panic skirmish: two hexagonal platforms in the dark, minimap top left
Skirmish vs the computer on Medium · Pages build

chinese-checke.rs

62 commits · 3 days

Six-player Chinese Checkers: a specification plus an implementation checked against it.

  • 09-27/28 simplification pass over engine, laws, lobby and net tests: +5.5k / −6.2k lines.
  • Fixed move order (BTreeSet coordinates); touch drag told apart from tap.
  • 10-02: HTML report of every law published beside the game.
Two-player Chinese Checkers board, red at the top, blue at the bottom
Two-player table · Pages build
The laws report: 43 laws, 11 proven, 17 exhaustive, 15 property-tested, 15 chapters
Laws report published beside the game

aces

28 commits · 5 days
new 09-27play

Ace Combat-style peer-to-peer flight combat, native and wasm.

  • Milestones 2–6 in three days: solo flight and mouse-aim instructor; lobby, snapshots, interpolation; rigid-body flight model with recorder and replay; guns, IR missiles, respawn; radar missiles, flares/chaff, RWR; kill feed and scoreboard.
  • 16 aircraft models in Git LFS, rigged with landing gear and exhaust; per-aircraft flight models (09-30).
Aircraft seen from behind over a grid plane with a horizon
Solo flight · Pages build

cake

18 commits · 4 days
new 09-27play

Real-time strategy on a ring: up to eight players, two neighbours each, host-sequenced lockstep.

  • Frameless circular window; projectiles, effects, recap chart, bots, demo recording.
  • 10-05: lockstep checks (Start sender verified, far-ahead turns refused); tick scans windowed by angle order; health rings, wakes, ruins, settings dial.
A dark ring with supply and unit counters, the circular play window
Ring window in play · Pages build

gnils

12 commits · 5 days

Bevy port of the Linux game Slingshot.

  • Multiplayer (09-24); zoom minimap rendered by a second camera; HUD and end-of-round panel matched to the original.
Two ships and two planets in space, round 1
Round 1 · Pages build

demolition

6 commits · 1 day
new 10-06play

2D physics demolition sandbox and level editor (Bevy 0.19, Avian 2D, Feathers UI). Pong is one preset.

  • Elements are cell grids on compliant joints that bend, yield and snap. TNT, ice, jelly, honey, gravity flip, share links. CI and Pages on day one.
Demolition Lab editor with the element palette and a scene of walls, a lattice and hanging plates
Editor · Pages build
Cannonball trajectory preview aimed at a bending beam, stress overlay on
Play: trajectory preview, a beam bending under stress

caribbean-fruit

6 commits · 2 days
new 09-23local only

Sailing simulation, Bevy 0.19 + Avian 3D.

  • M1 parametric hull, Bonjean buoyancy, weather field · M2 drag, hull-speed wall, lateral resistance · M3 hull drafting studio, rig and sail aerodynamics, 3D preview.
Messaging

beep (langis)

78 commits · 3 days
new 10-04private

Desktop Signal client: Slint UI over presage and libsignal-service-rs. AGPL-3.0.

  • Base: device linking with 45 days of history transfer, encrypted store, tray, notifications.
  • M1 done: receipts, typing, edits and deletions, disappearing messages, mentions, pinned/muted/archived chats.
  • M2 done (61 commits on 10-05): search, forwarding, media gallery, drop/paste attachments, link previews, stickers, chat folders as tabs, safety numbers, message requests, screen-reader support, opt-in storage-service write-back.
  • M3: groups, voice and audio playback, stories; reviewed twice. Next: real-account test, portable build, M4.
  • Upstream: libsignal-service-rs #473 (group create/change); presage branch langis/link-history-key.
Libraries & tools

fmtron

18 commits · 5 days
0.7 → 0.10

RON formatter CLI.

  • Four crates.io releases: 0.7.0 (09-23), 0.8.0, 0.9.0, 0.10.0 (all 09-26).
  • Five adversarial audit rounds plus a real-world corpus; blank lines kept by default; fmt.ron config; line width 100.
  • 09-28: whitespace matched to the reference parser; output pinned by a stability test (branch formatting-stability).

matchbox fork

10 commits · 2 days
2 PRs open

Peer-to-peer WebRTC for Rust/wasm.

  • Socket ends when signalling is lost with no peers; failed connections reported as disconnects; tls12 feature; cargo-audit fixes. Upstream as #558 and #559.

flexplore

12 commits · 3 days

Interactive flexbox explorer with code export.

  • CI (fmt, clippy, tests, wasm check); golden-screenshot harness for SwiftUI and Linux backends; multiplayer modelled on chinese-checke.rs.
Flexbox explorer: tree, property panel and the rendered container
Explorer · Pages build

document-formulas

11 commits · 1 day
new 09-290.1 · 0.2

Proc macro that renders the formula in a Rust function body as KaTeX in its rustdoc.

  • Built, renamed from formularium, released twice to crates.io and documented on Pages, all on 09-29.
rustdoc page for Kalman1D with predict and update formulas typeset by KaTeX
Rendered rustdoc for kalman::Kalman1D: predict and update, typeset from the function bodies

Thingy

17 commits · 4 days
codeberg

Rust and Dioxus successor to a Pascal application.

  • thingy-validate checker and an 18-step .description tutorial; anonymous write hole closed, delete requires manage rights; mutexes replaced by one state actor.
Music & visualisation

sinephonic

12 commits · 1 day
new 09-27open

Chord Anatomy: a one-screen chord-voicing analyser. Rust analysis crates in wasm; Dioxus replaced by plain HTML/CSS/JS.

  • Roughness, 12-TET beats, information measures, consonance landscape, pitch-class clocks, staff notation, four mood quadrants.
Chord Anatomy analysing Cm(b6): staff, keyboard, roughness and consonance panels
Cm(♭6) analysed · Pages build

tonality-graph

8 commits · 1 day
7 PRs mergedopen

2018 visualisation of steps between tonalities, redesigned on 09-26.

  • Responsive data-driven SVG; implicit graph without circles or arrows; stained-glass tile lattice with chevron step badges.
Lattice of tonality tiles with chevron step badges
Tile lattice · Pages build

voicing-atlas

4 commits · 1 day
new 09-30open

All 55,455 two-octave voicing shapes as a playable tree and lattice, common jazz voicings marked. Column browser, frosted-glass magnifier.

Voicing Atlas tree view with the selected voicing panel
Tree view with the selection panel · Pages build

bytebeat

7 commits · 1 day
new 09-26research

Research for a collaborative mini DAW in Rust: audio I/O and real-time safety, CRDT sync, GUI frameworks, plugin/MIDI crates, a ByteBeat device baseline.

Research

bavovniatko

17 commits · 7 days
new 09-28explorer

Research base for a game of the Russo-Ukrainian war played as Ukraine.

  • SurrealDB graph of about 10,800 cited claims with claimants, places, numbers and support/contradiction links; chapter dossiers generated from it.
  • Client-side explorer on Pages since 10-02; every claim shows its sources, every record has a page.
bavovniatko explorer home with corpus counts and the strongest disagreements
Explorer home once the knowledge base has loaded · Pages build
Talks & async Rust

more-actors-with-tokio

20 commits · 4 days
talk

Interactive slide app for the talk.

  • speedd actor architecture to step through by hand; watchdog, budget chat, FuturesUnordered and pipeline boards; one frame for every slide; fits 4:3 and phone screens.
Slide: An architecture, by hand. The speedd actor board with sources, collector, dispatcher and subscribers
speedd board slide from the static export (09-28)

protohackers

11 commits · 1 day
1 merged · 1 open

Talk pattern applied: actors over injected Stream/Sink instead of Arc<Mutex> (PR #1 merged). PR #2 open: protocol fixes in problems 1, 5, 6, 7.

tokio fork

branch mpsc-weak-sender-send

Draft: send and try_send on mpsc weak senders (fork PR #2).

Smaller moves

mt21-rs

8 · private Resilient host USB link, reworked firmware USB session, udev rule against ModemManager, upstream ssd1309 and tokio-serial.

3 + 8 cv yaaacv 0.1.0 on Typst Universe (typst/packages #5900, merged 09-22); 0.1.1 layout pass; CV builds in GitHub Actions.

ghoblin · repos

4 · local CLI for GitHub repo metadata; curated tag manifest over fetched repos.

ProgrammiersprachenSS22

fork PR #1: Rust interpreter aligned with Python semantics, benchmarks refreshed.

Upstream

outside barafael/*
RefKindTitleState
typst/packages#5900PRyaaacv:0.1.0merged 09-22
webrtc-rs/webrtc#915issueNegotiated data channels ignore their reliability parametersfixed on master
webrtc-rs/webrtc#916issueSCTP: Rexmit chunks abandoned at first transmission; FORWARD TSN overtakes in-flight datafixed on master
johanhelsing/matchbox#558PRBevy 0.19: socket hardening, security fixes and an exit-abort fixopen
johanhelsing/matchbox#559PRMove matchbox_socket to webrtc 0.21open
webrtc-rs/rtc#268issueNegotiated data channels open ~2 s late: poll_event doesn't pump read queuesclosed by #269
webrtc-rs/rtc#269PRDeliver reads queued while handling events from poll_eventmerged 10-04
vladbat00/bevy_egui#504issueReactive update modes never go idle since 0.42: ModifiersChanged sent every frameopen
vladbat00/bevy_egui#505PRSend ModifiersChanged only when the modifiers changeopen
whisperfish/libsignal-service-rs#473PRGroups: create and change; fetch expiring profile key credentialsopen