Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
f18f785
πŸ§ͺ Render the REPL interaction study in a real terminal (#838)
taras Sep 22, 2026
3d79cb3
🎬 Animate the REPL study, and make notch height mean scope depth (#838)
taras Sep 22, 2026
3662ae0
🩹 Speak the renderer's unit: transitions are seconds (#838)
taras Sep 22, 2026
1861db3
🎞️ Play the whole approved story with one command (#838)
taras Sep 22, 2026
0b8687b
🧭 Give the REPL study one location and a derived focus model (#839)
taras Sep 23, 2026
2f4098b
🩹 Make the URL carry focus, the selection and the sibling locus (#839)
taras Sep 23, 2026
c2923da
🌲 Let Freedom's node tree own focus (#839)
taras Sep 24, 2026
81f9ec8
🩹 Let a branch consume a key, and keep the tree's order canonical (#839)
taras Sep 24, 2026
7bdaa85
🩹 Open a run at its frame's focus, not only its route (#839)
taras Sep 24, 2026
c5b1704
🧱 Give the REPL a component boundary and one render walk (#840)
taras Sep 24, 2026
46d4db9
πŸ“š Render the component catalog from the mounted tree (#840)
taras Sep 24, 2026
cf8c60f
πŸ”’ Mount a recorded drawer with nothing to act on (#840)
taras Sep 24, 2026
51ca33d
πŸ“ Ask the band's geometry of the view model (#840)
taras Sep 24, 2026
b4876cd
🎚️ Give the catalog the real Execution History band (#840)
taras Sep 24, 2026
53159a4
πŸ—„οΈ Draw the drawer from its view, in both paths (#840)
taras Sep 24, 2026
517ae31
πŸ–ΌοΈ Make the chrome part of the tree (#840)
taras Sep 24, 2026
d602b98
🌳 Render every frame by walking the mounted tree (#840)
taras Sep 24, 2026
77d2f40
🧩 Render, focus and target input from one mounted tree (#840)
taras Sep 24, 2026
4123c99
🩹 Stop a repaint deciding where the person is (#840)
taras Sep 24, 2026
ca9db45
♻️ Derive focus from the tree, and let each control draw its own marker
taras Sep 24, 2026
18a1aa2
♻️ Let each parent place its own children, and every focus target sho…
taras Sep 24, 2026
837b68b
♻️ Keep each presentation typed, and stop offering a way out that is …
taras Sep 24, 2026
e00ab3d
πŸ› Focus the URL's own surface before a drawer traps over it
taras Sep 24, 2026
a68b24a
✨ Say what a person meant as an action, and read input once
taras Sep 24, 2026
13d1c9f
♻️ Let each parent hand its control an action, and refuse out loud
taras Sep 24, 2026
d6f7a1e
πŸ› Make pointing at something you can reach the same as reaching it
taras Sep 24, 2026
680b049
✨ Give the interface one clock, and each component its own progress
taras Sep 24, 2026
5753b87
♻️ Make the clock a stream, owned by the branches that consume it
taras Sep 24, 2026
95300dd
♻️ Let a branch own its demand on the clock, and acknowledge every frame
taras Sep 24, 2026
30ae436
✨ Refuse a URL that names a place the execution never went
taras Sep 24, 2026
40ef9e9
♻️ Resolve a route against the view, and let the execution choose the…
taras Sep 24, 2026
a318277
✨ Mount the panes a composition shows, and only those
taras Sep 24, 2026
8eb4499
✨ Take the REPL input away when a drawer owns the band it drew in
taras Sep 25, 2026
d3aa193
βͺ Revert the first #840 experiment
taras Sep 25, 2026
c399aa2
πŸ§ͺ Resolve a REPL location against what the execution recorded
taras Sep 25, 2026
082fba5
πŸ› Keep a refused URL inside Result, and give a drawer its owning entry
taras Sep 25, 2026
248d98c
πŸ› Answer the wait an entry actually owns, and keep entries serial
taras Sep 25, 2026
576e888
πŸ› Refuse to settle an entry that still holds an open scope
taras Sep 25, 2026
247b877
πŸ§ͺ Reconcile keyed descriptions into the one mounted Freedom tree
taras Sep 25, 2026
885be7d
πŸ› Make a key name one child, tell a retained branch what changed, and…
taras Sep 25, 2026
4ad7ec7
πŸ› Give a description one input, captured rather than carried
taras Sep 25, 2026
a1f7508
♻️ Acquire the values that hold state, rather than constructing them
taras Sep 25, 2026
3ec939f
πŸ§ͺ Compose one resolved location all the way down to bytes
taras Sep 25, 2026
5219842
πŸ› Reconstruct focus from the URL, and give a pointer something to poi…
taras Sep 25, 2026
88f03ec
πŸ› Decide focus by ancestry, and let the open drawer own interaction
taras Sep 25, 2026
af0ce6d
πŸ§ͺ Hold one execution subtree at an Api boundary, and name what that c…
taras Sep 25, 2026
a2577bd
πŸ§ͺ Pause a real document at the boundaries XMD already has, and measur…
taras Sep 25, 2026
935ec98
πŸ§ͺ Run the pause lifecycle matrix, and conclude the experiment
taras Sep 26, 2026
380e02c
πŸ§ͺ Pause XMD expansion, not Effection β€” and reach EXPANSION PAUSED on …
taras Sep 26, 2026
54a595d
πŸ§ͺ Project a REPL view from Journal records alone, and refuse everythi…
taras Sep 26, 2026
aee0273
πŸ§ͺ End an entry at a marker of its own, and interrupt what it left open
taras Sep 26, 2026
773fa23
πŸ§ͺ Hydrate a real StarFX store from Journal and URL, and prove it adds…
taras Sep 26, 2026
65058ed
πŸ§ͺ Take the process away, and keep only what the record can say
taras Sep 26, 2026
af6638c
πŸ› Consume a record only when it is this step's own
taras Sep 26, 2026
b389862
πŸ› Return a matched operation's recorded result to the continuation
taras Sep 26, 2026
ff4cf10
πŸ§ͺ Fork an execution onto its own Journal, and conclude the experiment
taras Sep 26, 2026
0356ea4
πŸ› Make a fork's inheritance complete in its first record
taras Sep 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,7 @@ packages/web/generated/
# it. The concurrent verifier runs site:build and site:check together, so a lint
# that walked one would report on a file nobody wrote.
site/*.timestamp-*.mjs

# The harness in scripts/repl-study writes raw ANSI beside its committed
# captures; only the readable .txt frames are reviewed and kept.
scripts/tests/fixtures/repl-study/*.ansi
5 changes: 4 additions & 1 deletion .oxfmtrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
// the exact indentation the rule tests assert on.
// `packages/*/npm` is generated dnt output, written by a test while the
// battery runs; format-checking it fails on a file nobody wrote by hand.
// The vendored snapshots are upstream's bytes: a drift verifier holds each to
// the manifest that records it, and reformatting one would break that.
"ignorePatterns": [
"**/*.md",
"scripts/tests/fixtures/**",
"**/npm/**",
"packages/workflow/vendor/cloudflare-computer-dofs/**",
"packages/acp/vendor/acpx/**"
"packages/acp/vendor/acpx/**",
"scripts/repl-study/vendor/freedom/**"
]
}
2 changes: 2 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

"extends": ["./oxlint.shared.json"],

"ignorePatterns": ["scripts/repl-study/vendor/freedom/**"],

"plugins": ["typescript", "unicorn", "import"],

"jsPlugins": [
Expand Down
7 changes: 7 additions & 0 deletions deno.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
"oxlint": "npm:oxlint@1.74.0",
"oxlint-tsgolint": "npm:oxlint-tsgolint@0.25.0",
"semver": "npm:semver@^7.8.5",
"starfx": "npm:starfx@0.16.1",
"typescript": "npm:typescript@^5.0.0",
"unist-util-select": "npm:unist-util-select@^5",
"zod": "npm:zod@^4.3.6",
Expand All @@ -64,6 +65,12 @@
"gen:publish-workflow": "deno run --allow-all packages/cli/src/deno.ts run scripts/gen-publish-workflow.md",
"bump": "deno run -A scripts/bump-version.ts",
"weights:measure": "deno run --allow-all scripts/measure-test-weights.ts",
"repl:study": "deno run --allow-all --frozen scripts/repl-study/main.ts",
"repl:compose": "deno run --allow-all --frozen scripts/repl-compose/main.ts",
"repl:pause": "deno run --allow-all --frozen scripts/repl-pause/main.ts",
"repl:pause:seam": "deno run --allow-all --frozen scripts/repl-pause/missing-seam.ts",
"repl:pause:xmd": "deno run --allow-all --frozen scripts/repl-pause/measure.ts",
"repl:hydration": "deno run --allow-all --frozen scripts/repl-hydration/main.ts",
"test": "deno test --allow-all --frozen",
"verify": "deno run --allow-all --node-modules-dir=none --cached-only --frozen scripts/preflight.ts scripts/verify.ts",
"vendor:verify": "deno run --allow-read --allow-write=/tmp --allow-env --allow-run --cached-only --frozen scripts/verify-cloudflare-dofs.ts",
Expand Down
28 changes: 28 additions & 0 deletions deno.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"mdast-util-to-string": "^4"
},
"devDependencies": {
"@bomb.sh/tty": "0.9.0",
"@durable-streams/server": "^0.3.8",
"@executablemd/acp": "workspace:*",
"@executablemd/cli": "workspace:*",
Expand All @@ -67,6 +68,7 @@
"expect": "^30.0.0",
"oxfmt": "^0.41.0",
"oxlint": "1.74.0",
"starfx": "0.16.1",
"tsx": "^4.19.0",
"typescript": "^5.0.0"
},
Expand Down
45 changes: 45 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading