Build Log · August 3, 2026

SketchForge Research & Architecture — Drawing-to-Roblox-Character Pipeline

Full research and architecture pass on orchestrating existing image-to-3D, rigging, and animation AI into a repeatable pipeline that turns a child's drawing into a Play-ready Roblox character — 9 deliverable documents, a live-researched industry survey, then a REAL Phase 0 test (local InstantMesh + Blender Rigify, run end-to-end on the actual hardware) that found R15 rig conformance is harder than the research alone predicted, and revised the roadmap to a faster Custom-rig-first Phase 1. Session also surfaced and partially investigated a pre-existing, unrelated infrastructure bug: forgekit-website's Vercel deploy fails on npm workspace resolution, blocking the retro's own publish step.

  • SketchForge
  • Experiment
  • Research
  • Architecture
  • Roblox
deliverable documents produced (Mission Blueprint + 8 Charge deliverables + a new real-test results doc)
10

deliverable documents produced (Mission Blueprint + 8 Charge deliverables + a new real-test results doc)

background research agent dispatched — live web research, 34 tool calls, industry survey + Roblox integration + cost data
1

background research agent dispatched — live web research, 34 tool calls, industry survey + Roblox integration + cost data

real Rigify deform-bone count vs. Roblox R15's required bone count — the actual, measured gap Test 1 found, not an estimate
160 vs ~15

real Rigify deform-bone count vs. Roblox R15's required bone count — the actual, measured gap Test 1 found, not an estimate

real-time corrections from Zeb this session: favor open-source over commercial for Phase 0/1, and defer the Open Cloud upload test until a real Custom-rig bundle exists to test against
2

real-time corrections from Zeb this session: favor open-source over commercial for Phase 0/1, and defer the Open Cloud upload test until a real Custom-rig bundle exists to test against

Timeline

  1. Start

    Ignition — Charge received

    Zeb handed the full SketchForge Charge, suggesting placement under experiments/game-builder/

  2. Early

    Anvil — placement question surfaced and resolved

    Asked Zeb whether SketchForge should nest under Game Builder or stand alone; he chose a new, separate experiment

  3. Mid

    Research dispatched, architecture written in parallel

    Background agent ran the live industry/Roblox/cost survey while pipeline-stages.md, architecture-proposal.md, provider-abstraction.md, and automation-design.md were written from ForgeKit-specific judgment, independent of vendor lookup

  4. Late

    Research folded in, remaining deliverables synthesized

    industry-survey.md and roblox-integration.md written from the agent's findings; cost-analysis.md, prototype-roadmap.md, and risk-assessment-and-recommendation.md synthesized last, since they depend on everything before them

  5. Continued (same day)

    Zeb said 'let's run Phase 0' — shifted from documents to real execution

    Discovered Phase 0 as originally scoped defaulted to a commercial API (Tripo/Meshy) for the R15 test despite the Charge's own 'favor open-source' constraint; Zeb corrected this directly

  6. Continued

    Full local toolchain installed and the real test run

    Miniconda, CUDA 12.1, PyTorch, InstantMesh, Blender 4.2 LTS installed on Zeb's actual machine (RTX 2060, 6GB VRAM); InstantMesh generated a real mesh; Blender's Rigify rigged it; the real bone hierarchy was hand-compared against Roblox's R15 requirement

  7. Continued

    Zeb questioned running Test 2 next — correctly

    After seeing Test 1's real result, Zeb asked whether Test 2 (Open Cloud upload) was still needed; reasoning held up — deferred it and revised the roadmap's phase sequencing to match

