escad
is a platform for programmatic computer-aided design. It includes a 3D
modeler, which allows one to create parametric 3D models by writing code. It is
comprised of many parts, the primary of which are:
- Core: a highly abstracted system including a versatile chaining API, a powerful conversion engine, and a flexible artifact manager
- Renderer: processes the user's file via core and interfaces with the server about it
- Server: manages interactions between the renderer and the client
- Client: displays a web-based interface with framing UI for parameters, viewers, hierarchies, logs, and server communication status
- Playground: provides a complete IDE experience by combining all of the above with dynamic transpilation via a service worker, a full-featured editor with custom support for fully-typed remote imports, and local storage and remote url sharing
None of the above parts include any support for 3D modeling. This is by
design — escad
is use-case agnostic. The 3D modeling library is completely
separate, and is optional.
escad
has been designed and written to be very extensible; users can extend
escad
's functionality arbitrarily (e.g. adding support for 2D modeling, data
analysis, or physics simulation) without modifying any of escad
's internal
logic.