@lazyingart/labcanvas
v0.1.0
Published
AgInTi LabCanvas: agentic studio for editable scientific figures, CAD devices, and experiment design.
Maintainers
Readme
English · العربية · Español · Français · 日本語 · 한국어 · Tiếng Việt · 中文 (简体) · 中文(繁體) · Deutsch · Русский
| Donate | PayPal | Stripe |
| --- | --- | --- |
| |
|
|
What It Does
AgInTi LabCanvas is a small local control plane for agent-assisted scientific visuals and app automation. It keeps generated figures editable: an overview image can start an idea, but final outputs are rebuilt from atomic parts, scene specs, CAD files, manifests, and tool-specific artifacts.
Current Highlights
| Area | What is ready | Entry point |
| --- | --- | --- |
| Web studio | Chat, bright UI, artifact canvas, backend settings, multilingual UI | labcanvas web --port 8787 --open |
| Paper figures | Exact NxM SVG grids, AgInTi image dry-run payloads, editable artifact manifest | docs/EDITABLE_FIGURE_PIPELINE.md |
| 3D setup renders | JSON scene specs to Blender PNG and .blend output | docs/SCENE_SPEC.md |
| CAD devices | OpenSCAD exports and C-mount reflector adapter CAD | cad/README.md |
| PCB manufacturing | KiCad HYBEC lamp board, DRC/ERC, JLCPCB Gerber ZIP | pcb/hybec-hbl-273-g4 |
| App routing | Blender, BioRender, Unity, Unreal, and custom target dispatch | docs/RESEARCH.md |
Quick Start
Run from a source checkout:
PYTHONPATH=src python -m agenticapp list
PYTHONPATH=src python -m agenticapp doctor
PYTHONPATH=src python -m agenticapp web --port 8787 --open
PYTHONPATH=src python -m agenticapp studio figure-grid "optical device icons 2x3" --rows 2 --cols 3
PYTHONPATH=src python -m unittest discover -s testsThe npm package has been renamed in this repository to @lazyingart/labcanvas, with labcanvas as the primary CLI and app-auto-action / agenticapp kept as compatibility aliases. The new npm package still needs a fresh authenticated publish; until then, use the source checkout or the previously published package name.
# After the renamed npm package is published:
npm install -g @lazyingart/labcanvas
labcanvas --version
labcanvas webapp start --port 19473Studio Workflow
- Start with chat or a saved JSON scene spec.
- Generate overview concepts through AgInTi image payloads or another image backend.
- Split the figure into editable atoms: panels, icons, labels, CAD parts, renders, and TeX assembly layers.
- Use BioRender for academic assets, OpenSCAD for mechanical layout, Blender for 3D setup renders, and KiCad for PCB artifacts.
- Keep every artifact in the canvas manifest so later chat edits can target one part instead of flattening the whole figure.
Example Commands
labcanvas scene-template experiment-setup --output my-setup.scene.json
labcanvas render-scene my-setup.scene.json --dry-run
labcanvas render-scene my-setup.scene.json --output-dir output/scenes
labcanvas studio openscad examples/paper-optics-setup.scene.json
labcanvas studio dispatch blender "Prepare an editable paper figure setup"For a local Blender bridge test:
scripts/install_blender_portable.sh
labcanvas --config configs/blender-local-command.example.json doctor
labcanvas --config configs/blender-local-command.example.json dispatch blender "Draw a welcoming modern building with a tower"Architecture
Agent / MCP client / CLI / web chat
|
| dry-run, render, export, dispatch
v
AgInTi LabCanvas
|
| target registry + artifact manifest
v
Blender · OpenSCAD · BioRender · AgInTi · KiCad · Unity · UnrealEvery target dispatch receives a reviewable JSON envelope:
{
"target": "blender",
"kind": "blender",
"instruction": "Create a red cube at the origin",
"payload": {},
"metadata": {
"source": "labcanvas"
}
}Copy configs/targets.example.json to labcanvas.targets.json for local ports, commands, and tokens. This override file is ignored by git.
Validation
npm test
npm run pack:dry-run
PYTHONPATH=src python -m agenticapp doctorKeep transport behavior covered by tests before adding live editor features. Review SECURITY.md before enabling live dispatch to editor bridges or browser sessions.

