Web-native scientific execution, visualization, and control layer for the qFoldIT Scientific Fabric.
WEB-TOOLBELT is the browser-facing experience and execution adapter of qFoldIT. It provides a lightweight 3D environment, local interaction physics, telemetry, scientific-state visualization, and an adapter boundary for MCP/WebMCP-driven orchestration.
It is intentionally not a scientific solver and does not embed heavyweight Python, ML, or quantum workloads in the browser. It consumes canonical scientific state produced by qFoldIT services and exposes browser capabilities through a stable tool interface.
Physical / Experimental Sources
│
▼
Observation Adapters
(e.g. DropleX)
│
▼
qFoldIT Scientific Services
(bio-ml / rosetta / autoresearch / quantum-adapter / plant / ...)
│
▼
Canonical Scientific State
│
├───────────────┬────────────────┐
▼ ▼ ▼
WEB-TOOLBELT Virtual Lab Engine Adapters
Web / 3D Simulation UEFN / Unity / UNIGINE
│ │ │
└───────────────┼────────────────┘
▼
Human + AI interaction
- Canonical state first — tools consume and produce normalized qFoldIT state rather than engine-specific data.
- Adapters over coupling — scientific solvers, video analysis, engines, and UI transports remain replaceable.
- Browser-native execution — Three.js/WebGL/WebGPU and Rapier.js/WASM provide the local runtime.
- MCP/WebMCP boundary — AI orchestration talks to declared capabilities, not internal implementation details.
- Scientific backend stays authoritative — browser physics is for interaction and visualization; authoritative scientific calculations remain external.
- Replay and live observation — the same observation schema can represent recorded experiments and live streams.
- Engine portability — the canonical state is designed to be consumable by Web, UEFN, Unity, and UNIGINE adapters.
- Three.js scene runtime
- Rapier.js physics runtime
- canonical scientific-state types
- tool registry and tool declarations
- browser MCP/WebMCP bridge abstraction
- qFoldIT Gateway client abstraction
- observation and trajectory types
- DropleX HTTP adapter contract
- scene, physics, and telemetry tools
- scientific-state loading tools
- video-analysis tool contracts
- adapter registry
- event-driven UI
qFoldIT WEB-TOOLBELT is designed to integrate and interoperate with external scientific and educational work. Where this repository uses concepts, workflows, interfaces, or integration requirements derived from external projects, the originating work is explicitly acknowledged.
The qFoldIT integration architecture acknowledges Neil Voss / VossLab and the Virtual-Lab-Simulation project as an upstream/reference work for browser-based laboratory simulation and scientific 3D interaction.
- Project: https://github.com/qfoldit/Virtual-Lab-Simulation
- Author / project attribution: Neil Voss / VossLab
- qFoldIT use: integration and interoperability boundary; scientific laboratory visualization and simulation concepts are kept behind adapter contracts.
No claim is made that Neil Voss authored qFoldIT WEB-TOOLBELT source code unless a specific file or contribution is separately identified.
The qFoldIT integration architecture acknowledges Silvia Holler and the DropleX work used as the reference observation/tracking pipeline for video analysis and active-matter experiments.
- Project: https://github.com/skandiz/DropleX
- Contributor / scientific attribution: Silvia Holler
- qFoldIT use: the WEB-TOOLBELT DropleX adapter defines a replaceable boundary for recorded-video analysis and live observation workflows.
The DropleX project and its source code remain under their original license and ownership. qFoldIT WEB-TOOLBELT does not relicense external DropleX code.
For attribution and external-work details, see ATTRIBUTIONS.md and THIRD_PARTY_NOTICES.md.
The repository does not vendor DropleX, Python scientific solvers, OpenMM/Rosetta/RDKit, quantum backends, or qFoldIT Kubernetes infrastructure. Those systems are accessed through qFoldIT services and adapters.
This separation preserves independent licensing, provenance, deployment, and upgrade paths for external systems.
Browser file
↓
optional ffmpeg.wasm preprocessing
↓
qFoldIT Gateway
↓
DropleX adapter
↓
tracking observations
↓
3D visualization
RTSP / MJPEG camera
↓
qFoldIT Stream Gateway
↓
frame sampling / protocol conversion
↓
DropleX adapter
↓
observation stream
↓
WEB-TOOLBELT
RTSP termination is intentionally server-side.
WEB-TOOLBELT is a peer of the qFoldIT engine toolbelts:
Canonical Scientific State
↓
Experience / Engine Adapter
↓
UEFN | Unity | UNIGINE | Web
The web implementation is therefore not a dependency of the engine implementations. The common dependency is the canonical qFoldIT state and capability contract.
Requirements: Node.js 20+, npm.
npm install
npm run devBuild:
npm run buildPreview:
npm run previewCopy .env.example to .env.local:
VITE_QFOLDIT_GATEWAY_URL=http://localhost:8080
VITE_QFOLDIT_OBSERVATION_WS=ws://localhost:8080/observations
VITE_WEBMCP_ENABLED=true
Never put private credentials in browser configuration.
This repository follows the qFoldIT Toolbelt licensing and visible-attribution standard. Derivative tools, plugins, applications, or services that use, derive from, or are substantially built upon this codebase or its architecture must provide a visible credit naming qFoldIT and linking to this repository.
Recommended credit:
Built on qFoldIT WEB-TOOLBELT by qFoldIT (https://github.com/qfoldit/WEB-TOOLBELT)
qFoldIT WEB-TOOLBELT is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.
Third-party software, libraries, research projects, datasets, assets, and external services retain their own licenses and attribution requirements. This repository does not grant rights to third-party intellectual property.
This repository is an architectural foundation and integration layer. It does not claim that the qFoldIT Gateway, DropleX backend, external scientific services, or production camera infrastructure are already deployed.