The T5DE Hub section gets a Server choice (T5DE, Staging, Custom), used from the next start. Without one,
the install's channel decides: nightlies and dev builds use hub.staging.t5de.dev, releases hub.t5de.dev.
The client passes the channel to the proxy, which keeps each hub's sign-in and product IDs apart; that
needs proxy 0.2.0, now pinned.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Patch 0026 (t5de-shop): the shop's rating filter gets T5 (GA, AP, AP+, T5, then all), answered by
T5DE's proxy from the hub; T5 products show the T5 badge, are free, and buying saves to the library.
Patch 0027 (t5de-inventory): the clothing inventory's filter gets T5 the same way, drawn as T5DE's own
sprite, and T5 products get the T5 badge.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Settings > T5DE gets a T5DE Hub section to sign in (showing the code and opening the hub's page) or out,
through T5DE's proxy, which keeps the sign-in.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Adds the t5de-proxy patch: the client starts t5de-proxy.exe and sends it every HTTP request, the
embedded browser's included, and its IMQ connection, and connects directly if the proxy isn't there.
Installs also wait for t5de-proxy.exe and t5de-renderer.exe to exit before replacing files.
tools/drive.py drives the built client (screenshots, clicks, imvu: commands) for testing without a
person; a Python 2.7 check covers the patch's requests, errors, post_multipart, IMQ and fallback.
The proxy program isn't pinned in t5de.toml yet: that needs t5de-proxy's first release.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
T5DE's settings page is now in sections like IMVU's pages: Diagnostics, and,
with the T5DE Renderer patch, Graphics with the renderer's Frame Rate (30, 60,
120, 240, 360 or Uncapped), kept in HKCU\Software\T5DE\Graphics.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
t5de.toml pins renderer 0.1.0 (a t5de-renderer release, by sha256); t5de bundle
downloads its two programs into the t5de-renderer patch's files, so the setup
installs them with the patch. The patch's description now says so.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The patches page lists optional patches in sections (General, Shop, Rooms, Avatars, Chat, Renderer) instead of one long features list, then the required ones as Always Included. T5de-Group names the section; T5de-Required still decides what's locked. Names are now Title Case and shorter where the section already says where.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Shorter ticks speed up animations: they advance one frame per tick. Higher frame rates need interpolation, so they move to the renderer roadmap.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A new required patch has the client look for a newer T5DE release as it starts, and offer it in
IMVU's own update dialog; updating hands over to the setup and closes the client.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A new required patch adds a T5DE page to the client's Settings, to turn usage statistics and
crash reports on or off after installing. It shares the setup's choice.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A new required patch sends a launch event on each start, and reports crashes, unrecoverable
errors and startup failures (type, message and stack, with the Windows user name removed) through
the install's t5de-setup.exe, which sends only what the user agreed to and adds the install's
IMVU version and patches.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Windows 11 shows a shortcut's icon on the taskbar for the windows it starts, and the shortcuts used
IMVUClient.exe's icon, which can't be extracted, so the taskbar button was blank. Shortcuts and the
"Apps & features" entry now use the install's imvu.ico, which the branding patch makes T5DE's.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Windows resources for both executables, generated by go-winres v0.3.3 (pinned in a go:generate
directive; regenerating reproduces them byte for byte): the T5DE icon, version info, and a
manifest (GUI with DPI awareness for the setup, console for the patcher).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
CI installs Go and runs gofmt, go vet, the patcher's tests and a Windows build, and the client
tests compare the patcher's output with the build.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
uncompyle6 writes each module's bytecode timestamp as a `# Compiled at:` header in the local time
zone, so CI (UTC) decompiled a different base than a machine in Pacific time, and the pinned base
commit check failed. Normalization now drops the header. The base moves to 5b8137f (identical in
local time and in UTC), and the patches are re-exported against it; only their hunk line numbers
and blob indexes change.
CI prints the base tree's per-file blob hashes when setup fails, to find any other differences
without logging IMVU's code.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
`t5de setup` builds a git workspace from the pinned IMVU installer (decompiled Python and the
extracted UI jar as the `base` commit) and applies patches/ on top. `t5de save` exports the
workspace's commits back to patches/ as deterministic format-patch files.
Co-Authored-By: Claude Opus 5.5 <[email protected]>