Repository navigation
59-hub: Settings ▸ Tools & connections (T4), missing tools explain themselves (T5), skies off the bundle (T3) - #429
Merged
Merged
Conversation
… on first pick, Cache Storage keeps them static/hdri/*.hdr (7.5 MB) moved to the packs repo's hdri/ (packs PR, byte-identical). skyFetch.js: an export reads its own copy, else Cache Storage (tp-skies-v1, keyed by URL, older ref dropped), else the ref-pinned packs base (VITE_HDRI_BASE > VITE_PACKS_BASE > packs@format-1). A CDN that cannot deliver is not an error: status 'unavailable', the preset's flat sky shows, the next 'online' event retries. Exports still embed the chosen sky (fetched through the same path). e2e: sky-cdn (fetched once across reload, counterfactual, blocked CDN fallback, export embed on a built app) + hdri suite; h.routeSkies serves the skies from a local packs checkout (opt-in). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ery outside tool; missing tools explain themselves T4: lib/tools/toolStatus.js, a leaf registry — registerToolRows(section, readable) (sections in page order: chat, mesh, animation, aibox, agents, desktop; a later roadmap adds its rows in ONE call) and registerFeature(). builtinTools.js registers chat providers + voice typing, mesh providers and desktop tools (Blender and any glTF tool); each row: status dot, Test, Enable / Disable over the EXISTING switches, the features it turns on, Set up -> the old provider forms. Settings ▸ AI is now Tools & connections (ToolsHub.svelte; 'ai' stays a deep-link alias). No storage key moved (vitest migration test + e2e seeded from the old keys). New: mesh provider Test (ComfyUI /system_stats, Meshy task list — no credits), additive aiStt.enabled (absent = on), tools:blender (absent = on). T5: buttons whose tool is missing stay visible: toolLinks.explainMissing(id) toasts what is missing and opens its row (AI button, quick prompt bar, Add menu, phone More, mic, viewport Add ▸ Generate 3D model… (set up)); the assistant's system prompt and generate_mesh's error read the same status. e2e tools-connections (migration, Test ✓/✗, red dot, Enable/Disable, T5 links, prompt, axe serious-only) ALL PASS; settings-shell / vr-ai-voice / ai-assistant updated for the rename. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e shots; one page description
sky-cdn: settle() waits for the named sky (a preset switch passes through 'off'), a box before the
export (the exporter refuses an empty scene) — ALL PASS on a BUILT app (scripts/serve-build.cjs,
E2E_BLOCK_SW=1) incl. the export carrying hdri/meadow_2_1k.hdr byte-identical to the CDN copy.
settings-shell clicks nav rows by EXACT label ('Connection' is a substring of 'Tools & connections');
roadmap-13 I3 expects the 'tools' key. ToolsHub's intro folded into the category description.
CLAUDE.md architecture note; docs/settings-storage-keys.md rows for the hub.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Roadmap 59, lane 59-hub. Base v1.41.0. Packs side: theprototype-app/packs#19.
T4 — Settings ▸ Tools & connections
src/lib/tools/toolStatus.js: a leaf registry.registerToolRows(section, readable, {add})(sections in page order: chat, mesh, animation, aibox, agents, desktop — a section appears once something registers, so 55/58 add theirs in one call) andregisterFeature({id, label, section, needs, ready, row}).builtinTools.js: chat providers + voice typing, mesh providers, desktop tools (Blender and any glTF tool). Each row: status dot, Test, Enable / Disable over the existing switches, the features it turns on, Set up → the unchanged provider forms.ToolsHub.svelte);'ai'stays a deep-link alias. No storage key moved (vitest migration test + e2e seeded from the old keys). New: a mesh-provider Test (ComfyUI/system_stats, Meshy task list — no credits), additiveaiStt.enabledandtools:blender(both absent = on).T5 — feature status
toolLinks.explainMissing(id): the AI button, quick prompt bar, Add-menu AI row, phone More sheet, mic and viewport Add ▸ "Generate 3D model… (set up)" stay visible; when the tool is missing they say what is missing and open its row. The assistant's system prompt andgenerate_mesh's error read the sametoolSummary().T3 — HDRIs off the bundle
static/hdri/*.hdr→ packshdri/(byte-identical).hdri/skyFetch.js: an export reads its own copy; otherwise Cache Storagetp-skies-v1; otherwise the ref-pinned packs base. If the CDN is unreachable the sky isunavailable: the preset's flat sky shows, no error, and it retries ononline. Exports still embed the chosen sky.Release zip: 16,536,221 → 10,378,986 bytes (−6.16 MB), 0
hdri/*.hdr.Tests
sky-cdn(dev + built app with the export-embed check),hdri,tools-connections(incl. axe serious-only on the page),settings-shell,settings-narrow,settings-narrow-devices,roadmap-13-ui-polish,mesh-generation,ai-presets,a11y-axe,context-menu-redesign,mobile-map,vr-ai-voice,ai-assistant.Before release (59-int)
Merge packs#19, move
format-1, purge and content-verify all five files againsthdri/SHA256SUMSbefore this deploys. Deployed-build e2e runs needE2E_BLOCK_SW=1;E2E_SKIES_CDN=1proves it against the real CDN. Rows for 55 Agents and 58 Animation / AI box, plus gating Edit in Blender… withexplainMissing('editInBlender'), are listed in the lane STATUS.🤖 Generated with Claude Code