Commit Graph

31 Commits

Author SHA1 Message Date
BFlat 3f15887891 The Windows app no longer starts OpenGL, which crashed some Intel drivers before the window opened (#198)
eframe starts every wgpu backend before an adapter is picked, and starting GL loads the system's OpenGL driver; Intel's ig9icd64.dll crashed in it (0xc0000005), so the app vanished with no window or error box. Windows now starts the primary backends only (DX12 with WARP, Vulkan); WGPU_BACKEND still decides when set.

Fixes #196
2026-11-02 08:10:17 +07:00
one-bit 1dcb46b2f8 Unreal Engine installations and their bundled Clang are found on Linux (#191)
Reads Linux registrations from ~/.config/Epic/UnrealEngine/Install.ini, honours a valid UE_ROOT, takes the version from Build.version, and counts the selected engine's own bundled Clang as its C++ tools.
2026-11-02 07:11:30 +07:00
maple 6d91b20b75 A Simplified Chinese README (#188)
Adds README.zh.md, translated from README.md with the same links and commands, and links it from the language switcher in README.md and README.ja.md.
2026-11-02 07:09:48 +07:00
BFlat 39ca993b20 Pitfall: never type python - with a heredoc (#181)
Strengthens the pitfall about python - heredocs waiting for input.
2026-11-02 05:35:42 +07:00
BFlat 6355654498 The README and STATUS give today's tool counts (#172)
The README, its Japanese copy and STATUS say 314 tools, 298 of them in the engine and the rest from the AI and setup layers, matching docs/tools.md and craft-anything-cli commands. Fixes #159.
2026-11-02 04:56:04 +07:00
BFlat 09bb4f3757 Pitfall: merge the commit CI tested, not a head read later (#150)
Adds a pitfall: merge with --match-head-commit set to the commit the green run tested.
2026-11-02 03:52:08 +07:00
Agapenor 481361563b A Flutter library with a header table at the very end of the address range is read safely (#131)
Elf::parse in formats/src/dart.rs skips a program or section header entry that starts past the end of the file, so its field offsets can't overflow.
2026-11-02 01:46:48 +07:00
BFlat 9d3ea967fb Translate the agent program setting into Chinese (#122)
Both Chinese catalogs get the five strings #117 added, so cargo xtask i18n-coverage passes again on main; pitfalls.md notes the case.
2026-11-02 00:51:01 +07:00
才倾梦华V d55523e6cd Add Simplified and Traditional Chinese UI translations (R2.9) (#115)
Adds Simplified and Traditional Chinese UI catalogs, picks the UI language from the system when Language is System, makes prices and a few labels translatable, recognises Chinese words for games and websites in requests, and adds cargo xtask i18n-coverage and docs/localization.md.
2026-11-02 00:34:31 +07:00
Agapenor 6787ae4852 The Agent console keeps its size instead of growing until its tabs are cut off (#81)
The conversation's history counts the item spacing and the prompt row is top-aligned, so the Agent console's panel no longer grows 17 points a frame until its tabs are cut off.
2026-11-01 23:32:19 +07:00
VakzOs 5d794bfefb Add a French UI translation (#70)
Adds a French UI catalog (Settings > General > Language), a test that every translation keeps its placeholders, and --lang on the snapshot example.
2026-11-01 23:05:25 +07:00
valère didon 26bf3635f1 Frida lists devices and processes on Windows instead of hanging or finding none (#59)
frida_devices_find runs frida-ls-devices in a pseudo console on Windows, where it crashed on pipes and hung; frida_targets_list falls back to plain processes; device columns split on two spaces. Fixes #58.
2026-11-01 23:05:18 +07:00
WadahBadawi a7fc1f94a4 Wait for asset facts to load in the asset spending smoke test (#76)
The asset spending smoke test waits for the worker's asset facts instead of a fixed number of frames.
2026-11-01 23:05:04 +07:00
BFlat 1b54cbf99e The macOS app ships craft-anything-cli beside its executable (#99)
The DMG's app had only craft-anything, so the app couldn't start its MCP server and every Claude Code build failed with no tools. The CLI is now copied into Contents/MacOS, signed like its zip, and run from the finished DMG before release.
2026-11-01 22:56:07 +07:00
Agapenor 348949ca76 Analysing code at the top of the address space finishes instead of running forever (#78)
The PLT, prologue and pointer scans in disasm/program.rs use checked steps, so code near u64::MAX no longer wraps to 0 and walks the whole address space. Adds open roadmap lines for an A32 STRD/LDRD decoder panic and unchecked header offsets in dart.rs.
2026-11-01 22:39:42 +07:00
muraa-p 3e016c92ee Leave a pin's old program copies out of the copy (#56)
A pin leaves out a program's old running copies (name.running-N.exe) when the program they copy is beside them.
2026-11-01 18:40:57 +07:00
muraa-p 793e47ce0f Find the Windows shim, not npm's POSIX script, for a bare program name (#51)
On Windows, which() tries PATHEXT names before the bare name, so npm's .cmd shim is found instead of the extensionless POSIX script beside it (#41).
2026-11-01 18:40:44 +07:00
Agapenor fef3f8231e A .utoc naming billions of empty compression methods no longer runs out of memory (#61)
A .utoc header naming billions of zero-length compression methods no longer collects empty names until memory runs out: only the 255 a block can point at are read, the rest are skipped by length.
2026-11-01 18:40:38 +07:00
GGWA b09b99aaa7 Stop an ELF segment at the end of the file offsets from overflowing (#43)
va_to_off added a PT_LOAD segment's file offset to an address delta unchecked, so a segment whose p_offset is near u64::MAX panicked in debug builds and wrapped in release. It now uses checked_add, so such an address maps to nothing. Two regression tests, one with a crafted ELF64.
2026-11-01 16:33:02 +07:00
GGWA 83f396ac74 Skip an ext inode that starts at the end of the address space (#42)
A group descriptor could point the inode table so far out that an inode started within 128 bytes of usize::MAX; the two checks that an inode fits in the image added 128 unchecked, which panicked in debug builds and wrapped in release. They now use checked_add, so such a root inode is refused and such a child skipped. Two regression tests, and a roadmap line for the same pattern in macho.rs method_list.
2026-11-01 16:32:54 +07:00
BFlat 81c17813c9 Korean, Chinese, Japanese and other scripts are tested to show in release builds, which ship their font licences (#29)
Release builds embed craft-fonts since the switch to the shared workflows, which turns the empty
boxes for Korean, Chinese, Japanese, Thai, Arabic, Hebrew, Hindi and arrows into text. A test now
checks every one of those in each of the app's font styles whenever craft-fonts is built in (as in
CI), so a font change can't bring the boxes back unnoticed. Packages now also ship craft-fonts'
OFL licences (OFL-<font>.txt), which the fonts require, and the release docs, ATTRIBUTION.md and
build.rs say how fonts are built in now (build.rs named the wrong app font).

Fixes #19
2026-11-01 14:37:57 +07:00
BFlat b43d1e8d14 Coding agents installed with npm on Windows start instead of "isn't on your PATH" (#23)
npm installs Gemini CLI, Codex and often Claude Code on Windows as .cmd shims. They were found,
but Rust starts only .exe files by bare name, so every build stopped with "gemini isn't installed
or isn't on your PATH". An npm (or pnpm) shim's script now runs with Node directly, so a prompt
with line breaks or over cmd.exe's 8191 characters arrives whole; any other batch file starts by
its full path. The usual Windows install folders (~\.local\bin, npm, bun, cargo) are searched
after PATH.

Fixes #18
2026-11-01 14:34:51 +07:00
Brandon Thomas 4756633f89 Show what a build is on now, and open up into its activity as it arrives (#10)
The status row names the command or file under way instead of only counting
actions. "More detail" opens the latest lines: stages, every command and file
with how it ended, what the builder said, and what programs printed outside the
conversation. Everything is kept in build-activity.log, with secrets hidden, and
the rebuild_activity_show tool and the CLI read the same.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:12:56 -04:00
Brandon Thomas e244159c17 Call a coding agent's cost an estimate, not the bill (#9)
Claude Code's figure is its own guess at API prices, which a subscription
isn't charged. The project page now says "AI cost (estimate)" with a note
saying so, and the title bar says "(estimate)". What an API key was charged
is kept apart in usage.json; older files count as estimates.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:04:01 -04:00
Brandon Thomas 7ecce402f9 Try again picks up where a build stopped instead of starting over (#8)
A run with no message was read as a first build, so Try again studied the
original again and gave the builder the first brief, even with its session
saved. A run now carries on when the builder has already worked, and only
runs the check when the builder had finished (awaiting_check in craft.json).

A check that returns an error couldn't look at the build at all, so it gets a
second go, and then the run says the build is finished but couldn't be checked.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:01:22 -04:00
Brandon Thomas 8ba7b3fbdd Record the v0.1.0 release in the roadmap (#2)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 21:01:06 -04:00
Brandon Thomas 292d5af06e Stop deadlocks as they form and watch every lock for one that never lets go (#5)
* Stop deadlocks as they form and watch every lock for one that never lets go

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Give the stuck-lock banner's test a program of its own

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 20:28:16 -04:00
Brandon Thomas 6a120011a1 Explain failed agent runs, keep a log to open, and stop offering git servers as computers (#3)
* Explain failed agent runs, keep a log to open, and stop offering git servers as computers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix a lock-up: the build's agent setup took the session lock twice in one statement

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 20:27:44 -04:00
BFlat 62700f5c69 Built by no longer offers a GitHub SSH key as a computer, and finds Claude Code on a Mac opened from the Dock (#4)
SSH hosts that point at a git server (named after one, or with its HostName or User git) are left out of the AIs found on the computer and the remote-machine picker. Programs are looked up and started with PATH plus the usual install folders (~/.local/bin, Homebrew, npm, bun, volta, cargo), which a Mac app opened from the Dock doesn't get.
2026-10-31 23:48:53 +07:00
Brandon Thomas c316051c9e Point links and release metadata at the storytold/craftanything repository (#1)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 11:01:25 -04:00
Brandon Thomas f64ae3bf3c Craft Anything
A native, pure-Rust app that shows anyone how a piece of software works, with
evidence-backed answers, then helps them rebuild it. It ships a desktop app, a
CLI and an MCP server, all driven by one engine.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:52:14 -04:00