Consume the pending changesets into a minor release. Users get the
terminal renderer, a headless Dialog with an Escape layer stack, default
Tab focus navigation, focus-visible styles and a headless Button,
createPortal, onLayout and onScrollChange, native scrollbars, new CSS
styles, registerFont, BGRA image uploads, getElementsAt, idle GC,
display-link frame pacing on macOS and Windows ARM64 builds.
Bump the native Cargo crate, napi loader version checks, native, React
and Solid packages to 0.11.0, @gpuix/cli to 0.1.2 and disktree to 0.2.1.
Fixes#73Fixes#74Fixes#75Fixes#76Fixes#77Fixes#78Fixes#84Fixes#91Fixes#93Fixes#95Fixes#96Fixes#97Fixes#98Fixes#99
Discord: https://discord.com/channels/1422625037164351591/1562091690376962111
Session: ses_ea68cd52affex3PxfjqF4PhYyY
Reveal disktree selections through Finder, Explorer, or xdg-open instead of always invoking macOS open. Keep launcher errors in the selection panel and scope them to the selected path. Preserve Explorer selection arguments for paths with spaces. Normalize platform button labels in the existing scan/navigation snapshot.
Use the existing titlebarTransparent option to retain native Windows dragging and minimize/maximize/close controls in chat and disktree. Leave other platforms unchanged. Document both behaviors and add separate changesets for issues 75 and 77.
Validation: all package, Rust, and performance suites pass on macOS. A real missing-launcher probe leaves the selection panel responsive. Windows and Linux runtime behavior remains unverified locally.
Session: ses_ed48f90d4ffeqym03XRjqsA5xw
Discord: https://discord.com/channels/1422625037164351591/1558853977012174980
Replace the Unix-only path regex with the exact path formatted by the same displayPath helper as the selection panel. Keep the existing end-to-end scan and navigation snapshot unchanged. Add a patch changeset referencing issue 76.
Session: ses_ed48f90d4ffeqym03XRjqsA5xw
Discord: https://discord.com/channels/1422625037164351591/1558853977012174980
Use Node file permissions for the disktree and scaffolder executables on Unix. Skip permission changes on Windows, where a shell chmod command is not available. Document the portable build behavior and add a patch changeset for both packages.
Session: ses_ed48f90d4ffeqym03XRjqsA5xw
Discord: https://discord.com/channels/1422625037164351591/1558853977012174980
Separate folder and file node shapes so retained file records carry no directory-only child arrays or metadata. The 350k-file scan kept about 8 MiB less Bun heap. Preserve navigation and scan totals through the existing app test.
Session: ses_f1be8a987ffeslJ1dooQ4pgDnx
disktree now runs on plain Node (>=20). Bun is no longer required.
- ship tsc output in dist/, bin is dist/cli.js with a node shebang
- tsconfig follows the npm-package template (nodenext, rootDir src)
- worker URL follows the running file extension (.ts in src, .js in dist)
- prepublishOnly wipes dist and rebuilds
- README and AGENTS use npx disktree
Session: ses_f1b9d5d03ffep38dyOKhtgIJSt
- remove the publish-disktree CI job. It waited for all three native builds
even though disktree ships only .tsx source
- prepublishOnly now runs tsc and the GPU test instead of refusing without CI
- AGENTS.md documents disktree as the one local-publish exception
Session: ses_f1b9d5d03ffep38dyOKhtgIJSt
- remove the SF_DATALESS check in scan-worker.ts. It called libc lstat
through bun:ffi with a hardcoded arm64 struct offset
- remove the `cloud` field from DirRecord and its use in core.ts
- iCloud folders are now scanned like any other folder
- disktree still runs on Bun (raw .tsx bin)
- bump disktree to 0.1.2 so CI publishes it
Session: ses_f1b9d5d03ffep38dyOKhtgIJSt
Limit scan workers to four, reducing peak physical footprint by about 60 MiB on a 350k-file scan. Publish disktree independently after its GPU-backed test, so unrelated GPUIX CI failures cannot block the release.
Session: ses_f1be8a987ffeslJ1dooQ4pgDnx
`bunx disktree [dir]` opens the treemap on a folder, the current directory,
or `/`. Published as disktree@0.1.0.
- moved from examples/ to a `disktree` workspace package: src/app.tsx
(store + view), src/cli.tsx (bin), src/core.ts, src/scan-worker.ts
- scan runs on a pool of worker threads with sync lstat, like the Rust
original on rayon; the frontier is handed back after 400 dirs so deep
trees spread across workers. Full disk here: 24.5M files in 150 s, no
stall
- skips iCloud dataless folders (SF_DATALESS via bun:ffi lstat), like the
Rust scanner; listing them made macOS download them and stalled the scan
- keeps the 12 largest files per directory, folds the rest into one
"N smaller files" tile
- store lives on globalThis so `bun --hot` remounts instead of starting a
second full scan
- scan progress bar uses used disk space as the total when scanning a
volume root
- lighter pastel tiles at 90% opacity
Session: ses_f1cc78bbbffeiqA1qhn3vB0pzN