---
name: procedural-objects
description: "Create lightweight editable 3D objects from geometric primitives. Use for geometry, objects, materials."
---

# Процедурные 3D-объекты

Create lightweight editable 3D objects from geometric primitives.

## Implementation decisions

1. Choose a domain-matching builder from the object registry. Core models live in objects.ts; additional product, industrial, nature and science models live in extended-models.ts.
2. Keep parts in local coordinates under a single group.
3. Use meaningful roughness and lighting; do not describe an abstract primitive as a branded product.
4. Reuse the builder or export glTF; document model and dependency ownership.

## Working source

Read [lib/objects.ts](../webcraft-shared/source/lib/objects.ts) when implementing this capability. The example belongs to the WEBCRAFT React/Three.js playground except the Python commerce starter, which runs without third-party dependencies. Use [shared catalog](../webcraft-shared/source/lib/catalog.ts) only to resolve related examples. Adapt the source to the target framework and preserve existing project conventions.

The original workshop uses Three.js 0.180 and procedural builders. The external asset viewer separately loads licensed glTF, scanned PBR maps and HDRIs. Preserve the provenance of each corpus. See [objects.ts](../webcraft-shared/source/lib/objects.ts) for material and geometry ownership and [scene.tsx](../webcraft-shared/source/components/scene.tsx) for renderer lifecycle.

## Verify observable behavior

- All parts transform together.
- Color and wireframe reach each mesh.
- Models contain no borrowed third-party branding.

## Scope

Use only the parts relevant to the requested task. This skill does not grant permission to publish, spend money, change account access or expose secrets. The original brief and environment rules remain authoritative.

Live example: https://webcraft-skill-library.undrgrnd.chatgpt.site/demos/3d

Version 2.0.0 · Original WEBCRAFT content · MIT
