# 3D asset sources

## Current iCub digital factory

The homepage at `index.html` runs the original iCub resin-cell exhibit through
`src/main.js`. It uses 39 iCub visual actors, two xArm 6 assembly rigs, two
SO-101 de-plating arms, OS1-derived printer components and repository-authored
cell geometry. Parts and robot URDFs retain their source dimensions in metres
throughout printing, processing and assembly. Procedural process equipment is
converted from its original exhibit coordinates at 0.3 metres per local unit;
the custom printer has a 762 by 690 mm plate. These equipment envelopes are
concept geometry, not surveyed manufacturer dimensions. The source and license records below apply to
this active factory and its rendered derivatives.

## Retained D1 revision — source only

The retained `src/d1-scene.js` revision uses all 39 iCub v2.7 body meshes,
including its original head, hands, feet, posterior chest trim and Voronoi
surface treatment. The inspection pose lowers the shoulders. Source STL units
are converted from millimeters to meters once; mesh proportions remain fixed
through inspection, printing, transfer and packing. The CC BY-SA 4.0 attribution
and license below apply to this restored body and its rendered derivatives.
The D1 43-axis control architecture remains an adaptation target; the source
body does not establish a compatible mechanical design.

Two articulated SO-101 source CAD arms serve minor assembly, and two xArm 6
source CAD arms with G1 grippers serve large module and supported body assembly.
Their Apache-2.0 and BSD-3-Clause sources are listed below. The retained scene
uses native source dimensions and joint hierarchies, with illustrative inverse
kinematics and unqualified grasp/fixture designs.

The two SLA-family resin printers use an authored MSLA/vat-photopolymerization
layout with provisional 300 x 300 x 330 mm build volumes. The printers, wash
and UV-cure stations, benches, cradle and packing case are repository-authored
concepts, not manufacturer CAD or purchasing specifications. OS1 components
are used by the current factory instead of this retained D1 scene.

`program/d1/body-source.json`, generated by `scripts/prepare-d1-body.py`, records
the body transforms, native envelopes and source-file hashes. The renderer
loads the pinned Draco derivatives through `src/factory-assets.js`.
`public/images/d1-study.png` is a direct browser capture of the restored body,
not a photograph of constructed hardware. This revision's source and records
remain in the repository without a published HTML entry point.

## Factory source records

The restored visualization at `index.html` combines attributed open-source CAD with repository-authored
parametric presentation geometry. `Source CAD` below means geometry derived from
the named upstream files. `Authored parametric` means geometry generated by this
repository; it is not vendor CAD or validated production tooling. Retained
references are bundled for provenance. The detailed process assignments below
describe the current factory; iCub, SO-101 and xArm assets are also used by the
retained D1 source as described above.

## OS1 open-source high-resolution DLP printer components

