atproto Thingiverse but good
12

Configure Feed

Select the types of activity you want to include in your feed.

README.md

Renderer STEP conversion tooling#

This directory contains the OpenCascade.js build recipe and local measurement helpers for browser-side STEP conversion.

Dioxus app
  ├─ renderer worker: `polymodel-renderer-worker`
  └─ STEP conversion worker: `public/step_worker_loader.js` → `public/step_worker.js`

The STEP worker owns OpenCascade.js initialization, STEP import, tessellation, GLB export, and timing/error reporting. The app receives GLB bytes, creates a Blob object URL, and sends that URL to the existing renderer worker as MeshFormat::Gltf.

Expected OpenCascade.js artifacts#

The committed worker harness expects local/generated artifacts at:

public/vendor/opencascade/opencascade.js
public/vendor/opencascade/opencascade.wasm

These files are intentionally ignored by git. The current build is single-threaded, so it does not produce an opencascade.worker.js sidecar and does not require cross-origin isolation headers.

Custom build target#

opencascade.yml records the intended single-threaded STEP→GLB build.

To build and stage the custom artifact from Docker:

just build-opencascade-step

The recipe uses donalffons/opencascade.js by default. Override with OPENCASCADE_JS_DOCKER_IMAGE=... if a different build image is needed.

Full npm control#

To stage the published full build for a browser control run:

node tools/renderer-step/prepare-full-npm-control.mjs
node tools/renderer-step/measure-assets.mjs

This copies only the published JS/WASM pair into public/vendor/opencascade/; it does not add npm dependencies or Cargo dependencies to the app.

See evidence.md for measurements and browser observations.