Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 1.88 KB

File metadata and controls

42 lines (35 loc) · 1.88 KB

Contributing to Amagine3D

简体中文查看中文版

Use Node.js 22.19.0 or newer, Python 3.10 through 3.13, and npm.

npm ci
npm run python:setup
npm run typecheck
npm test
npm run test:python
npm run build

The PNG evidence renderer is a headless CPU Z-buffer implemented with trimesh, NumPy, and Pillow. It renders five views sequentially in one process. Use npm run benchmark:renderer to record small, medium, and larger STL timings, peak memory, and triangle counts. The renderer defaults to 1x; the five-view output is 640 pixels, and 2x supersampling is opt-in. Its pathlib-based, single-process path is covered on Ubuntu and Windows in CI and uses the same headless code on macOS.

Keep browser code behind the local API boundary. React must not access model credentials, Codex state, product session records, uploads, or session workspaces directly. Server artifact routes must keep every path inside the selected session's workspace/sessions/<sessionId>/ directory. Only packages/a3d-runtime may import @openai/codex or @openai/codex-sdk; application server code must use the package's public runtime contracts. The runtime package must not import from server/ or src/.

Submit one focused change with tests and documentation for new public behavior. Automated tests must not call real model providers. Provider-backed CAD runs are manual checks and must not commit credentials, private prompts, uploads, generated workspaces, or unstable golden text. Keep .env, .amagine-state/, workspace/, and .venv/ out of commits.

For UI changes, record the browser version, exact route, screenshots or artifact evidence, and known limitations. Changes to skills or CAD execution should include focused tests for discovery, path isolation, and generated-artifact validation. Security issues follow SECURITY.md, not a public issue.