What shipped

  • experiments/sketchforge/docs/mission-blueprint.md — Mission Blueprint, explicitly scoping SketchForge as its own experiment distinct from Game Builder's child-safety Mission, naming the expected future composition point

  • experiments/sketchforge/docs/industry-survey.md — Deliverable 1: commercial (Tripo, Meshy, Rodin, Luma, Sloyd, Masterpiece X, Stability, Hunyuan3D) and open-source (TRELLIS.2, TripoSR, InstantMesh, Hunyuan3D, Stable Fast 3D, Rigify, Mixamo, Open3D) tool survey, all figures from live research, unverified claims explicitly flagged rather than guessed

  • experiments/sketchforge/docs/pipeline-stages.md — Deliverable 2: all 14 pipeline stages (image cleanup through validation) with input/processing/output/failure/fallback/candidate-implementations for each; identifies Retopology and Rigging (R15 conformance) as the two genuinely hard stages, the rest as effectively solved by existing tooling

  • experiments/sketchforge/docs/architecture-proposal.md — Deliverable 3: recommends 'Option A externally, Option B internally' (one orchestrated pipeline surface, built from independently invokable per-stage units) over a pure single-pipeline or pure-independent-workpieces design; explicitly rejects Option C (Alloy's Arc/Mission lifecycle) as importing human-judgment-staging machinery to solve a mechanical sequencing problem

  • experiments/sketchforge/docs/roblox-integration.md — Deliverable 4: confirmed Roblox import formats/limits (10,742 triangle character budget, 4K/2K texture caps), the exact R15 Humanoid rig hierarchy and naming requirement, and the Open Cloud API's flagged-but-unverified mesh-upload restriction

  • experiments/sketchforge/docs/automation-design.md — Deliverable 5: answers all six of the Charge's automation questions (per-stage retry, caching, artifact versioning, resumability, single-stage replacement, provider swapping) directly from the architecture and provider-abstraction designs

  • experiments/sketchforge/docs/provider-abstraction.md — Deliverable 6: a common TypeScript interface per pipeline stage, written from stage contracts (not reverse-engineered from any one vendor's API shape), with a typed ProviderResult/ProviderError pattern so failures are data the orchestrator can inspect, not exceptions

  • experiments/sketchforge/docs/cost-analysis.md — Deliverable 7: 10/100/1,000-character cost tables for commercial API and hybrid paths using real researched pricing; local/self-hosted per-character cost explicitly named as unbenchmarked rather than estimated from vendor marketing claims

  • experiments/sketchforge/docs/prototype-roadmap.md — Deliverable 8: names the four different 'fastest path' axes (quality/effort/cost/architecture) as genuinely different recommendations, then proposes a 4-phase roadmap starting with two cheap Phase 0 validation tests before any pipeline code is built

  • experiments/sketchforge/docs/risk-assessment-and-recommendation.md — Final Deliverable items 8-9: risk table plus the recommendation to remain an experimental capability, not promote to a first-class product, until Phase 0/1 resolve the two gating risks

  • forgekit-os/journal/anvils.md — logged the SketchForge placement Anvil (nested vs. standalone)

  • forgekit-os/journal/strikes.md — logged the paired Strike: 'A shared output target is not the same thing as a shared Mission'

  • experiments/sketchforge/docs/phase-0-results.md (new) — real, executed Phase 0 Test 1 results: local toolchain setup, the actual InstantMesh mesh (26,778 verts/53,544 faces), the actual Rigify bone dump (706 bones, 160 deform), a bone-by-bone comparison against R15, and the honest 'not a clean mapping' finding with its architectural implications

  • experiments/sketchforge/docs/prototype-roadmap.md (revised) — Phase 0/1 corrected to open-source-first per Zeb's direction; Phase 1 re-sequenced to target Roblox's Custom-rig fallback first, deferring full R15 conformance + Open Cloud upload testing to a revised Phase 2

  • experiments/sketchforge/docs/roblox-integration.md (revised) — R15 fulcrum section updated with the real bone-collapsing finding from phase-0-results.md, replacing the research-only 'concrete, buildable... mapping table' framing

  • experiments/sketchforge/docs/risk-assessment-and-recommendation.md (revised) — R15 risk row updated from research-estimated severity/likelihood to the real, measured result; recommendation section updated to reflect Test 1 having actually run

  • Local machine: Miniconda, conda env 'instantmesh' (Python 3.10, PyTorch 2.3.0+cu121, InstantMesh + deps), Blender 4.2.16 LTS — real toolchain now installed on Zeb's machine, reusable for Phase 1