- Asset type: `Source CAD / adapted`; active in the digital twin
- Source: [OS1 open-source automated high-resolution DLP printer](https://github.com/3D-Printing-for-Microfluidics/OS1-An-Open-Source-Automated-High-Resolution-DLP-Printer-for-Microfluidic-Device-Fabrication), commit `4d22c9336c463551d0bf209a6fecb5391eb9edfa`
- Files used: source STEP solids for the resin-tray body, glass clamp, build
  platform, steel bracket, and alignment pin, plus locally tessellated STL
  derivatives for browser rendering
- License: CERN-OHL-S-2.0
- Local source and license: `public/models/os1/source/` and
  `public/licenses/OS1-CERN-OHL-S-2.0.txt`
- Runtime use: the tray body, tray clamp, build platform, and steel bracket are
  loaded. The alignment-pin source and browser mesh are retained locally but
  are not currently instantiated.
- Adaptation boundary: OS1 is a DLP printer. The exhibit uses selected OS1
  components inside an open-frame, conceptual custom-MSLA layout with an
  authored 16K LCD/mask/resin stack. It is not the complete OS1 assembly, an
  official OS1 MSLA conversion, or a physically validated printer design.

## LeRobot SO-101 de-plating arms

- Asset type: `Source robot CAD`; active in the digital twin
- Source: [TheRobotStudio SO-ARM100/SO-101 hardware repository](https://github.com/TheRobotStudio/SO-ARM100), commit `7629d2ad9853d10fb903093a33ef6114099d97e5`
- Files used: the official SO-101 calibrated URDF and all 13 referenced visual
  STL files for the printed structure, servos, wrist, and moving jaw
- License: Apache License 2.0
- Local license: `public/licenses/SO-ARM100-Apache-2.0.txt`
- Modifications: two native-metre, fully articulated instances are mounted
  on positioning slides at DE-PLATE 01 and assigned to opposite support-raft
  halves and centered print lanes. After separation, each real end effector
  performs actor-level pick-and-place into keyed preassembly nests; no SO-101
  transport arms are present elsewhere in the cell

## Underlying open-source chassis attribution

- Asset type: `Source robot CAD`; active in the digital twin
- Source: [Robotology iCub models](https://github.com/robotology/icub-models)
- Torso verification: official `iCubGazeboV2_7` URDF at master commit
  `dca8c618c264be70ce285bad38040411725e3551`; see
  [`public/models/icub/TORSO_SOURCE.md`](public/models/icub/TORSO_SOURCE.md)
- Model: `iCubGazeboV2_7`
- Files loaded: every mesh-bearing visual link in the official URDF — 39
  unique STL files spanning pelvis, legs, feet, torso, neck, head, arms,
  wrists, and hands. The official articulated hand, ankle, foot-shell, and sole
  visuals remain visible in the completed presentation.
- License: Creative Commons Attribution-ShareAlike 4.0 International
- Local license copy: `public/licenses/icub-models-CC-BY-SA-4.0.txt`
- Modifications: official transforms and official head/front-torso geometry are
  retained; the chest mesh's deep posterior cover is culled at runtime so it
  cannot present as a backpack; custom Voronoi cellular shading and independent
  cinematic assembly motion are applied; named backpack and battery-pack
  visual links are also excluded

## Open Bionics Ada five-digit hands (bundled reference, not active)

- Asset type: `Source CAD / reference`; not active in the digital twin
- Source: [official Open Bionics Ada 3D model repository](https://github.com/Open-Bionics/Ada_3D_model_files), commit `2dbf3cc6c5df112066f12c11af1d001e319a766f`
- Files used: the seven finished visible bodies from each left/right Ada v1.1
  Blender assembly — thumb, four fingers, palm, and dorsal cover — exported as
  Draco-compressed GLB without construction cutters, motors, or electronics
- License: Creative Commons Attribution-ShareAlike 4.0 International
- Local license copy: `public/licenses/ada-hand-CC-BY-SA-4.0.txt`
- Current use: retained as a licensed reference asset for the separate physical
  wrist/hand MVP; no Ada mesh is substituted into the cinematic iCub body

## Hugging Face LeRobot humanoid feet (bundled reference, not active)

- Asset type: `Source CAD / reference`; not active in the digital twin
- Source: [official LeRobot humanoid hardware repository](https://github.com/huggingface/lerobot-humanoid-hardware), commit `8171f5799b046f8a696e7b787a34226f119c4797`
- Files used: `foot_foot.stl` from the published left- and right-leg assemblies
- License: Apache License 2.0
- Local license copy: `public/licenses/lerobot-humanoid-hardware-Apache-2.0.txt`
- Current use: retained as a licensed reference asset; no LeRobot foot mesh is
  substituted into the cinematic iCub body

## Repository-authored parametric process hardware

- Asset type: `Authored parametric`; active in the digital twin
- Source and revision: the current repository workspace in `src/main.js`, with
  dimensions and roles recorded in `public/data/cell-manifest.v1.json`
- Local geometry: WASH 01, DE-PLATE 01, UV CURE 01, process support tables,
  carriers, receiving trays, and tray racks are generated from scene parameters
- License boundary: there is no separate vendor-machine CAD or machine-asset
  license for this code-authored geometry
- Claim boundary: these models communicate intended choreography. They do not
  define certified guarding, process chemistry, machine performance, structural
  dimensions, force limits, or commissioned manufacturing equipment.

## Zramics industrial process cells (retained reference)

- Asset type: `Authored reference / inactive`
- Source: the existing local Zramics project authored industrial asset catalog
- File retained: high-detail Generic Wash and Post-Process Cell GLB
- License: `LicenseRef-Zramics-Authored`
- Local license copy: `public/licenses/ZRAMICS-AUTHORED.txt`
- Current process use: not instantiated. The live wash station is one
  purpose-built procedural IPA immersion tank so unrelated tool-cell processes
  do not appear beside the bath; de-plating and UV-cure geometry is authored
  in-scene.
- The Zramics printer GLB is deliberately not loaded: this scene already has a
  single printer enclosure and adding another printer created a false inner chamber.

## Derived web-delivery geometry

- Asset type: `Deterministic derived geometry`; active in the browser simulation
- Generator: `scripts/prepare-simulation-assets.mjs`
- Manifest: `public/data/web-assets.v1.json`
- Inputs: the active OS1, LeRobot SO-101, Robotology iCub, and UFACTORY xArm STL
  files documented above and below
- Outputs: standalone Draco `.drc` meshes under `public/models/web/`
- Transformation: vertex indexing, normal preservation, 14-bit position
  quantization, and Draco mesh encoding; no decimation, remodeling, hierarchy
  change, material change, or replacement geometry
- Size: 35.27 MB of authoritative source STL becomes 7.32 MB of derived browser
  geometry. Each manifest entry includes the source SHA-256 and both byte sizes.
- License: every derivative remains governed by its corresponding source asset
  license. The derived files do not create a new licensing boundary.

## Thorlabs printer isolation workstations

- Asset type: `Reference-dimension parametric`; active in the digital twin
- Product reference: [ScienceDesk active-isolation workstation / SDA90120](https://www.thorlabs.com/images/Brochures/Thorlabs_Workstations_Brochure.pdf)
- Official reference configuration: 0.9 m x 1.2 m x 60 mm optical breadboard on
  a ScienceDesk frame with active isolation
- Visual features reused: perforated breadboard, steel frame, four isolation
  supports, removable lower shelf, and caster/leveling hardware
- Implementation: procedurally authored scene geometry scaled to support the
  conceptual printer enclosure; no Thorlabs CAD or texture asset is redistributed

## UFACTORY xArm 6 industrial arms

- Asset type: `Source robot CAD`; active in the digital twin
- Source: [official UFACTORY xArm ROS repository](https://github.com/xArm-Developer/xarm_ros), master commit `aad7e1611c9c46eb719045414394bfdd42dcb0f8`
- Files used: all seven official xArm 6 visual STL link meshes, seven official
  xArm Gripper G1 STL meshes, and their matching published joint origins
- License: BSD 3-Clause
- Local license copy: `public/licenses/xarm_ros-BSD-3-Clause.txt`
- Modifications: meshes are arranged into a live six-axis hierarchy, enlarged
  for the exhibit cell, and assigned presentation-grade PBR materials; the
  official gripper base, fingers, and inner/outer knuckles are arranged into
  the published animated mimic linkage; its base attaches to `link_eef` at the
  official zero translation and zero rotation rather than an artistic offset
