Parametrix's logo

Parametrix

Parametrix's logo Parametrix's logo Parametrix's logo Parametrix's logo
Technical drawing --- Dessin industriel --- 2D parametric designs --- Software defined modelling

Parametrix

Presentation

This is a monorepo that contains the following javascript packages:

  1. geometrix: the core library of parametrix
  2. designix: the first library of designs implemeted with geometrix
  3. geomui: the svelte library for creating easily a web-ui for geometrix-designs
  4. geomcli: the nodejs library for creating easily scripts and cli for geometrix-designs
  5. designix-script-ts: a nodejs script that showcases the usage of geomcli in tyepscript
  6. designix-script-js: a nodejs script that showcases the usage of geomcli in javascript
  7. designix-cli: a nodejs cli that showcases the usage of geomcli
  8. designix-ui: a sveltekit app that showcases geomui in a minimalist way
  9. designix-uis: a mini-web-server for distributing designix-ui via npm
  10. paramui: the main parametrix web-ui containing designix designs and various documentation

A public instance of paramui is available on that github-page. The code source is available on github.

Packages details

idpackage namelib or appbrowser envnodejs envpublished
1geometrixlibyesyesgeometrix
2designixlibyesyesdesignix
3geomuilibyesgeomui
4geomclilibyesgeomcli
5designix-script-tsappyes
6designix-script-jsappyes
7designix-cliappyesdesignix-cli
8designix-uiappyes
9designix-uisappyesdesignix-uis
10parami-uiappyes

Outcome of Parametrix

3D models created with Parametrix can be viewed and downloaded on the following websites:

Prerequisite

  • node version 22.0.0 or higher
  • npm version 11.0.0 or higher

Starting a Parametrix project

The helper script create-parametrix generates the boilerplate for bootstraping a Parametrix project. The boilerplate is functional. It uses the Parametrix libraries geometrix, geomcli and geomui.

npm create parametrix@latest
# or
# npm create parametrix@latest Sam08
cd parameBlabla
npm install
git init && git add -A && git commit -m "Initial commit" # optional
inkscape pkg/desiBlabla/src/myGroup1/svg/src_myBox.svg # optional
vim pkg/desiBlabla/src/myGroup1/myBox.ts # optional
npm run ci
npm run preview
npm run clean # optional

Develop the Parametrix core libraries

git clone https://github.com/charlyoleg2/parametrix
cd parametrix
npm i
npm run ci
npm run preview

Other useful commands:

npm run ci2
npm run clean
npm run ls-pkg
npm -w geometrix run check
npm -w designix run build
npm -w paramui run dev

Dev with Deno

You can also compile Parametrix with Deno 2.0.

git clone https://github.com/charlyoleg2/parametrix
cd parametrix
deno install
deno task ci
deno task preview

Dev with Bun

You can also compile Parametrix with Bun.

git clone https://github.com/charlyoleg2/parametrix
cd parametrix
bun install
bun run ci
bun run preview

Publish a new release

npm run versions
git commit -am 'increment sub-package versions'
npm version patch
git push
git push origin v0.5.6