Skip to content

feat(geospec): Add geometry specification testing package#223

Open
rifont wants to merge 221 commits into
mainfrom
geospec
Open

feat(geospec): Add geometry specification testing package#223
rifont wants to merge 221 commits into
mainfrom
geospec

Conversation

@rifont

@rifont rifont commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Note

Medium Risk
GeoSpec and test_model change how agents validate CAD output end-to-end; API/chat RPC and dev-server lifecycle changes affect local dev and reconnect behavior, though CI adds integration coverage for API storage/DB.

Overview
Adds geospec as a Vitest-style geometry testing stack (describe/it/expectGeo, loadModel, STEP/BRep matchers, CLI filters/JSON) and routes agent verification through test_model over chat RPC instead of the removed edit_tests / test.json flow.

Runtime & analysis: headless paths now pass defineRuntime({ kernels, bundlers }) into inProcessTransport; geometry analysis tests align bounding-box expectations with Z-up raw GLB from the runtime.

API & chat: registers PublicationsModule, hardens dev Vite/Nest lifecycle (serialized app.init, SSR-loaded unhandled-rejection handler), adds chat RPC protocol version checks on join, improves RPC output validation and abort/shutdown handling, and expands .env.example/CI with S3, view-cookie, and a Postgres + MinIO API test job.

Tooling & policy: agent skills/docs shift to ESM-only package templates, geometry naming for new kernels, new create-reference / create-skill skills, and broad learned-rules updates; oxlint ignores generated GeoSpec OpenCascade natives.

Reviewed by Cursor Bugbot for commit a02c4e9. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • New Features

    • GeoSpec: a standalone CAD geometry testing library (describe/it/expectGeo), CLI with filtering/JSON output, and browser/worker/node runners
    • Integrated GeoSpec into test_model tool and UI (run GeoSpec tests via RPC; updated tool text)
    • STEP/BRep loading, native OpenCascade mesh distance & component-overlap analysis, parameterized test support
  • Documentation

    • Added/updated READMEs and examples for GeoSpec, native OpenCascade, and testing adapters
  • Bug Fixes & Removals

    • Removed legacy edit_tests tool and test.json workflow in favor of GeoSpec-based tests

@netlify

netlify Bot commented Jun 2, 2026

Copy link
Copy Markdown

Deploy Preview for taucad-staging canceled.

Name Link
🔨 Latest commit 6aef5c9
🔍 Latest deploy log https://app.netlify.com/projects/taucad-staging/deploys/6a5860d30fe59b000806a0e2

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

API Preview 🐙

Status: ❌ Deployment Failed
API URL: https://tau-api-pr-223.fly.dev

@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Too many files!

This PR contains 2036 files, which is 1986 over the limit of 50.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ff89de43-b5cb-4ca0-91a9-afb2c7e7732a

📥 Commits

Reviewing files that changed from the base of the PR and between ef6a256 and 6aef5c9.

⛔ Files ignored due to path filters (24)
  • apps/ui/app/components/icons/generated/sprite.svg is excluded by !**/*.svg, !**/generated/**
  • apps/ui/app/components/icons/generated/svg-icons.d.ts is excluded by !**/generated/**
  • apps/ui/app/components/icons/raw/grok.svg is excluded by !**/*.svg
  • apps/ui/app/components/icons/raw/minimax.svg is excluded by !**/*.svg
  • apps/ui/app/routes/_index/tau-desktop-dark.jpg is excluded by !**/*.jpg
  • apps/ui/app/routes/_index/tau-desktop-light.jpg is excluded by !**/*.jpg
  • apps/ui/public/fonts/Geist-Variable.woff2 is excluded by !**/*.woff2
  • apps/ui/public/fonts/GeistMono-Variable.woff2 is excluded by !**/*.woff2
  • docs/assets/tau-desktop-dark.jpg is excluded by !**/*.jpg
  • docs/assets/tau-desktop-light.jpg is excluded by !**/*.jpg
  • docs/research/assets/z-fighting-coincident-faces.png is excluded by !**/*.png
  • infra/seed/default-og.png is excluded by !**/*.png
  • kernels/openscad/src/wasm/manifold.wasm is excluded by !**/*.wasm
  • libs/api-extractor/src/generated/geospec/geospec.bundled.json is excluded by !**/generated/**
  • libs/api-extractor/src/generated/replicad/modules/replicad/index.d.ts is excluded by !**/generated/**
  • libs/api-extractor/src/generated/replicad/replicad-api-data.json is excluded by !**/generated/**
  • libs/api-extractor/src/generated/replicad/replicad.bundled.json is excluded by !**/generated/**
  • libs/tau-examples/src/kernels/build123d/v8-engine-brep/__pycache__/main.cpython-313.pyc is excluded by !**/*.pyc
  • libs/tau-examples/src/kernels/replicad/logo-keychain/assets/logo.svg is excluded by !**/*.svg
  • packages/geospec/native/opencascade/geospec_opencascade_single.wasm is excluded by !**/*.wasm
  • packages/render/rust/Cargo.lock is excluded by !**/*.lock
  • packages/render/rust/render-core/assets/matcap-soft.png is excluded by !**/*.png
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • scripts/dist/repos.js is excluded by !**/dist/**
📒 Files selected for processing (2612)
  • .agents/skills/brep-design/SKILL.md
  • .agents/skills/brep-design/additive-dfm.md
  • .agents/skills/brep-design/dfm-checklists.md
  • .agents/skills/brep-design/reference.md
  • .agents/skills/create-lint-rule/SKILL.md
  • .agents/skills/create-llm/SKILL.md
  • .agents/skills/create-llm/model-catalog-checklist.md
  • .agents/skills/create-package/SKILL.md
  • .agents/skills/create-reference/SKILL.md
  • .agents/skills/create-research/SKILL.md
  • .agents/skills/create-skill/SKILL.md
  • .agents/skills/new-kernel/SKILL.md
  • .agents/skills/package-release/SKILL.md
  • .claude/skills
  • .cursor/plans/autonomous_kernel_topology_108929fd.plan.md
  • .cursor/plans/complete_kernel_architecture_e7e72105.plan.md
  • .cursor/plans/filesystem_100%_overhaul_b20504f4.plan.md
  • .cursor/plans/filesystem_architecture_overhaul_254e24aa.plan.md
  • .cursor/plans/filesystem_watch-based_overhaul_02a349e3.plan.md
  • .cursor/plans/kernel_api_v2_redesign_1764ecb9.plan.md
  • .cursor/plans/kernel_migration_to_packages_kernels_aba3bdb8.plan.md
  • .cursor/plans/kernel_runtime_architecture_b5596c71.plan.md
  • .cursor/plans/named_export_migration_dccceadb.plan.md
  • .cursor/plans/opencascade_monaco_types_f18ff134.plan.md
  • .cursor/plans/optimized_wasm_build_c2b67e47.plan.md
  • .cursor/plans/pipeline_timing_via_phase_attributes_2986ef79.plan.md
  • .cursor/plans/pnpm_catalog_integration_f8ed738c.plan.md
  • .cursor/plans/wasm_size_optimization_288da51b.plan.md
  • .cursor/rules/context-engineering.mdc
  • .cursor/rules/learned-api.mdc
  • .cursor/rules/learned-chat.mdc
  • .cursor/rules/learned-deployment.mdc
  • .cursor/rules/learned-filesystem.mdc
  • .cursor/rules/learned-graphics-stack.mdc
  • .cursor/rules/learned-runtime.mdc
  • .cursor/rules/learned-test-authoring.mdc
  • .cursor/rules/learned-tooling.mdc
  • .cursor/rules/learned-typescript.mdc
  • .cursor/rules/learned-ui.mdc
  • .github/workflows/ci.yml
  • .github/workflows/claude.yml
  • .gitignore
  • .npmrc
  • .oxlintrc.json
  • AGENTS.md
  • apps/api/.env.example
  • apps/api/.env.test
  • apps/api/README.md
  • apps/api/app/api-dev-vite-node-lifecycle.test.ts
  • apps/api/app/api-dev-vite-node-lifecycle.ts
  • apps/api/app/api-unhandled-rejection-handler.test.ts
  • apps/api/app/api-unhandled-rejection-handler.ts
  • apps/api/app/api/analysis/geometry-analysis.service.test.ts
  • apps/api/app/api/api.module.ts
  • apps/api/app/api/chat/chat-exception.filter.ts
  • apps/api/app/api/chat/chat-rpc.gateway.test.ts
  • apps/api/app/api/chat/chat-rpc.gateway.ts
  • apps/api/app/api/chat/chat-rpc.service.test.ts
  • apps/api/app/api/chat/chat-rpc.service.ts
  • apps/api/app/api/chat/chat.controller.json-schema.test.ts
  • apps/api/app/api/chat/chat.controller.provider-error-logging.test.ts
  • apps/api/app/api/chat/chat.controller.spec.ts
  • apps/api/app/api/chat/chat.controller.ts
  • apps/api/app/api/chat/chat.module.ts
  • apps/api/app/api/chat/chat.service.test.ts
  • apps/api/app/api/chat/chat.service.ts
  • apps/api/app/api/chat/checkpoint-durability.integration.test.ts
  • apps/api/app/api/chat/clear-recent-reads.test.ts
  • apps/api/app/api/chat/clear-recent-reads.ts
  • apps/api/app/api/chat/compaction.service.test.ts
  • apps/api/app/api/chat/compaction.service.ts
  • apps/api/app/api/chat/cross-provider-tool-call-replay.test.ts
  • apps/api/app/api/chat/eager-dispatch/eager-tool-dispatch.handler.ts
  • apps/api/app/api/chat/interrupted-tool-roundtrip.test.ts
  • apps/api/app/api/chat/middleware/agent-safeguards.middleware.test.ts
  • apps/api/app/api/chat/middleware/agent-safeguards.middleware.ts
  • apps/api/app/api/chat/middleware/client-context.middleware.test.ts
  • apps/api/app/api/chat/middleware/client-context.middleware.ts
  • apps/api/app/api/chat/middleware/compaction-transcript.ts
  • apps/api/app/api/chat/middleware/compaction.middleware.test.ts
  • apps/api/app/api/chat/middleware/compaction.middleware.ts
  • apps/api/app/api/chat/middleware/context-usage.middleware.test.ts
  • apps/api/app/api/chat/middleware/context-usage.middleware.ts
  • apps/api/app/api/chat/middleware/cross-provider-content-normalizer.middleware.test.ts
  • apps/api/app/api/chat/middleware/cross-provider-content-normalizer.middleware.ts
  • apps/api/app/api/chat/middleware/interrupt-recovery.middleware.ts
  • apps/api/app/api/chat/middleware/message-content-sanitizer.middleware.test.ts
  • apps/api/app/api/chat/middleware/message-content-sanitizer.middleware.ts
  • apps/api/app/api/chat/middleware/prompt-caching.middleware.test.ts
  • apps/api/app/api/chat/middleware/prompt-caching.middleware.ts
  • apps/api/app/api/chat/middleware/provider-diagnostics.middleware.ts
  • apps/api/app/api/chat/middleware/recent-skills.middleware.test.ts
  • apps/api/app/api/chat/middleware/recent-skills.middleware.ts
  • apps/api/app/api/chat/middleware/token-usage-context.middleware.ts
  • apps/api/app/api/chat/middleware/tool-input-compatibility.middleware.test.ts
  • apps/api/app/api/chat/middleware/tool-input-compatibility.middleware.ts
  • apps/api/app/api/chat/middleware/tool-offloading.middleware.test.ts
  • apps/api/app/api/chat/middleware/tool-offloading.middleware.ts
  • apps/api/app/api/chat/middleware/tool-result-budget.middleware.test.ts
  • apps/api/app/api/chat/middleware/tool-result-budget.middleware.ts
  • apps/api/app/api/chat/middleware/tool-result-retention.ts
  • apps/api/app/api/chat/middleware/tool-result-trimmer.middleware.test.ts
  • apps/api/app/api/chat/middleware/tool-result-trimmer.middleware.ts
  • apps/api/app/api/chat/parallel-tool-call.test.ts
  • apps/api/app/api/chat/prompts/cad-agent.prompt.test.ts
  • apps/api/app/api/chat/prompts/cad-agent.prompt.ts
  • apps/api/app/api/chat/prompts/cad-name.prompt.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/jscad.prompt.config.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/jscad.prompt.example-multifile/lib/widget.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/jscad.prompt.example.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/kernel.prompt.config.test.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/kernel.prompt.config.types.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/manifold.prompt.config.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/opencascadejs.prompt.config.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/openscad.prompt.config.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/replicad.prompt.config.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/replicad.prompt.example-multishape.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/replicad.prompt.example.ts
  • apps/api/app/api/chat/prompts/kernel-prompt-configs/zoo.prompt.config.ts
  • apps/api/app/api/chat/prompts/name-prompts.test.ts
  • apps/api/app/api/chat/read-dedup-durability.integration.test.ts
  • apps/api/app/api/chat/recent-skills-namespace.ts
  • apps/api/app/api/chat/redis-read-dedup-store.test.ts
  • apps/api/app/api/chat/redis-read-dedup-store.ts
  • apps/api/app/api/chat/store.service.ts
  • apps/api/app/api/chat/tau-rpc-backend.test.ts
  • apps/api/app/api/chat/tau-rpc-backend.ts
  • apps/api/app/api/chat/token-budget.service.test.ts
  • apps/api/app/api/chat/token-budget.service.ts
  • apps/api/app/api/chat/tool-offloading.integration.test.ts
  • apps/api/app/api/chat/utils/ai-message-clone.test.ts
  • apps/api/app/api/chat/utils/ai-message-clone.ts
  • apps/api/app/api/chat/utils/assert-supported-approval-replay.test.ts
  • apps/api/app/api/chat/utils/assert-supported-approval-replay.ts
  • apps/api/app/api/chat/utils/chat-abort.test.ts
  • apps/api/app/api/chat/utils/chat-abort.ts
  • apps/api/app/api/chat/utils/compaction-errors.ts
  • apps/api/app/api/chat/utils/compaction-renderer.test.ts
  • apps/api/app/api/chat/utils/compaction-renderer.ts
  • apps/api/app/api/chat/utils/error-normalizer.test.ts
  • apps/api/app/api/chat/utils/error-normalizer.ts
  • apps/api/app/api/chat/utils/error-transform.test.ts
  • apps/api/app/api/chat/utils/format-compact-summary.test.ts
  • apps/api/app/api/chat/utils/format-compact-summary.ts
  • apps/api/app/api/chat/utils/inject-snapshot-context.test.ts
  • apps/api/app/api/chat/utils/inject-snapshot-context.ts
  • apps/api/app/api/chat/utils/merge-checkpoint-tail.test.ts
  • apps/api/app/api/chat/utils/merge-checkpoint-tail.ts
  • apps/api/app/api/chat/utils/provider-diagnostics.test.ts
  • apps/api/app/api/chat/utils/provider-diagnostics.ts
  • apps/api/app/api/chat/utils/provider-error-decoder.test.ts
  • apps/api/app/api/chat/utils/provider-error-decoder.ts
  • apps/api/app/api/chat/utils/provider-request-recorder.test.ts
  • apps/api/app/api/chat/utils/provider-request-recorder.ts
  • apps/api/app/api/chat/utils/provider-stream-error-log.ts
  • apps/api/app/api/chat/utils/reconcile-thread-messages.test.ts
  • apps/api/app/api/chat/utils/reconcile-thread-messages.ts
  • apps/api/app/api/chat/utils/snapshot-context.test.ts
  • apps/api/app/api/chat/utils/snapshot-context.ts
  • apps/api/app/api/chat/utils/tau-eager-tool-ui-transform.test.ts
  • apps/api/app/api/chat/utils/tau-eager-tool-ui-transform.ts
  • apps/api/app/api/chat/utils/tau-internal-message.test.ts
  • apps/api/app/api/chat/utils/tau-internal-message.ts
  • apps/api/app/api/chat/utils/to-base-messages-with-ids.test.ts
  • apps/api/app/api/chat/utils/to-base-messages-with-ids.ts
  • apps/api/app/api/chat/utils/transform-ai-message-content.test.ts
  • apps/api/app/api/chat/utils/transform-ai-message-content.ts
  • apps/api/app/api/chat/utils/validate-image-parts.test.ts
  • apps/api/app/api/chat/utils/validate-image-parts.ts
  • apps/api/app/api/file-edit/file-edit.service.ts
  • apps/api/app/api/health/health.controller.test.ts
  • apps/api/app/api/health/health.controller.ts
  • apps/api/app/api/health/health.module.ts
  • apps/api/app/api/health/s3-health.indicator.test.ts
  • apps/api/app/api/health/s3-health.indicator.ts
  • apps/api/app/api/kernels/kernels.gateway.ts
  • apps/api/app/api/models/langchain-google-dependency-resolution.test.ts
  • apps/api/app/api/models/model.constants.ts
  • apps/api/app/api/models/model.schema.ts
  • apps/api/app/api/models/model.service.test.ts
  • apps/api/app/api/models/model.service.ts
  • apps/api/app/api/providers/provider.schema.ts
  • apps/api/app/api/providers/provider.service.morph.test.ts
  • apps/api/app/api/providers/provider.service.ts
  • apps/api/app/api/providers/provider.service.xai.test.ts
  • apps/api/app/api/providers/xai-responses.adapter.test.ts
  • apps/api/app/api/providers/xai-responses.adapter.ts
  • apps/api/app/api/publications/project-share.controller.ts
  • apps/api/app/api/publications/publication-rate-limiter.service.test.ts
  • apps/api/app/api/publications/publication-rate-limiter.service.ts
  • apps/api/app/api/publications/publication-runtime.utils.test.ts
  • apps/api/app/api/publications/publication-runtime.utils.ts
  • apps/api/app/api/publications/publications.controller.test.ts
  • apps/api/app/api/publications/publications.controller.ts
  • apps/api/app/api/publications/publications.dto.test.ts
  • apps/api/app/api/publications/publications.dto.ts
  • apps/api/app/api/publications/publications.http.integration.test.ts
  • apps/api/app/api/publications/publications.module.ts
  • apps/api/app/api/publications/publications.service.test.ts
  • apps/api/app/api/publications/publications.service.ts
  • apps/api/app/api/publications/publish-multipart.decorator.test.ts
  • apps/api/app/api/publications/publish-multipart.decorator.ts
  • apps/api/app/api/publications/viewer-identity.decorator.ts
  • apps/api/app/api/publications/viewer-identity.fastify-augmentation.ts
  • apps/api/app/api/publications/viewer-identity.interceptor.ts
  • apps/api/app/api/publications/viewer-identity.service.test.ts
  • apps/api/app/api/publications/viewer-identity.service.ts
  • apps/api/app/api/publications/viewer-identity.types.ts
  • apps/api/app/api/tools/tool.service.test.ts
  • apps/api/app/api/tools/tool.service.ts
  • apps/api/app/api/tools/tools/tool-delete-file.ts
  • apps/api/app/api/tools/tools/tool-edit-tests.test.ts
  • apps/api/app/api/tools/tools/tool-edit-tests.ts
  • apps/api/app/api/tools/tools/tool-export-geometry.ts
  • apps/api/app/api/tools/tools/tool-get-kernel-result.ts
  • apps/api/app/api/tools/tools/tool-glob-search.ts
  • apps/api/app/api/tools/tools/tool-read-file.test.ts
  • apps/api/app/api/tools/tools/tool-read-file.ts
  • apps/api/app/api/tools/tools/tool-test-model.test.ts
  • apps/api/app/api/tools/tools/tool-test-model.ts
  • apps/api/app/api/tools/tools/tool-use-skill.test.ts
  • apps/api/app/api/tools/tools/tool-use-skill.ts
  • apps/api/app/api/websocket/dev-websocket.service.test.ts
  • apps/api/app/api/websocket/dev-websocket.service.ts
  • apps/api/app/app.module.ts
  • apps/api/app/auth/decorators/auth.decorator.ts
  • apps/api/app/auth/decorators/optional-user.decorator.test.ts
  • apps/api/app/benchmarks/model-benchmark-geometry.test.ts
  • apps/api/app/benchmarks/model-benchmark-geometry.ts
  • apps/api/app/benchmarks/model-benchmark-runner.ts
  • apps/api/app/benchmarks/model-benchmark-suite.ts
  • apps/api/app/config/better-auth.config.test.ts
  • apps/api/app/config/better-auth.config.ts
  • apps/api/app/config/environment.config.test.ts
  • apps/api/app/config/environment.config.ts
  • apps/api/app/database/README.md
  • apps/api/app/database/auth-schema.ts
  • apps/api/app/database/migrations/0003_publish_foundation.sql
  • apps/api/app/database/migrations/meta/0003_snapshot.json
  • apps/api/app/database/migrations/meta/_journal.json
  • apps/api/app/database/publication-schema.test.ts
  • apps/api/app/database/schema.ts
  • apps/api/app/email/email-link-builder.test.ts
  • apps/api/app/email/email-link-builder.ts
  • apps/api/app/email/email.service.test.ts
  • apps/api/app/email/email.service.ts
  • apps/api/app/fastify-cookie-registration.test.ts
  • apps/api/app/main.race.test.ts
  • apps/api/app/main.ts
  • apps/api/app/storage/concat-uint8-arrays.ts
  • apps/api/app/storage/object-storage.service.test.ts
  • apps/api/app/storage/object-storage.service.ts
  • apps/api/app/storage/sha256.utils.test.ts
  • apps/api/app/storage/sha256.utils.ts
  • apps/api/app/storage/storage.constants.ts
  • apps/api/app/storage/storage.module.ts
  • apps/api/app/telemetry/metrics.service.test.ts
  • apps/api/app/telemetry/metrics.ts
  • apps/api/app/testing/chat-reconciliation-haiku.integration.test.ts
  • apps/api/app/testing/chat-stream-abort.integration.test.ts
  • apps/api/app/testing/create-test-app.ts
  • apps/api/app/testing/gemini-function-call-replay.integration.test.ts
  • apps/api/app/testing/gemini-invalid-tool-call-empty-finish.integration.test.ts
  • apps/api/app/testing/gemini-test-model-bracket-alias-followup.integration.test.ts
  • apps/api/app/testing/geospec-harness-integration.test.ts
  • apps/api/app/testing/headless-rpc-filesystem.ts
  • apps/api/app/testing/middleware-integration.test.ts
  • apps/api/app/testing/middleware-testing.utils.ts
  • apps/api/app/testing/model-integration.test.ts
  • apps/api/app/testing/morph-model.integration.test.ts
  • apps/api/app/testing/skip-helpers.ts
  • apps/api/app/testing/stream-assertions.ts
  • apps/api/app/testing/xai-model.integration.test.ts
  • apps/api/app/types/runtime-client.alias.ts
  • apps/api/app/utils/smoke-cors-script.test.ts
  • apps/api/fly.prod.toml
  • apps/api/fly.staging.toml
  • apps/api/package.json
  • apps/api/project.json
  • apps/api/scripts/drizzle-generate-apikey-split.expect
  • apps/api/scripts/drizzle-generate-publish.expect
  • apps/api/scripts/inspect-checkpoint-tool-metadata.sh
  • apps/api/vite.config.ts
  • apps/api/vitest.setup.ts
  • apps/react-e2e/.gitignore
  • apps/react-e2e/apps/electron/electron.vite.config.ts
  • apps/react-e2e/apps/electron/package.json
  • apps/react-e2e/apps/electron/src/main/kernel-host.ts
  • apps/react-e2e/apps/electron/src/main/main.ts
  • apps/react-e2e/apps/electron/src/main/runtime-definition.ts
  • apps/react-e2e/apps/electron/src/preload/preload.ts
  • apps/react-e2e/apps/electron/src/renderer/index.html
  • apps/react-e2e/apps/electron/src/renderer/main.tsx
  • apps/react-e2e/apps/electron/tsconfig.json
  • apps/react-e2e/apps/electron/workspace/main.ts
  • apps/react-e2e/apps/nextjs/app/layout.tsx
  • apps/react-e2e/apps/nextjs/app/page.tsx
  • apps/react-e2e/apps/nextjs/app/runtime-client.tsx
  • apps/react-e2e/apps/nextjs/next-env.d.ts
  • apps/react-e2e/apps/nextjs/next.config.ts
  • apps/react-e2e/apps/nextjs/package.json
  • apps/react-e2e/apps/nextjs/runtime/runtime-definition.ts
  • apps/react-e2e/apps/nextjs/runtime/runtime.worker.ts
  • apps/react-e2e/apps/nextjs/tsconfig.json
  • apps/react-e2e/apps/react-router/app/main.tsx
  • apps/react-e2e/apps/react-router/app/runtime-client.tsx
  • apps/react-e2e/apps/react-router/app/runtime-definition.ts
  • apps/react-e2e/apps/react-router/app/runtime.worker.ts
  • apps/react-e2e/apps/react-router/index.html
  • apps/react-e2e/apps/react-router/package.json
  • apps/react-e2e/apps/react-router/tsconfig.json
  • apps/react-e2e/apps/react-router/vite.react-router.config.ts
  • apps/react-e2e/playwright.config.ts
  • apps/react-e2e/project.json
  • apps/react-e2e/specs/electron.spec.ts
  • apps/react-e2e/specs/nextjs.spec.ts
  • apps/react-e2e/specs/react-router.spec.ts
  • apps/react-e2e/support/RuntimeFixture.tsx
  • apps/react-e2e/support/browser-runtime-suite.ts
  • apps/react-e2e/support/glb-bounds.ts
  • apps/react-e2e/support/replicad-cylinder.ts
  • apps/runtime-e2e/package.json
  • apps/runtime-e2e/project.json
  • apps/runtime-e2e/scripts/benchmark-kernels.mts
  • apps/runtime-e2e/scripts/build-matrix-report.mts
  • apps/runtime-e2e/scripts/cjs-compat.cjs
  • apps/runtime-e2e/scripts/compare-benchmarks.mts
  • apps/runtime-e2e/src/benchmarks/benchmark-report.ts
  • apps/runtime-e2e/src/benchmarks/benchmark-runner.ts
  • apps/runtime-e2e/src/benchmarks/benchmark-suite.ts
  • apps/runtime-e2e/src/benchmarks/cpu-profiler.ts
  • apps/runtime-e2e/src/benchmarks/profile-analyzer.ts
  • apps/runtime-e2e/src/benchmarks/profile-report.ts
  • apps/runtime-e2e/src/geometry-cache-invalidation.test.ts
  • apps/runtime-e2e/src/geospec-suites.test.ts
  • apps/runtime-e2e/src/replicad-fixtures.test.ts
  • apps/runtime-e2e/src/replicad.test-fixtures.ts
  • apps/runtime-e2e/tsconfig.json
  • apps/runtime-e2e/tsconfig.spec.json
  • apps/runtime-e2e/vitest.config.ts
  • apps/ui-e2e/playwright.config.ts
  • apps/ui-e2e/src/birdhouse-preview.spec.ts
  • apps/ui-e2e/src/chat-image-carousel.spec.ts
  • apps/ui-e2e/src/graphics-backend.spec.ts
  • apps/ui-e2e/src/project-file-tree.spec.ts
  • apps/ui-e2e/src/section-view-clipped-picking.spec.ts
  • apps/ui-e2e/src/section-view-contour-fill.spec.ts
  • apps/ui-e2e/src/section-view-control-restyle.spec.ts
  • apps/ui-e2e/src/section-view-overlap-cap-shading.spec.ts
  • apps/ui-e2e/src/section-view-overlap-performance-diagnostics.spec.ts
  • apps/ui-e2e/src/theme-persistence.spec.ts
  • apps/ui-e2e/src/viewer-context-menu.spec.ts
  • apps/ui/app/chat-clients/use-cad-chat-client.test.tsx
  • apps/ui/app/chat-clients/use-cad-chat-client.ts
  • apps/ui/app/components/auth/api-key/create-api-key-dialog.test.tsx
  • apps/ui/app/components/auth/api-key/create-api-key-dialog.tsx
  • apps/ui/app/components/auth/forgot-password.test.tsx
  • apps/ui/app/components/auth/magic-link-verify.test.tsx
  • apps/ui/app/components/auth/magic-link-verify.tsx
  • apps/ui/app/components/cad-preview.test.tsx
  • apps/ui/app/components/cad-preview.tsx
  • apps/ui/app/components/cad/ar-button.test.tsx
  • apps/ui/app/components/cad/ar-button.tsx
  • apps/ui/app/components/cad/use-ar.ts
  • apps/ui/app/components/chat/at-reference-chip.test.tsx
  • apps/ui/app/components/chat/chat-context-actions.tsx
  • apps/ui/app/components/chat/chat-context-indicator.test.tsx
  • apps/ui/app/components/chat/chat-context-indicator.tsx
  • apps/ui/app/components/chat/chat-context-insertion.test.ts
  • apps/ui/app/components/chat/chat-context-insertion.tsx
  • apps/ui/app/components/chat/chat-model-selector.test.tsx
  • apps/ui/app/components/chat/chat-paste-handler.test.ts
  • apps/ui/app/components/chat/chat-paste-handler.ts
  • apps/ui/app/components/chat/chat-textarea-desktop-images.tsx
  • apps/ui/app/components/chat/chat-textarea-desktop.tsx
  • apps/ui/app/components/chat/chat-textarea-image-strip.test.tsx
  • apps/ui/app/components/chat/chat-textarea-image-strip.tsx
  • apps/ui/app/components/chat/chat-textarea-mobile-images.tsx
  • apps/ui/app/components/chat/chat-textarea-mobile.test.tsx
  • apps/ui/app/components/chat/chat-textarea-mobile.tsx
  • apps/ui/app/components/chat/chat-textarea-types.test.tsx
  • apps/ui/app/components/chat/chat-textarea-types.ts
  • apps/ui/app/components/chat/chat-textarea.tsx
  • apps/ui/app/components/chat/chat-tool-error.tsx
  • apps/ui/app/components/chat/chat-tool-file-operation.test.tsx
  • apps/ui/app/components/chat/chat-tool-file-operation.tsx
  • apps/ui/app/components/chat/chat-tool-selector.tsx
  • apps/ui/app/components/chat/context-chip.test.tsx
  • apps/ui/app/components/chat/context-chip.tsx
  • apps/ui/app/components/chat/tiptap/chat-editor.test.ts
  • apps/ui/app/components/chat/tiptap/context-chip-node.tsx
  • apps/ui/app/components/chat/tiptap/context-suggestion.utils.test.ts
  • apps/ui/app/components/chat/tiptap/slash-command-suggestion.tsx
  • apps/ui/app/components/chat/tiptap/suggestion-types.ts
  • apps/ui/app/components/chat/tiptap/use-chat-editor.test.ts
  • apps/ui/app/components/chat/tiptap/use-chat-editor.ts
  • apps/ui/app/components/code/code-block.tsx
  • apps/ui/app/components/code/code-viewer.tsx
  • apps/ui/app/components/code/diff-viewer.test.tsx
  • apps/ui/app/components/code/diff-viewer.tsx
  • apps/ui/app/components/docs/kernel-model-view.test.tsx
  • apps/ui/app/components/docs/kernel-model-view.tsx
  • apps/ui/app/components/files/export-format-grid.test.tsx
  • apps/ui/app/components/files/export-format-grid.tsx
  • apps/ui/app/components/files/export-format-groups.ts
  • apps/ui/app/components/files/export-selector.test.tsx
  • apps/ui/app/components/files/export-selector.tsx
  • apps/ui/app/components/files/open-render-button.ignore.test.ts
  • apps/ui/app/components/files/open-render-button.ignore.ts
  • apps/ui/app/components/files/open-render-button.test.tsx
  • apps/ui/app/components/files/open-render-button.tsx
  • apps/ui/app/components/files/use-export-to-disk.test.ts
  • apps/ui/app/components/files/use-export-to-disk.ts
  • apps/ui/app/components/geometry/cad/cad-viewer.tsx
  • apps/ui/app/components/geometry/cad/fov-control.test.tsx
  • apps/ui/app/components/geometry/cad/fov-control.tsx
  • apps/ui/app/components/geometry/cad/measure-control.tsx
  • apps/ui/app/components/geometry/cad/model-component-action-menu.test.tsx
  • apps/ui/app/components/geometry/cad/model-component-action-menu.tsx
  • apps/ui/app/components/geometry/cad/section-view-control.tsx
  • apps/ui/app/components/geometry/cad/viewer-model-component-action-menu.tsx
  • apps/ui/app/components/geometry/cad/viewer-overflow-controls.tsx
  • apps/ui/app/components/geometry/cad/viewer-settings.tsx
  • apps/ui/app/components/geometry/graphics/metadata/gltf-component-manifest.test.ts
  • apps/ui/app/components/geometry/graphics/metadata/gltf-component-manifest.ts
  • apps/ui/app/components/geometry/graphics/svg/svg-invalid-error.tsx
  • apps/ui/app/components/geometry/graphics/svg/svg-viewer.test.tsx
  • apps/ui/app/components/geometry/graphics/svg/svg-viewer.tsx
  • apps/ui/app/components/geometry/graphics/three/actor-bridge.test.tsx
  • apps/ui/app/components/geometry/graphics/three/actor-bridge.tsx
  • apps/ui/app/components/geometry/graphics/three/controls-listener-bridge.tsx
  • apps/ui/app/components/geometry/graphics/three/controls.test.ts
  • apps/ui/app/components/geometry/graphics/three/controls.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/selector-label-atlas.test.ts
  • apps/ui/app/components/geometry/graphics/three/controls/selector-label-atlas.ts
  • apps/ui/app/components/geometry/graphics/three/controls/tau-camera-controls.test.ts
  • apps/ui/app/components/geometry/graphics/three/controls/tau-camera-controls.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/transform-controls.test.ts
  • apps/ui/app/components/geometry/graphics/three/controls/transform-controls.ts
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-axes.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-controls-adapter.test.ts
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-controls-adapter.ts
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-cube.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-interaction-lock.test.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-interaction-lock.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-onshape.tsx
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-render-loop.test.ts
  • apps/ui/app/components/geometry/graphics/three/controls/viewport-gizmo-render-loop.tsx
  • apps/ui/app/components/geometry/graphics/three/geometries/bordered-extrusion-geometry.test.ts
  • apps/ui/app/components/geometry/graphics/three/geometries/bordered-extrusion-geometry.ts
  • apps/ui/app/components/geometry/graphics/three/materials/__shader-snapshots__/gltf-fat-line-webgpu-node-material.json
  • apps/ui/app/components/geometry/graphics/three/materials/__shader-snapshots__/striped-node-material-tinted.json
  • apps/ui/app/components/geometry/graphics/three/materials/__shader-snapshots__/striped-node-material-vertex-colored.json
  • apps/ui/app/components/geometry/graphics/three/materials/__shader-snapshots__/striped-node-material.json
  • apps/ui/app/components/geometry/graphics/three/materials/edge-depth-bias.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/edge-depth-bias.ts
  • apps/ui/app/components/geometry/graphics/three/materials/gltf-edges-webgl.material.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/gltf-edges-webgpu.material.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/gltf-edges.ts
  • apps/ui/app/components/geometry/graphics/three/materials/gltf-matcap.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/gltf-matcap.ts
  • apps/ui/app/components/geometry/graphics/three/materials/line2.material.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/line2.material.ts
  • apps/ui/app/components/geometry/graphics/three/materials/model-component-appearance.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/model-component-appearance.ts
  • apps/ui/app/components/geometry/graphics/three/materials/section-cap-depth-state.ts
  • apps/ui/app/components/geometry/graphics/three/materials/section-contour-outline-material.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/section-contour-outline-material.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material-tinted.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material-tinted.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material-tinted.tsl-snapshot.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material-vertex-colored.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material-vertex-colored.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material.node.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material.ts
  • apps/ui/app/components/geometry/graphics/three/materials/striped-material.types.ts
  • apps/ui/app/components/geometry/graphics/three/materials/viewport-control-material.test.ts
  • apps/ui/app/components/geometry/graphics/three/materials/viewport-control-material.ts
  • apps/ui/app/components/geometry/graphics/three/react/axes-helper.tsx
  • apps/ui/app/components/geometry/graphics/three/react/gltf-mesh.test.tsx
  • apps/ui/app/components/geometry/graphics/three/react/gltf-mesh.tsx
  • apps/ui/app/components/geometry/graphics/three/react/lights.test.tsx
  • apps/ui/app/components/geometry/graphics/three/react/lights.tsx
  • apps/ui/app/components/geometry/graphics/three/react/measure-tool.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-clipping-group.test.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-contour-fill.placement.test.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-contour-fill.reactivity.test.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-contour-fill.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-view-controls.test.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-view-controls.tsx
  • apps/ui/app/components/geometry/graphics/three/react/section-view-test-bridge.test.ts
  • apps/ui/app/components/geometry/graphics/three/react/section-view-test-bridge.tsx
  • apps/ui/app/components/geometry/graphics/three/react/transform-controls-drei.tsx
  • apps/ui/app/components/geometry/graphics/three/reversed-depth-transparent-sort.test.ts
  • apps/ui/app/components/geometry/graphics/three/reversed-depth-transparent-sort.ts
  • apps/ui/app/components/geometry/graphics/three/scene-overlay.test.tsx
  • apps/ui/app/components/geometry/graphics/three/scene-overlay.tsx
  • apps/ui/app/components/geometry/graphics/three/scene.tsx
  • apps/ui/app/components/geometry/graphics/three/stage.tsx
  • apps/ui/app/components/geometry/graphics/three/three-canvas-instance.test.tsx
  • apps/ui/app/components/geometry/graphics/three/three-canvas-instance.tsx
  • apps/ui/app/components/geometry/graphics/three/three-context.tsx
  • apps/ui/app/components/geometry/graphics/three/three-viewer-properties.ts
  • apps/ui/app/components/geometry/graphics/three/up-direction-handler.test.tsx
  • apps/ui/app/components/geometry/graphics/three/up-direction-handler.tsx
  • apps/ui/app/components/geometry/graphics/three/use-camera-reset.tsx
  • apps/ui/app/components/geometry/graphics/three/use-section-view.ts
  • apps/ui/app/components/geometry/graphics/three/utils/bvh-raycast.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/bvh-raycast.ts
  • apps/ui/app/components/geometry/graphics/three/utils/camera-controls-adapter.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/camera-controls-adapter.ts
  • apps/ui/app/components/geometry/graphics/three/utils/camera.utils.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/camera.utils.ts
  • apps/ui/app/components/geometry/graphics/three/utils/earcut-contour.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/earcut-contour.ts
  • apps/ui/app/components/geometry/graphics/three/utils/model-component-owner.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/model-component-owner.ts
  • apps/ui/app/components/geometry/graphics/three/utils/plane-mesh-contour.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/plane-mesh-contour.ts
  • apps/ui/app/components/geometry/graphics/three/utils/raf-coalescer.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/raf-coalescer.ts
  • apps/ui/app/components/geometry/graphics/three/utils/render-order.utils.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/render-order.utils.ts
  • apps/ui/app/components/geometry/graphics/three/utils/scene-tags.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-boundary.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-boundary.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-current-base.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-current-base.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-debug.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-backend.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-backend.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-client.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-client.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-job.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-protocol.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap-worker-protocol.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-overlap.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-packed-geometry.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-packed-geometry.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-performance-debug.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-performance-debug.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean-backend.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean-backends.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean-clipper2-ts.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean-clipper2-wasm.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean-conversion.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean-import-boundary.node.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-boolean.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-polygon-types.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-region.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-region.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-render-parts.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-render-parts.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-style.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-cap-style.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-contour-border.test.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-contour-border.ts
  • apps/ui/app/components/geometry/graphics/three/utils/section-source-only.ts
  • apps/ui/app/components/geometry/graphics/three/utils/snap-detection.utils.ts
  • apps/ui/app/components/geometry/graphics/three/utils/tsl-node-graph-snapshot.ts
  • apps/ui/app/components/geometry/graphics/three/workers/section-cap-overlap.worker.ts
  • apps/ui/app/components/geometry/parameters/parameters-widget.tsx
  • apps/ui/app/components/geometry/parameters/parameters.test.tsx
  • apps/ui/app/components/geometry/parameters/rjsf-theme.tsx
  • apps/ui/app/components/global-chat-flush-guard.test.tsx
  • apps/ui/app/components/layout/app-sidebar.test.tsx
  • apps/ui/app/components/layout/app-sidebar.tsx
  • apps/ui/app/components/markdown/markdown-code.test.tsx
  • apps/ui/app/components/markdown/markdown-code.tsx
  • apps/ui/app/components/markdown/rehype-at-references.test.ts
  • apps/ui/app/components/markdown/rehype-at-references.ts
  • apps/ui/app/components/model-viewer.test.tsx
  • apps/ui/app/components/model-viewer.tsx
  • apps/ui/app/components/nav/nav-history.test.tsx
  • apps/ui/app/components/nav/nav-history.tsx
  • apps/ui/app/components/nav/nav-projects.test.tsx
  • apps/ui/app/components/nav/nav-projects.tsx
  • apps/ui/app/components/publish/project-share-dialog.test.tsx
  • apps/ui/app/components/publish/project-share-dialog.tsx
  • apps/ui/app/components/publish/publication-access-panel.test.tsx
  • apps/ui/app/components/publish/publication-access-panel.tsx
  • apps/ui/app/components/publish/publication-email-tags.tsx
  • apps/ui/app/components/settings/experimental-settings.test.tsx
  • apps/ui/app/components/settings/general-settings.test.tsx
  • apps/ui/app/components/settings/general-settings.tsx
  • apps/ui/app/components/settings/settings-dialog.tsx
  • apps/ui/app/components/ui/button.tsx
  • apps/ui/app/components/ui/context-menu.tsx
  • apps/ui/app/components/ui/dropdown-menu.tsx
  • apps/ui/app/components/ui/image-carousel-dialog.test.tsx
  • apps/ui/app/components/ui/image-carousel-dialog.tsx
  • apps/ui/app/components/ui/input-tags.test.tsx
  • apps/ui/app/components/ui/input-tags.tsx
  • apps/ui/app/components/ui/menu-slider-item.tsx
  • apps/ui/app/components/ui/responsive-tabs.tsx
  • apps/ui/app/components/ui/tabs.tsx
  • apps/ui/app/constants/cookie.constants.ts
  • apps/ui/app/constants/editor.constants.test.ts
  • apps/ui/app/constants/editor.constants.ts
  • apps/ui/app/constants/kernel-monaco-extensions.constants.ts
  • apps/ui/app/constants/kernel-options.presets.test.ts
  • apps/ui/app/constants/kernel-options.presets.ts
  • apps/ui/app/constants/kernel-worker.constants.test.ts
  • apps/ui/app/constants/kernel-worker.constants.ts
  • apps/ui/app/constants/project.constants.test.ts
  • apps/ui/app/constants/project.constants.ts
  • apps/ui/app/constants/route.constants.ts
  • apps/ui/app/db/indexeddb-storage.test.ts
  • apps/ui/app/db/indexeddb-storage.ts
  • apps/ui/app/environment.config.test.ts
  • apps/ui/app/environment.config.ts
  • apps/ui/app/filesystem/file-operation-participants.test.ts
  • apps/ui/app/filesystem/file-operation-participants.ts
  • apps/ui/app/filesystem/handle-store.ts
  • apps/ui/app/flags/feature-flags.test.ts
  • apps/ui/app/flags/flag.constants.ts
  • apps/ui/app/hooks/active-chat-provider.test.tsx
  • apps/ui/app/hooks/chat-persistence.machine.ts
  • apps/ui/app/hooks/chat-session-store-provider.test.tsx
  • apps/ui/app/hooks/chat-session-store-provider.tsx
  • apps/ui/app/hooks/draft.machine.test.ts
  • apps/ui/app/hooks/draft.machine.ts
  • apps/ui/app/hooks/object-store.worker.ts
  • apps/ui/app/hooks/project-activity-tracker.test.tsx
  • apps/ui/app/hooks/project-activity-tracker.tsx
  • apps/ui/app/hooks/rpc-handlers.test.ts
  • apps/ui/app/hooks/rpc-handlers.ts
  • apps/ui/app/hooks/use-cad-preview-status.test.ts
  • apps/ui/app/hooks/use-cad-preview.test.tsx
  • apps/ui/app/hooks/use-cad-preview.tsx
  • apps/ui/app/hooks/use-cad.tsx
  • apps/ui/app/hooks/use-chat-rpc-socket.test.tsx
  • apps/ui/app/hooks/use-chat-rpc-socket.tsx
  • apps/ui/app/hooks/use-chat-session.test.tsx
  • apps/ui/app/hooks/use-chat-snapshot.ts
  • apps/ui/app/hooks/use-chat.test.tsx
  • apps/ui/app/hooks/use-chat.tsx
  • apps/ui/app/hooks/use-chats.ts
  • apps/ui/app/hooks/use-context-payload.test.ts
  • apps/ui/app/hooks/use-context-payload.ts
  • apps/ui/app/hooks/use-context-payload.utils.test.ts
  • apps/ui/app/hooks/use-context-payload.utils.ts
  • apps/ui/app/hooks/use-file-manager.test-d.ts
  • apps/ui/app/hooks/use-file-manager.test.tsx
  • apps/ui/app/hooks/use-file-manager.tsx
  • apps/ui/app/hooks/use-graphics.tsx
  • apps/ui/app/hooks/use-project-manager.test.ts
  • apps/ui/app/hooks/use-project-manager.tsx
  • apps/ui/app/hooks/use-project.ensure-focused-chat.test.ts
  • apps/ui/app/hooks/use-project.tsx
  • apps/ui/app/hooks/use-projects.ts
  • apps/ui/app/hooks/use-restore-to-point.ts
  • apps/ui/app/hooks/use-revisions.test.tsx
  • apps/ui/app/hooks/use-revisions.ts
  • apps/ui/app/hooks/use-skills-catalog.test.ts
  • apps/ui/app/hooks/use-skills-catalog.ts
  • apps/ui/app/hooks/use-theme.test.tsx
  • apps/ui/app/hooks/use-theme.tsx
  • apps/ui/app/hooks/use-view-settings-sync.test.tsx
  • apps/ui/app/hooks/use-view-settings-sync.ts
  • apps/ui/app/lib/auth-client.ts
  • apps/ui/app/lib/bash-language/bash-register-language.ts
  • apps/ui/app/lib/code-language-resolution.test.ts
  • apps/ui/app/lib/code-language-resolution.ts
  • apps/ui/app/lib/contribution-activation-ids.test.ts
  • apps/ui/app/lib/file-restore-timeline.test.ts
  • apps/ui/app/lib/file-restore-timeline.ts
  • apps/ui/app/lib/file-tree-service.test.ts
  • apps/ui/app/lib/fumadocs/docs-content-imports.test.ts
  • apps/ui/app/lib/fumadocs/source.config.ts
  • apps/ui/app/lib/geospec-rpc-result.test.ts
  • apps/ui/app/lib/geospec-rpc-result.ts
  • apps/ui/app/lib/javascript-contribution-static-kernel-types.test.ts
  • apps/ui/app/lib/markdown-language/markdown-register-language.ts
  • apps/ui/app/lib/monaco-model-service.test.ts
  • apps/ui/app/lib/monaco-model-service.ts
  • apps/ui/app/lib/monaco-workspace-fs/workspace-file-system-provider.test.ts
  • apps/ui/app/lib/monaco.constants.test.ts
  • apps/ui/app/lib/monaco.constants.ts
  • apps/ui/app/lib/monaco.lib.client.ts
  • apps/ui/app/lib/monaco.lib.test.ts
  • apps/ui/app/lib/monaco.test.ts
  • apps/ui/app/lib/restore-apply.test.ts
  • apps/ui/app/lib/restore-apply.ts
  • apps/ui/app/lib/shiki-custom-languages.ts
  • apps/ui/app/lib/shiki-language-loaders.ts
  • apps/ui/app/lib/shiki.lib.test.ts
  • apps/ui/app/lib/shiki.lib.ts
  • apps/ui/app/lib/skill-resolver.test.ts
  • apps/ui/app/lib/skill-resolver.ts
  • apps/ui/app/lib/system-skills-catalog.test.ts
  • apps/ui/app/lib/system-skills-catalog.ts
  • apps/ui/app/lib/tau-plugin-store-catalog.ts
  • apps/ui/app/lib/type-acquisition-service.ts
  • apps/ui/app/lib/typescript-family-shared.ts
  • apps/ui/app/machines/await-fresh-render.test.ts
  • apps/ui/app/machines/await-fresh-render.ts
  • apps/ui/app/machines/cad-preview.machine.test.ts
  • apps/ui/app/machines/cad.machine.test.ts
  • apps/ui/app/machines/cad.machine.ts
  • apps/ui/app/machines/controls-listener.machine.test.ts
  • apps/ui/app/machines/controls-listener.machine.ts
  • apps/ui/app/machines/editor.machine.test.ts
  • apps/ui/app/machines/editor.machine.ts
  • apps/ui/app/machines/file-manager.machine.test.ts
  • apps/ui/app/machines/file-manager.machine.ts
  • apps/ui/app/machines/file-manager.test.ts
  • apps/ui/app/machines/file-manager.worker.ts
  • apps/ui/app/machines/graphics-model-interaction.test.ts
  • apps/ui/app/machines/graphics.machine.ts
  • apps/ui/app/machines/kernel.integration.test.ts
  • apps/ui/app/machines/measure-input.machine.test.ts
  • apps/ui/app/machines/measure-input.machine.ts
  • apps/ui/app/machines/model-interaction.machine.test.ts
  • apps/ui/app/machines/model-interaction.machine.ts
  • apps/ui/app/machines/project.machine.test.ts
  • apps/ui/app/machines/project.machine.ts
  • apps/ui/app/machines/publish.machine.test.ts
  • apps/ui/app/machines/publish.machine.ts
  • apps/ui/app/machines/publish.machine.ui-test-double.ts
  • apps/ui/app/machines/revision.machine.test.ts
  • apps/ui/app/machines/revision.machine.ts
  • apps/ui/app/machines/screenshot-capability.machine.ts
  • apps/ui/app/middleware/parameter-file-resolver.factory.ts
  • apps/ui/app/middleware/parameter-file-resolver.middleware.test.ts
  • apps/ui/app/middleware/parameter-file-resolver.middleware.ts
  • apps/ui/app/middleware/parameter-file-resolver.registration.test.ts
  • apps/ui/app/root.tsx
  • apps/ui/app/routes/[__e2e].chat-image-carousel/route.tsx
  • apps/ui/app/routes/[__e2e].project-file-tree/route.tsx
  • apps/ui/app/routes/[__e2e].viewer-context-menu/route.tsx
  • apps/ui/app/routes/_index/hero-image.tsx
  • apps/ui/app/routes/_index/hero-viewer.tsx
  • apps/ui/app/routes/_index/hero-viewer.utils.ts
  • apps/ui/app/routes/_index/route.test.tsx
  • apps/ui/app/routes/_index/tau-desktop-dark.webp
  • apps/ui/app/routes/_index/tau-desktop-light.webp
  • apps/ui/app/routes/action.set-theme.test.ts
  • apps/ui/app/routes/auth.$/route.test.tsx
  • apps/ui/app/routes/auth.$/route.tsx
  • apps/ui/app/routes/auth.$/splashback/auth-splashback.tsx
  • apps/ui/app/routes/auth.$/splashback/gear.jscad.js
  • apps/ui/app/routes/convert/route.tsx
  • apps/ui/app/routes/plugins/route.test.tsx
  • apps/ui/app/routes/plugins/route.tsx
  • apps/ui/app/routes/projects_.$id/active-revision-indicator.test.tsx
  • apps/ui/app/routes/projects_.$id/active-revision-indicator.tsx
  • apps/ui/app/routes/projects_.$id/chat-converter.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-converter.tsx
  • apps/ui/app/routes/projects_.$id/chat-editor-dockview.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-editor-dockview.tsx
  • apps/ui/app/routes/projects_.$id/chat-editor-file-tree.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-credits.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-credits.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-rate-limit.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-rate-limit.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-service-unavailable.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-service-unavailable.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-tool.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-error-tool.tsx
  • apps/ui/app/routes/projects_.$id/chat-error.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-error.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer-animations.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer-file.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer-files.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer-materials.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer-meshes.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer-objects.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-explorer.tsx
  • apps/ui/app/routes/projects_.$id/chat-history-selector.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-history-selector.tsx
  • apps/ui/app/routes/projects_.$id/chat-history.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-history.tsx
  • apps/ui/app/routes/projects_.$id/chat-interface-desktop.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-context-compaction.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-context-compaction.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-file.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-file.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-edit-tests.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-edit-tests.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-export-geometry.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-glob-search.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-glob-search.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-list-directory.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-list-directory.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-read-file.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-read-file.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-use-skill.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message-tool-use-skill.tsx
  • apps/ui/app/routes/projects_.$id/chat-message.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-message.tsx
  • apps/ui/app/routes/projects_.$id/chat-revision-marker.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-revision-marker.tsx
  • apps/ui/app/routes/projects_.$id/chat-revisions.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-revisions.tsx
  • apps/ui/app/routes/projects_.$id/chat-stack-trace.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-stack-trace.tsx
  • apps/ui/app/routes/projects_.$id/chat-tool-file-metadata.ts
  • apps/ui/app/routes/projects_.$id/chat-viewer-controls.tsx
  • apps/ui/app/routes/projects_.$id/chat-viewer-dockview.tsx
  • apps/ui/app/routes/projects_.$id/chat-viewer-secondary-gesture.test.ts
  • apps/ui/app/routes/projects_.$id/chat-viewer-secondary-gesture.ts
  • apps/ui/app/routes/projects_.$id/chat-viewer.test.tsx
  • apps/ui/app/routes/projects_.$id/chat-viewer.tsx
  • apps/ui/app/routes/projects_.$id/file-tree-download-policy.test.ts
  • apps/ui/app/routes/projects_.$id/file-tree-download-policy.ts
  • apps/ui/app/routes/projects_.$id/file-tree-drop-ingestion.test.ts
  • apps/ui/app/routes/projects_.$id/file-tree-drop-ingestion.ts
  • apps/ui/app/routes/projects_.$id/file-tree-operation-results.test.ts
  • apps/ui/app/routes/projects_.$id/file-tree-operation-results.ts
  • apps/ui/app/routes/projects_.$id/file-tree-targets.test.ts
  • apps/ui/app/routes/projects_.$id/file-tree-targets.ts
  • apps/ui/app/routes/projects_.$id/fork-divider.test.tsx
  • apps/ui/app/routes/projects_.$id/fork-divider.tsx
  • apps/ui/app/routes/projects_.$id/new-chat-submit.test.tsx
  • apps/ui/app/routes/projects_.$id/project-command-items.test.tsx
  • apps/ui/app/routes/projects_.$id/project-command-items.tsx
  • apps/ui/app/routes/projects_.$id/project-export-action.test.tsx
  • apps/ui/app/routes/projects_.$id/project-export-action.tsx
  • apps/ui/app/routes/projects_.$id/project-name-editor.test.tsx
  • apps/ui/app/routes/projects_.$id/project-name-editor.tsx
  • apps/ui/app/routes/projects_.$id/project-share-action.test.tsx
  • apps/ui/app/routes/projects_.$id/project-share-action.tsx
  • apps/ui/app/routes/projects_.$id/revision-marker.test.tsx
  • apps/ui/app/routes/projects_.$id/revision-marker.tsx
  • apps/ui/app/routes/projects_.$id/revision-pane-context.tsx
  • apps/ui/app/routes/projects_.$id/revision-persistence.test.ts
  • apps/ui/app/routes/projects_.$id/revision-provider.tsx
  • apps/ui/app/routes/projects_.$id/revision-seams.test.tsx
  • apps/ui/app/routes/projects_.$id/revision-seams.tsx
  • apps/ui/app/routes/projects_.$id/route.tsx
  • apps/ui/app/routes/projects_.$id_.preview/preview-debug-panel.tsx
  • apps/ui/app/routes/projects_.$id_.preview/preview-desktop.tsx
  • apps/ui/app/routes/projects_.$id_.preview/preview-details.test.tsx
  • apps/ui/app/routes/projects_.$id_.preview/preview-details.tsx
  • apps/ui/app/routes/projects_.$id_.preview/preview-mobile.tsx
  • apps/ui/app/routes/projects_.new/route.tsx
  • apps/ui/app/routes/v.$id/fork-action.test.tsx
  • apps/ui/app/routes/v.$id/fork-action.tsx
  • apps/ui/app/routes/v.$id/parsed-publication.test.ts
  • apps/ui/app/routes/v.$id/parsed-publication.ts
  • apps/ui/app/routes/v.$id/publication-files-pane.test.tsx
  • apps/ui/app/routes/v.$id/publication-files-pane.tsx
  • apps/ui/app/routes/v.$id/publication-fullscreen-button.test.tsx
  • apps/ui/app/routes/v.$id/publication-fullscreen-button.tsx
  • apps/ui/app/routes/v.$id/publication-hero-strip.test.tsx
  • apps/ui/app/routes/v.$id/publication-hero-strip.tsx
  • apps/ui/app/routes/v.$id/publication-lock-screen.test.tsx
  • apps/ui/app/routes/v.$id/publication-lock-screen.tsx
  • apps/ui/app/routes/v.$id/publication-mobile-sheet.test.tsx
  • apps/ui/app/routes/v.$id/publication-mobile-sheet.tsx
  • apps/ui/app/routes/v.$id/publication-params-pane.test.tsx
  • apps/ui/app/routes/v.$id/publication-params-pane.tsx
  • apps/ui/app/routes/v.$id/publication-readme-card.test.tsx
  • apps/ui/app/routes/v.$id/publication-readme-card.tsx
  • apps/ui/app/routes/v.$id/publication-shell.test.tsx
  • apps/ui/app/routes/v.$id/publication-shell.tsx
  • apps/ui/app/routes/v.$id/publication-topbar.test.tsx
  • apps/ui/app/routes/v.$id/publication-topbar.tsx
  • apps/ui/app/routes/v.$id/publication-viewer-pane.test.tsx
  • apps/ui/app/routes/v.$id/publication-viewer-pane.tsx
  • apps/ui/app/routes/v.$id/route.test.ts
  • apps/ui/app/routes/v.$id/route.tsx
  • apps/ui/app/routes/v.$id/use-view-ping.test.tsx
  • apps/ui/app/routes/v.$id/use-view-ping.ts
  • apps/ui/app/runtime/runtime-debug.worker.ts
  • apps/ui/app/runtime/runtime.worker.ts
  • apps/ui/app/runtime/ui-runtime.config.test.ts
  • apps/ui/app/runtime/ui-runtime.config.ts
  • apps/ui/app/runtime/ui-runtime.definition.ts
  • apps/ui/app/services/chat-rpc-socket.service.test.ts
  • apps/ui/app/services/chat-rpc-socket.service.ts
  • apps/ui/app/services/chat-session-store.test.ts
  • apps/ui/app/services/chat-session-store.ts
  • apps/ui/app/sessions.server.test.ts
  • apps/ui/app/sessions.server.tsx
  • apps/ui/app/types/clipper2-wasm.d.ts
  • apps/ui/app/types/runtime-client.alias.ts
  • apps/ui/app/types/storage.types.ts
  • apps/ui/app/utils/assistant-message-activity.test.ts
  • apps/ui/app/utils/assistant-message-activity.ts
  • apps/ui/app/utils/at-reference.utils.test.ts
  • apps/ui/app/utils/at-reference.utils.ts
  • apps/ui/app/utils/chat.utils.test.ts
  • apps/ui/app/utils/chat.utils.ts
  • apps/ui/app/utils/color.utils.test.ts
  • apps/ui/app/utils/color.utils.ts
  • apps/ui/app/utils/crypto.utils.test.ts
  • apps/ui/app/utils/crypto.utils.ts
  • apps/ui/app/utils/error.utils.test.ts
  • apps/ui/app/utils/error.utils.ts
  • apps/ui/app/utils/export-formats.utils.test.ts
  • apps/ui/app/utils/export-formats.utils.ts
  • apps/ui/app/utils/publish.utils.test.ts
  • apps/ui/app/utils/publish.utils.ts
  • apps/ui/app/utils/string.utils.test.ts
  • apps/ui/app/utils/string.utils.ts
  • apps/ui/app/workers/geospec-runner.client.test.ts
  • apps/ui/app/workers/geospec-runner.client.ts
  • apps/ui/app/workers/geospec-runner.jscad-integration.test.ts
  • apps/ui/app/workers/geospec-runner.types.ts
  • apps/ui/app/workers/geospec-runner.worker.test.ts
  • apps/ui/app/workers/geospec-runner.worker.ts
  • apps/ui/content/docs/runtime/api/bundler.mdx
  • apps/ui/content/docs/runtime/api/client.mdx
  • apps/ui/content/docs/runtime/api/filesystem.mdx
  • apps/ui/content/docs/runtime/api/kernels.mdx
  • apps/ui/content/docs/runtime/api/middleware.mdx
  • apps/ui/content/docs/runtime/api/props/client.ts
  • apps/ui/content/docs/runtime/api/props/filesystem.ts
  • apps/ui/content/docs/runtime/api/props/kernels.ts
  • apps/ui/content/docs/runtime/api/testing.mdx
  • apps/ui/content/docs/runtime/api/types.mdx
  • apps/ui/content/docs/runtime/concepts/architecture.mdx
  • apps/ui/content/docs/runtime/concepts/interactive-architecture.mdx
  • apps/ui/content/docs/runtime/concepts/kernel-selection.mdx
  • apps/ui/content/docs/runtime/concepts/plugin-system.mdx
  • apps/ui/content/docs/runtime/concepts/render-lifecycle.mdx
  • apps/ui/content/docs/runtime/concepts/worker-model.mdx
  • apps/ui/content/docs/runtime/getting-started/installation.mdx
  • apps/ui/content/docs/runtime/getting-started/quick-start.mdx
  • apps/ui/content/docs/runtime/getting-started/your-first-kernel.mdx
  • apps/ui/content/docs/runtime/guides/bundler-configuration.mdx
  • apps/ui/content/docs/runtime/guides/bundling.mdx
  • apps/ui/content/docs/runtime/guides/choosing-a-kernel.mdx
  • apps/ui/content/docs/runtime/guides/custom-kernel.mdx
  • apps/ui/content/docs/runtime/guides/custom-middleware.mdx
  • apps/ui/content/docs/runtime/guides/embedding-in-a-host.mdx
  • apps/ui/content/docs/runtime/guides/error-handling.mdx
  • apps/ui/content/docs/runtime/guides/filesystem-setup.mdx
  • apps/ui/content/docs/runtime/guides/live-rendering.mdx
  • apps/ui/content/docs/runtime/guides/testing-kernels.mdx
  • apps/ui/content/docs/runtime/guides/using-middleware.mdx
  • apps/ui/content/docs/runtime/index.mdx
  • apps/ui/netlify.toml
  • apps/ui/netlify.toml.ci-staging.backup
  • apps/ui/package.json
  • apps/ui/project.json
  • apps/ui/scripts/bench-section-cap-boolean-backends.mts
  • apps/ui/scripts/bench-section-cap-boolean-backends.test.ts
  • apps/ui/scripts/check-ssr-bundle-budget.mts
  • apps/ui/scripts/check-ssr-bundle-budget.test.ts
  • apps/ui/tsconfig.app.json
  • apps/ui/tsconfig.spec.json
  • apps/ui/vite-environment.d.ts
  • apps/ui/vite.config.ts
  • apps/ui/vitest.setup.ts
  • docs/architecture/production-gitops-runbook.md
  • docs/architecture/runtime-editor.md
  • docs/architecture/runtime-topology.md
  • docs/architecture/ui-deployment-topology.md
  • docs/assets/tau-desktop-dark.webp
  • docs/assets/tau-desktop-light.webp
  • docs/policy/api-error-policy.md
  • docs/policy/api-evolution-policy.md
  • docs/policy/brep-policy.md
  • docs/policy/cad-performance-policy.md
  • docs/policy/chat-request-config-policy.md
  • docs/policy/chat-rpc-error-handling-policy.md
  • docs/policy/color-space-policy.md
  • docs/policy/context-engineering-policy.md
  • docs/policy/cross-provider-content-contract.md
  • docs/policy/filesystem-authority-policy.md
  • docs/policy/filesystem-context-policy.md
  • docs/policy/filesystem-policy.md
  • docs/policy/geometry-naming-policy.md
  • docs/policy/geospec-policy.md
  • docs/policy/gltf-construction-policy.md
  • docs/policy/graphics-backend-policy.md
  • docs/policy/interrupted-tool-call-contract.md
  • docs/policy/jsdoc-policy.md
  • docs/policy/library-api-policy.md
  • docs/policy/npm-policy.md
  • docs/policy/project-manifest-policy.md
  • docs/policy/release-policy.md
  • docs/policy/rendering-pipeline-policy.md
  • docs/policy/rpc-policy.md
  • docs/policy/runtime-architecture-policy.md
  • docs/policy/runtime-telemetry-policy.md
  • docs/policy/ssr-bundle-policy.md
  • docs/policy/storage-policy.md
  • docs/policy/testing-policy.md
  • docs/policy/version-policy.md
  • docs/policy/vision-policy.md
  • docs/policy/webgpu-shader-and-pipeline-policy.md
  • docs/policy/worker-policy.md
  • docs/reference
  • docs/reference/cad-coder-vision-language-cad-code.txt
  • docs/reference/cadcodeverify-vlm-verification.txt
  • docs/reference/cadreasoner-iterative-program-editing.txt
  • docs/reference/cadsmith-programmatic-geometric-validation.txt
  • docs/reference/design-intent-constraint-generation.txt
  • docs/reference/procad-clarify-before-you-draw.txt
  • docs/research
  • docs/research/3mf-activation-status.md
  • docs/research/3mf-assimp-audit.md
  • docs/research/3mf-export-rendering-artifacts.md
  • docs/research/3mf-export-scale-orientation-manifold.md
  • docs/research/agent-empty-directory-false-positive.md
  • docs/research/agent-filesystem-stale-cache-audit.md
  • docs/research/agent-image-region-clipping-tool.md
  • docs/research/agent-interrupt-durability-comparison.md
  • docs/research/agent-loop-safeguards.md
  • docs/research/agent-screenshot-rpc-resize-audit.md
  • docs/research/agent-skill-patterns-v2.md
  • docs/research/agent-skill-patterns.md
  • docs/research/agentic-cad-geometric-intent-preservation.md
  • docs/research/agentic-chat-input-architecture.md
  • docs/research/agentic-realtime-transport.md
  • docs/research/agentic-web-search-architecture.md
  • docs/research/aisdk-langchain-empty-reasoning-emission.md
  • docs/research/aisdk-langchain-historical-reasoning-leak.md
  • docs/research/aisdk-langchain-reasoning-end-delay.md
  • docs/research/api-docker-build-optimization.md
  • docs/research/api-npm-and-reproducible-snapshots.md
  • docs/research/assimp-transform-architecture-landscape.md
  • docs/research/assimp-unified-axis-unit-contract.md
  • docs/research/assimpjs-emscripten-optimization-audit.md
  • docs/research/better-auth-email-resend-blueprint.md
  • docs/research/binary-file-open-perpetual-loading.md
  • docs/research/brep-edge-mesh-regression.md
  • docs/research/brepjs-step-streaming-import.md
  • docs/research/browser-filesystem-landscape.md
  • docs/research/browser-first-parameter-aware-testing.md
  • docs/research/build-flag-audit.md
  • docs/research/build123d-occt-api-usage-survey.md
  • docs/research/build123d-vs-ocjs-wasm-performance.md
  • docs/research/bundle-size-policy.md
  • docs/research/cache-strategy-analysis.md
  • docs/research/cad-kernel-intermediate-caching.md
  • docs/research/cad-skill-vs-tau-cad-agent-fidelity.md
  • docs/research/capabilities-manifest-api-audit.md
  • docs/research/chat-active-model-kernel-persistence.md
  • docs/research/chat-cancelled-message-cache-explosion.md
  • docs/research/chat-composer-context-unification.md
  • docs/research/chat-draft-resurrection-race.md
  • docs/research/chat-edit-message-metadata-stripping.md
  • docs/research/chat-error-persistence-stale-display.md
  • docs/research/chat-followup-message-swallow.md
  • docs/research/chat-image-resize-coverage-audit.md
  • docs/research/chat-metadata-first-class-architecture.md
  • docs/research/chat-model-cost-forensics.md
  • docs/research/chat-multi-provider-cost-explosion.md
  • docs/research/chat-pin-user-message-scroll.md
  • docs/research/chat-rendering-audit.md
  • docs/research/chat-rpc-websocket-disconnection-audit.md
  • docs/research/chat-sticky-user-message-scroll-jump.md
  • docs/research/chat-tool-error-presentation-softening.md
  • docs/research/chatgpt-deep-research-brief.md
  • docs/research/claude-code-architecture-mining.md
  • docs/research/claude-code-prompting-techniques.md
  • docs/research/claude-code-skill-injection-techniques.md
  • docs/research/claude-code-subagent-architecture.md
  • docs/research/cli-runtime-ergonomics.md
  • docs/research/cloud-infra-activation-status.md
  • docs/research/cmd-click-and-node-modules-mount.md
  • docs/research/code-cad-topology-best-practices.md
  • docs/research/code-geometry-correlation.md
  • docs/research/comlink-rpc-practices.md
  • docs/research/complex-task-agent-gap-analysis.md
  • docs/research/concurrent-chat-streams-agents-panel.md
  • docs/research/consumer-agnostic-audit.md
  • docs/research/content-replacement-state-durability-audit.md
  • docs/research/context-injection-architecture.md
  • docs/research/context-summarization-compaction.md
  • docs/research/converter-runtime-consolidation.md
  • docs/research/cpp-wasm-toolchain-landscape.md
  • docs/research/create-package-skill-gaps.md
  • docs/research/cross-kernel-color-parity.md
  • docs/research/cross-provider-thinking-block-portability.md
  • docs/research/cursor-context-budget-audit.md
  • docs/research/cursor-filesystem-architecture.md
  • docs/research/cursor-sdk-openai-compat.md
  • docs/research/dark-mode-3d-lighting-adaptation.md
  • docs/research/deepagents-architecture.md
  • docs/research/define-transcoder-type-safety.md
  • docs/research/dialog-inline-editing-audit.md
  • docs/research/diff-viewer-shiki-notation-leak.md
  • docs/research/disposable-api.md
  • docs/research/dynamic-es-modules.md
  • docs/research/dynamic-runtime-plugins.md
  • docs/research/eager-tool-dispatch-poc.md
  • docs/research/editor-filesystem-surface-audit.md
  • docs/research/editor-flash-on-buffering-cycle.md
  • docs/research/editor-route-prefetch-and-cache-audit.md
  • docs/research/editor-route-prefetch-strategy-refinement.md
  • docs/research/electron-example-parameter-extraction-duplication.md
  • docs/research/electron-ipc-gap-analysis.md
  • docs/research/electron-kernel-bundling-strategy.md
  • docs/research/electron-messageportmain-transferable-limits.md
  • docs/research/electron-rpc-transport-architecture.md
  • docs/research/embind-return-strategy-benchmarks.md
  • docs/research/embind-smart-pointer-stale-ptr.md
  • docs/research/emscripten-idiomatic-js.md
  • docs/research/emscripten-optimization-flags.md
  • docs/research/evals-best-practices.md
  • docs/research/exploring-wrapper-flip-flop.md
  • docs/research/export-option-schema-architecture.md
  • docs/research/export-options-kernel-mismatch.md
  • docs/research/export-options-pipeline-architecture.md
  • docs/research/export-pipeline-gap-analysis.md
  • docs/research/export-pipeline-v2.md
  • docs/research/export-pipeline-v3.md
  • docs/research/export-pipeline-v4.md
  • docs/research/export-pipeline-v5-implementation-audit.md
  • docs/research/export-pipeline-v5.md
  • docs/research/export-pipeline-v6-implementation-audit.md
  • docs/research/file-selector-empty-popover-data-hydration.md
  • docs/research/file-selector-virtuoso-scroller-and-wire-stat-loss.md
  • docs/research/file-services-architecture-blueprint.md
  • docs/research/file-tree-stale-directory-deletion.md
  • docs/research/filesystem-access-api-cohesion-audit.md
  • docs/research/filesystem-architecture.md
  • docs/research/filesystem-checkpointing-architecture.md
  • docs/research/filesystem-explicit-workspace-boundaries.md
  • docs/research/filesystem-gap-analysis.md
  • docs/research/filesystem-memory-outstanding-items.md
  • docs/research/filesystem-mount-only-architecture.md
  • docs/research/filesystem-mount-overlay-architecture.md
  • docs/research/filesystem-runtime-strategy.md
  • docs/research/fm-workspace-binding-scope.md
  • docs/research/format-map-aggregation-collapse.md
  • docs/research/fs-bridge-port-migration.md
  • docs/research/fs-capabilities.md
  • docs/research/gemini-prompt-cache-busting.md
  • docs/research/generic-inference-pipeline.md
  • docs/research/geometry-data-transfer-architecture.md
  • docs/research/geometry-pipeline-copy-audit.md
  • docs/research/geospec-activation-parity-roadmap.md
  • docs/research/geospec-standalone-cad-testing-blueprint.md
  • docs/research/gltf-edges-fat-line-performance.md
  • docs/research/gltf-edges-line-rendering-regression.md
  • docs/research/grafana-observability-gaps.md
  • docs/research/header-only-cpp-libraries.md
  • docs/research/homepage-time-to-interactive-analysis.md
  • docs/research/iac-terraform-strategy.md
  • docs/research/image-context-management-gap-analysis.md
  • docs/research/image-storage-architecture.md
  • docs/research/import-test-geometry-deviation-audit.md
  • docs/research/interrupted-tool-call-validation-failure.md
  • docs/research/jscad-kernel-imports.md
  • docs/research/kcl-feature-surface-gaps.md
  • docs/research/kcl-lsp-relative-import-resolution.md
  • docs/research/kcl-monaco-lsp-file-manager-wiring.md
  • docs/research/kernel-color-space-srgb-conversion.md
  • docs/research/kernel-display-fallback-elimination.md
  • docs/research/kernel-plugin-type-linkage.md
  • docs/research/knip-dead-code-analysis.md
  • docs/research/langchain-v1-output-version-strategic-review.md
  • docs/research/langchain-v1-tool-call-roundtrip-regression.md
  • docs/research/language-fs-bridge-implementation.md
  • docs/research/large-repo-import-performance.md
  • docs/research/lazy-capabilities-manifest.md
  • docs/research/lazy-tree-migration-audit.md
  • docs/research/license-strategy-mit-vs-gpl.md
  • docs/research/lsp-integration-outstanding-issues.md
  • docs/research/mdx-inline-syntax-highlighting.md
  • docs/research/measure-tool-performance-audit.md
  • docs/research/mesh-continuity-test-semantics.md
  • docs/research/model-viewer-ar-integration.md
  • docs/research/modular-wasm-multithreading.md
  • docs/research/monaco-filesystem-integration-blueprint.md
  • docs/research/monaco-intellisense-jsdoc-rendering.md
  • docs/research/monaco-lsp-lazy-activation-blueprint.md
  • docs/research/monaco-typescript-intellisense-investigation.md
  • docs/research/multi-file-test-json-migration.md
  • docs/research/multimodal-agent-image-storage-patterns.md
  • docs/research/nativehandle-serialization-and-pipeline-architecture.md
  • docs/research/ncollection-binding-architecture.md
  • docs/research/netlify-production-performance-audit.md
  • docs/research/netlify-ui-deployment-strategy.md
  • docs/research/new-project-webaccess-creation-coupling.md
  • docs/research/node-modules-single-source-of-truth.md
  • docs/research/node-vfs-applicability.md
  • docs/research/observability-architecture-v2.md
  • docs/research/observability-architecture.md
  • docs/research/observability-implementation-status.md
  • docs/research/observability-metrics-audit.md
  • docs/research/occt-brep-serialization-for-handle-caching.md
  • docs/research/occt-jsdoc-doxygen-truncation.md
  • docs/research/occt-light-vs-ocjs-comparison.md
  • docs/research/occt-unbound-symbols-audit.md
  • docs/research/occt-v8-final-migration-stocktake-2.md
  • docs/research/occt-v8-final-migration-stocktake-3.md
  • docs/research/occt-v8-final-migration-stocktake-4.md
  • docs/research/occt-v8-final-migration-stocktake.md
  • docs/research/occt-v8-migration.md
  • docs/research/occt-v8-rc5-migration.md
  • docs/research/occt-v8-rc5-to-release-migration.md
  • docs/research/occt-wasm-module-system.md
  • docs/research/ocjs-adapter-api-blueprint.md
  • docs/research/ocjs-additionalcppcode-type-erasure-regression.md
  • docs/research/ocjs-any-type-analysis.md
  • docs/research/ocjs-bindgen-libembind-outstanding-issues-catalog.md
  • docs/research/ocjs-bindgen-modular-refactor-blueprint.md
  • docs/research/ocjs-bindgen-residual-issues-stocktake.md
  • docs/research/ocjs-bindgen-unknown-coverage-audit-v2.md
  • docs/research/ocjs-bindgen-unknown-coverage-audit.md
  • docs/research/ocjs-bindings-wasm-applicability-audit.md
  • docs/research/ocjs-cmake-cache-race-condition.md
  • docs/research/ocjs-deprecated-symbol-strategy.md
  • docs/research/ocjs-docker-production-readiness-blueprint.md
  • docs/research/ocjs-docusaurus-to-fumadocs-content-audit.md
  • docs/research/ocjs-dropped-methods-audit.md
  • docs/research/ocjs-embind-js-dispatch-failures.md
  • docs/research/ocjs-fork-holistic-diff.md
  • docs/research/ocjs-full-build-audit.md
  • docs/research/ocjs-full-yml-restoration-stocktake.md
  • docs/research/ocjs-libclang-target-triple-mismatch-poc.md
  • docs/research/ocjs-libembind-phase-0-hygiene.md
  • docs/research/ocjs-libembind-strategic-direction-assessment.md
  • docs/research/ocjs-link-ncollection-overbinding-audit.md
  • docs/research/ocjs-math-vector-exclusion.md
  • docs/research/ocjs-matrix-row-bench-fixture.md
  • docs/research/ocjs-mt-wasm-performance-maxing.md
  • docs/research/ocjs-multithreaded-wasm-build.md
  • docs/research/ocjs-ncollection-and-dts-regressions.md
  • docs/research/ocjs-ncollection-auto-discovery-build-validation.md
  • docs/research/ocjs-non-graphics-coverage-blueprint.md
  • docs/research/ocjs-nx-build-system.md
  • docs/research/ocjs-occt-surface-audit.md
  • docs/research/ocjs-option-c-validation-experiment-design.md
  • docs/research/ocjs-optional-overload-poc-coverage-gaps.md
  • docs/research/ocjs-optional-overload-resolution-blueprint.md
  • docs/research/ocjs-optional-overload-strategic-review-gpt-5-5.md
  • docs/research/ocjs-optional-overload-strategic-review-opus-4-7.md
  • docs/research/ocjs-phase-1-rule-2-rule-3-implementation.md
  • docs/research/ocjs-phase-2-val-dispatch-emission.md
  • docs/research/ocjs-phase-3-val-dispatch-completion.md
  • docs/research/ocjs-phase-4-build-outcome.md
  • docs/research/ocjs-phase-4-smoke-readiness.md
  • docs/research/ocjs-pr301-working-copy-audit.md
  • docs/research/ocjs-r21-method-reachability-parity-report.md
  • docs/research/ocjs-rbv-blueprint-p0-p1-stocktake.md
  • docs/research/ocjs-rbv-build-manifest-regressions.md
  • docs/research/ocjs-rbv-handle-output-param-elision.md
  • docs/research/ocjs-rbv-non-copyable-and-integer-overload-dedup.md
  • docs/research/ocjs-rbv-return-shape-revisit.md
  • docs/research/ocjs-rbv-test-corpus-contract-drift.md
  • docs/research/ocjs-rbv-universal-reference-passthrough.md
  • docs/research/ocjs-register-optional-enum-class-gap.md
  • docs/research/ocjs-removed-bindings-stocktake.md
  • docs/research/ocjs-replicad-multi-link-warning-audit.md
  • docs/research/ocjs-replicad-post-migration-simplifications.md
  • docs/research/ocjs-skipped-test-reactivation.md
  • docs/research/ocjs-smoke-test-quality-pass.md
  • docs/research/ocjs-suffix-free-overload-cost-experiment-design.md
  • docs/research/ocjs-test-failure-resolution.md
  • docs/research/ocjs-thrusections-build-arg-trap.md
  • docs/research/ocjs-trailing-default-arity-fan-out.md
  • docs/research/ocjs-type-resolution-failures.md
  • docs/research/ocjs-typescript-codegen-gap-analysis.md
  • docs/research/ocjs-unified-rbv-blueprint.md
  • docs/research/ocjs-v76-vs-v8-binding-diff.md
  • docs/research/ocjs-v8-bindings-remaining-issues.md
  • docs/research/ocjs-v8-dx-modernization.md
  • docs/research/ocjs-validation-manifest-consultation-audit.md
  • docs/research/ocjs-wasm-binary-size-forensics-v2.md
  • docs/research/ocjs-wasm-binary-size-forensics.md
  • docs/research/ocjs-wasm-build-comparison.md
  • docs/research/ocjs-wasm-optimization.md
  • docs/research/ocjs-wasm-size-analysis-v762-vs-v8rc4.md
  • docs/research/ocjs-wasm-testing.md
  • docs/research/ocjs-zalo-occt-v8-fork-analysis.md
  • docs/research/open-source-model-integration.md
  • docs/research/opencascade-kernel-step-export-empty-geometry.md
  • docs/research/opencascade-stack-trace-parity.md
  • docs/research/opencascade-v7.62-v8rc4-changelog.md
  • docs/research/opencascadejs-docker-build-readiness.md
  • docs/research/opencascadejs-production-dx-readiness.md
  • docs/research/openscad-3mf-coordinate-orientation.md
  • docs/research/origin-client-id-propagation-audit.md
  • docs/research/oxlint-tslint-crash.md
  • docs/research/parallel-tool-call-incremental-persistence.md
  • docs/research/parallel-tool-output-interleaving.md
  • docs/research/parameter-architecture-design-space.md
  • docs/research/parameter-architecture-v2.md
  • docs/research/parameter-middleware-architecture.md
  • docs/research/parameter-storage-architecture.md
  • docs/research/per-shape-pbr-appearance-v2.md
  • docs/research/per-shape-pbr-appearance.md
  • docs/research/polymorphic-js-evaluation.md
  • docs/research/prod-staging-ui-deployment-status.md
  • docs/research/production-observability-readiness.md
  • docs/research/project-types-cleanup-followup.md
  • docs/research/publication-blob-403-bucket-path-missing.md
  • docs/research/publication-sharing-access-patterns.md
  • docs/research/publication-sharing-dialog-ux-patterns.md
  • docs/research/publication-viewer-layout-blueprint.md
  • docs/research/react-router-7-production-readiness-audit.md
  • docs/research/reasoning-duration-display.md
  • docs/research/reasoning-section-newline-gap.md
  • docs/research/replicad-class-rbv-migration-surface.md
  • docs/research/replicad-makebasebox-center-ambiguity.md
  • docs/research/replicad-normal-smoothing-pipeline.md
  • docs/research/replicad-occt-gltf-pipeline-delta.md
  • docs/research/replicad-occt-normal-pipeline-v3.md
  • docs/research/replicad-occt-usage-refinement.md
  • docs/research/replicad-occt-v8-opportunities.md
  • docs/research/replicad-performance-blueprint.md
  • docs/research/replicad-single-dts-type-errors.md
  • docs/research/repos-cli-branch-flag-ordering.md
  • docs/research/resumable-chat-streams.md
  • docs/research/rpc-best-practices.md
  • docs/research/rpc-wire-contract-compile-time-gap.md
  • docs/research/runtime-asset-and-plugin-library-architecture.md
  • docs/research/runtime-async-event-contract-v2.md
  • docs/research/runtime-async-event-contract.md
  • docs/research/runtime-blueprint-v5-implementation-audit.md
  • docs/research/runtime-channel-blueprint-v5.md
  • docs/research/runtime-channel-hybrid-protocol-architecture.md
  • docs/research/runtime-client-type-preservation-audit.md
  • docs/research/runtime-client-type-safety-audit.md
  • docs/research/runtime-cross-origin-isolation-distribution.md
  • docs/research/runtime-define-factory-dts-emission.md
  • docs/research/runtime-dts-bundle-non-isolated-package.md
  • docs/research/runtime-dts-bundling-without-composite.md
  • docs/research/runtime-event-driven-api-blueprint-v2.md
  • docs/research/runtime-event-driven-api-blueprint-v3.md
  • docs/research/runtime-event-driven-api-blueprint-v4.md
  • docs/research/runtime-event-driven-api-blueprint-v5.md
  • docs/research/runtime-event-driven-api-blueprint.md
  • docs/research/runtime-filesystem-spec-instance-harmonisation.md
  • docs/research/runtime-filesystem-target-architecture.md
  • docs/research/runtime-naming-audit.md
  • docs/research/runtime-nextjs-compatibility-audit.md
  • docs/research/runtime-npm-release-bundling.md
  • docs/research/runtime-overhead-forensics.md
  • docs/research/runtime-quickstart-dx-regression.md
  • docs/research/runtime-require-to-esm-migration.md
  • docs/research/runtime-runner-primitive.md
  • docs/research/runtime-smells-outside-async-transport-scope.md
  • docs/research/runtime-test-suite-quality-audit.md
  • docs/research/runtime-transport-architecture-v6.md
  • docs/research/runtime-transport-authoring-simplification.md
  • docs/research/runtime-transport-blueprint-v3.md
  • docs/research/runtime-transport-callable-plugin.md
  • docs/research/runtime-transport-filesystem-topology.md
  • docs/research/runtime-transport-implementation-blueprint-v4.md
  • docs/research/runtime-transport-implementation-gap-analysis.md
  • docs/research/runtime-transport-target-architecture.md
  • docs/research/runtime-type-bag-propagation.md
  • docs/research/runtime-v6-cutover-residuals.md
  • docs/research/runtime-worker-bundling-strategy.md
  • docs/research/runtime-zero-config-bundling.md
  • docs/research/safari-blob-worker-sourcemap-null-origin.md
  • docs/research/safari-cross-origin-isolation.md
  • docs/research/safari-localhost-build-coep-worker-loading.md
  • docs/research/safari-replicad-empty-geometry-investigation-v2.md
  • docs/research/safari-replicad-empty-geometry-investigation.md
  • docs/research/safari-svg-rendering-compatibility.md
  • docs/research/safari-wasm-relaxed-simd-incompatibility.md
  • docs/research/scalable-language-contribution-fs-architecture.md
  • docs/research/schema-driven-export-configuration.md
  • docs/research/screenshot-overlay-watermark-architecture.md
  • docs/research/screenshot-viewport-shared-material-state-bleed.md
  • docs/research/settings-dialog-mobile-overflow-architecture.md
  • docs/research/shared-memory-geometry-pipeline.md
  • docs/research/shared-memory-pool-api-audit.md
  • docs/research/shared-pool-stale-parameter-reads.md
  • docs/research/shared-worker-fs-architecture.md
  • docs/research/shared-worker-gate-startup-performance.md
  • docs/research/sharing-architecture.md
  • docs/research/sharing-mvp-manual-runbook.md
  • docs/research/socketio-production-resilience.md
  • docs/research/spatial-test-feedback-architecture.md
  • docs/research/ssr-bundle-audit.md
  • docs/research/staging-cors-coep-safari-rendering-audit.md
  • docs/research/stale-asset-hash-worker-error-diagnostics.md
  • docs/research/step-export-multifile-regression.md
  • docs/research/subagent-threading-harness-blueprint.md
  • docs/research/subpath-export-naming.md
  • docs/research/supabase-storage-vs-r2-sharing.md
  • docs/research/sysml-driven-cad-spec.md
  • docs/research/sysml-v2-spec-architecture-v2.md
  • docs/research/sysml2-cad-intent-architecture.md
  • docs/research/system-prompt-audit.md
  • docs/research/tau-as-programmable-computer.md
  • docs/research/tau-parts-registry-and-marketplace.md
  • docs/research/taucad-dev-ui-audit-may-2026.md
  • docs/research/three-viewer-white-z-face-artifact.md
  • docs/research/three-viewport-gizmo-fork-blueprint.md
  • docs/research/three-viewport-gizmo-webgpu-readiness.md
  • docs/research/tinyusdz-fork-fixes-vs-upstream.md
  • docs/research/tkservice-wasm-capabilities.md
  • docs/research/tool-result-display-divergence.md
  • docs/research/tool-result-offloading-and-context-prevention.md
  • docs/research/transcoder-edge-source-type-merging.md
  • docs/research/transcript-search-architecture.md
  • docs/research/transport-capability-ownership.md
  • docs/research/turso-fs.md
  • docs/research/type-safe-kernel-ids.md
  • docs/research/typescript-esm-extension-resolution.md
  • docs/research/typescript-overloads.md
  • docs/research/ui-startup-performance-gap-analysis.md
  • docs/research/unified-export-pipeline-architecture.md
  • docs/research/unified-return-by-value.md
  • docs/research/unresolved-dependency-watch-gap.md
  • docs/research/viewport-gizmo-cube-hover-regression.md
  • docs/research/visual-verification-prompt-engineering.md
  • docs/research/vite-plugin-large-string-literal-overflow.md
  • docs/research/vitest-style-parameter-geometry-testing-blueprint.md
  • docs/research/vscode-fs-performance.md
  • docs/research/vscode-style-resolution-and-virtual-types.md
  • docs/research/vscode-typescript-features.md
  • docs/research/wasm-cpp-rbv-prior-art.md
  • docs/research/wasm-heap-view-detachment.md
  • docs/research/wasm-opt-optimization-reference.md
  • docs/research/wasm-rab-integration-node-status.md
  • docs/research/wasm-smart-pointer-landscape.md
  • docs/research/webaccess-crswap-leak-and-listing-race.md
  • docs/research/webgpu-axes-hover-pipeline-stall.md
  • docs/research/webgpu-axes-srgb-blend-parity.md
  • docs/research/webgpu-cad-rendering-blueprint.md
  • docs/research/webgpu-composite-quad-depth-write-non-functional.md
  • docs/research/webgpu-compositor-premultiplied-alpha-halo.md
  • docs/research/webgpu-edge-line-crispness-gap.md
  • docs/research/webgpu-fat-line-hardware-clipping-bug.md
  • docs/research/webgpu-fat-line-renderer-aware-depth.md
  • docs/research/webgpu-line2-reversed-z-trim.md
  • docs/research/webgpu-migration-graphics-stack.md
  • docs/research/webgpu-overlay-depth-attachment-persistence.md
  • docs/research/webgpu-override-material-vertex-binding-failure.md
  • docs/research/webgpu-post-processing-performance-audit.md
  • docs/research/webgpu-render-loop-audit.md
  • docs/research/webgpu-reversed-z-transparent-sort-inversion.md
  • docs/research/webgpu-section-view-canonical-reference.md
  • docs/research/webgpu-section-view-clipping-architecture.md
  • docs/research/websocket-resilience.md
  • docs/research/worker-management.md
  • docs/research/xstate-patterns.md
  • docs/research/z-fighting-coincident-faces.md
  • docs/research/zip-download-streaming-and-shared-ignore-architecture.md
  • docs/research/zoo-kcl-148-integration-audit.md
  • docs/research/zoo-kcl-148-integration-gaps.md
  • docs/research/zoo-kcl-std-prelude-load-failure.md
  • eslint.config.mjs
  • examples/electron-tau/.tau-project/main.scad
  • examples/electron-tau/.tau-project/seeded.scad
  • examples/electron-tau/e2e/_probe.spec.ts
  • examples/electron-tau/e2e/electron-utility-fs-supply.spec.ts
  • examples/electron-tau/e2e/electron-utility-transport.spec.ts
  • examples/electron-tau/e2e/render.spec.ts
  • examples/electron-tau/electron.vite.config.ts
  • examples/electron-tau/package.json
  • examples/electron-tau/playwright.config.ts
  • examples/electron-tau/project.json
  • examples/electron-tau/src/main/fs-bridge.test.ts
  • examples/electron-tau/src/main/fs-bridge.ts
  • examples/electron-tau/src/main/index.ts
  • examples/electron-tau/src/main/kernel-host.ts
  • examples/electron-tau/src/preload/index.ts
  • examples/electron-tau/src/renderer/app.tsx
  • examples/electron-tau/src/renderer/bounding-box-viewer.tsx
  • examples/electron-tau/src/renderer/cube-glb.ts
  • examples/electron-tau/src/renderer/fs-client-package-smoke.test.ts
  • examples/electron-tau/src/renderer/geometry-three-viewer.tsx
  • examples/electron-tau/src/renderer/gltf-inspector.test.ts
  • examples/electron-tau/src/renderer/gltf-inspector.ts
  • examples/electron-tau/src/renderer/index.html
  • examples/electron-tau/src/renderer/main.tsx
  • examples/electron-tau/src/renderer/parameter-override-sync.test.ts
  • examples/electron-tau/src/renderer/parameter-override-sync.ts
  • examples/electron-tau/src/renderer/parameters-form.tsx
  • examples/electron-tau/src/shared/fs-protocol.ts
  • examples/electron-tau/src/shared/ipc.ts
  • examples/electron-tau/src/transport/electron-utility-no-runtime-testing-import.test.ts
  • examples/electron-tau/src/transport/electron-utility-transport-form.test.ts
  • examples/electron-tau/src/transport/electron-utility-transport.schemas.ts
  • examples/electron-tau/src/transport/electron-utility-transport.ts
  • examples/electron-tau/test-results/.last-run.json
  • examples/electron-tau/tsconfig.app.json
  • examples/electron-tau/tsconfig.json
  • examples/electron-tau/tsconfig.spec.json
  • examples/electron-tau/vitest.config.ts
  • examples/electron/README.md
  • examples/electron/electron.vite.config.ts
  • examples/electron/package.json
  • examples/electron/project.json
  • examples/electron/src/main/main.ts
  • examples/electron/src/preload/preload.ts
  • examples/electron/src/renderer/app.tsx
  • examples/electron/src/renderer/components/parameters-panel.tsx
  • examples/electron/src/renderer/components/three-viewer.tsx
  • examples/electron/src/renderer/index.html
  • examples/electron/src/renderer/main.tsx
  • examples/electron/src/renderer/tailwind.css
  • examples/electron/src/tau/kernel-host.ts
  • examples/electron/src/tau/runtime-definition.ts
  • examples/electron/tsconfig.app.json
  • examples/electron/tsconfig.json
  • examples/electron/workspace/main.scad
  • examples/nextjs/README.md
  • examples/nextjs/app/components/parameters-panel.tsx
  • examples/nextjs/app/components/runtime-demo.tsx
  • examples/nextjs/app/components/three-viewer.tsx
  • examples/nextjs/app/globals.css
  • examples/nextjs/app/layout.tsx
  • examples/nextjs/app/page.tsx
  • examples/nextjs/app/runtime-demo-client-entry.tsx
  • examples/nextjs/next.config.ts
  • examples/nextjs/package.json
  • examples/nextjs/postcss.config.mjs
  • examples/nextjs/project.json
  • examples/nextjs/tau/runtime-definition.ts
  • examples/nextjs/tau/runtime.worker.ts
  • examples/nextjs/tsconfig.json
  • examples/react-router/README.md
  • examples/react-router/app/components/parameters-panel.tsx
  • examples/react-router/app/components/runtime-demo.tsx
  • examples/react-router/app/components/three-viewer.tsx
  • examples/react-router/app/globals.css
  • examples/react-router/app/root.tsx
  • examples/react-router/app/routes.ts
  • examples/react-router/app/routes/home.tsx
  • examples/react-router/package.json
  • examples/react-router/project.json
  • examples/react-router/react-router.config.ts
  • examples/react-router/tau/runtime-definition.ts
  • examples/react-router/tau/runtime.worker.ts
  • examples/react-router/tsconfig.json
  • examples/react-router/vite.config.ts
  • infra/docker-compose.test.sh
  • infra/docker-compose.yml
  • infra/seed/default-thumb.webp
  • kernels/openscad/.size-limit.json
  • kernels/openscad/README.md
  • kernels/openscad/copy-files-from-to.cjson
  • kernels/openscad/package.json
  • kernels/openscad/src/index.ts
  • kernels/openscad/src/openscad-rendering.test.ts
  • kernels/openscad/src/openscad.kernel.test.ts
  • kernels/openscad/src/openscad.kernel.ts
  • kernels/openscad/src/openscad.plugin.ts
  • kernels/openscad/src/openscad.schemas.ts
  • kernels/openscad/tsdown.config.ts
  • knip.config.ts
  • libs/api-extractor/README.md
  • libs/api-extractor/package.json
  • libs/api-extractor/project.json
  • libs/api-extractor/src/authoring-types.ts
  • libs/api-extractor/src/extract-geospec-types.ts
  • libs/api-extractor/src/runtime-exports.test.ts
  • libs/billing/package.json
  • libs/chat/package.json
  • libs/chat/src/constants/model.constants.ts
  • libs/chat/src/constants/rpc.constants.test.ts
  • libs/chat/src/constants/rpc.constants.ts
  • libs/chat/src/constants/tool.constants.ts
  • libs/chat/src/index.ts
  • libs/chat/src/rpc/handlers/handle-capture-observations.test.ts
  • libs/chat/src/rpc/handlers/handle-capture-observations.ts
  • libs/chat/src/rpc/handlers/handle-capture-screenshot.test.ts
  • libs/chat/src/rpc/handlers/handle-capture-screenshot.ts
  • libs/chat/src/rpc/handlers/handle-create-file.test.ts
  • libs/chat/src/rpc/handlers/handle-create-file.ts
  • libs/chat/src/rpc/handlers/handle-delete-file.test.ts
  • libs/chat/src/rpc/handlers/handle-delete-file.ts
  • libs/chat/src/rpc/handlers/handle-fetch-geometry.test.ts
  • libs/chat/src/rpc/handlers/handle-fetch-geometry.ts
  • libs/chat/src/rpc/handlers/handle-glob-search.test.ts
  • libs/chat/src/rpc/handlers/handle-glob-search.ts
  • libs/chat/src/rpc/handlers/handle-grep.test.ts
  • libs/chat/src/rpc/handlers/handle-list-directory.test.ts
  • libs/chat/src/rpc/handlers/handle-list-directory.ts
  • libs/chat/src/rpc/handlers/handle-read-file.no-gutter.contract.test.ts
  • libs/chat/src/rpc/handlers/handle-read-file.test.ts
  • libs/chat/src/rpc/handlers/handle-read-file.ts
  • libs/chat/src/rpc/handlers/handle-resolve-skill.ts
  • libs/chat/src/rpc/handlers/handle-run-geospec-tests.test.ts
  • libs/chat/src/rpc/handlers/handle-run-geospec-tests.ts
  • libs/chat/src/rpc/index.ts
  • libs/chat/src/rpc/rpc-dependencies.ts
  • libs/chat/src/rpc/rpc-dispatcher.ts
  • libs/chat/src/rpc/rpc-error.test.ts
  • libs/chat/src/schemas/context-payload.schema.test.ts
  • libs/chat/src/schemas/context-payload.schema.ts
  • libs/chat/src/schemas/file-metadata.schema.ts
  • libs/chat/src/schemas/index.ts
  • libs/chat/src/schemas/message-data.schema.test.ts
  • libs/chat/src/schemas/message-data.schema.ts
  • libs/chat/src/schemas/message.schema.heal-perf.test.ts
  • libs/chat/src/schemas/message.schema.test.ts
  • libs/chat/src/schemas/message.schema.ts
  • libs/chat/src/schemas/metadata.schema.ts
  • libs/chat/src/schemas/provider-tool-schema-compat.test.ts
  • libs/chat/src/schemas/provider-tool-schemas.ts
  • libs/chat/src/schemas/rpc-wire-protocol.schema.test.ts
  • libs/chat/src/schemas/rpc-wire-protocol.schema.ts
  • libs/chat/src/schemas/rpc.schema.test.ts
  • libs/chat/src/schemas/rpc.schema.ts
  • libs/chat/src/schemas/tool-input.registry.test.ts
  • libs/chat/src/schemas/tool-input.registry.ts
  • libs/chat/src/schemas/tool-schemas-registry.ts
  • libs/chat/src/schemas/tools/delete-file.tool.schema.ts
  • libs/chat/src/schemas/tools/glob-search.tool.schema.ts
  • libs/chat/src/schemas/tools/issue.schema.test.ts
  • libs/chat/src/schemas/tools/issue.schema.ts
  • libs/chat/src/schemas/tools/list-directory.tool.schema.ts
  • libs/chat/src/schemas/tools/read-file.tool.schema.ts
  • libs/chat/src/schemas/tools/screenshot.tool.schema.ts
  • libs/chat/src/schemas/tools/test-model-input-normalizer.test.ts
  • libs/chat/src/schemas/tools/test-model-input-normalizer.ts
  • libs/chat/src/schemas/tools/test-model.tool.schema.test-d.ts
  • libs/chat/src/schemas/tools/test-model.tool.schema.ts
  • libs/chat/src/schemas/tools/use-skill.tool.schema.ts
  • libs/chat/src/schemas/use-skill.schema.test.ts
  • libs/chat/src/types/chat.types.ts
  • libs/chat/src/types/model.types.ts
  • libs/chat/src/types/tool.types.ts
  • libs/chat/src/types/websocket.types.test-d.ts
  • libs/chat/src/types/websocket.types.ts
  • libs/chat/src/utils/tool-error.utils.ts
  • libs/chat/src/utils/tool-part.utils.ts
  • libs/lsp-fs/package.json
  • libs/lsp-fs/tsdown.config.ts
  • libs/lsp/package.json
  • libs/oxlint/src/rules/no-bare-rpc-error-code.js
  • libs/oxlint/src/rules/no-bare-rpc-error-code.test.js
  • libs/oxlint/src/rules/no-direct-indexeddb.js
  • libs/oxlint/src/rules/no-direct-indexeddb.test.js
  • libs/oxlint/src/rules/no-impl-in-index.js
  • libs/oxlint/src/rules/no-impl-in-index.test.js
  • libs/oxlint/src/tau-lint.js
  • libs/tau-examples/package.json
  • libs/tau-examples/project.json
  • libs/tau-examples/scripts/generate-manifest.mts
  • libs/tau-examples/scripts/generate-thumbnails.mts
  • libs/tau-examples/scripts/generation.test.ts
  • libs/tau-examples/src/fixture-loader.ts
  • libs/tau-examples/src/index.ts
  • libs/tau-examples/src/kernels/build123d/v8-engine-brep/main.py
  • libs/tau-examples/src/kernels/jscad/cube-cylinder-section-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/cube-cylinder-section-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/cube/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/cylinder/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/edge-occlusion-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/edge-occlusion-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/gear/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/non-manifold-section-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/non-manifold-section-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/section-cap-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/section-cap-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/section-overlap-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/section-overlap-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/section-overlap-heavy-planetary-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/section-overlap-heavy-planetary-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/section-overlap-heavy-v8-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/section-overlap-heavy-v8-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/jscad/section-picking-fixture/main.ts
  • libs/tau-examples/src/kernels/jscad/section-picking-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/occt/v8-engine-brep/Makefile
  • libs/tau-examples/src/kernels/occt/v8-engine-brep/main.cpp
  • libs/tau-examples/src/kernels/occt/v8-engine-brep/v8-engine-brep-native
  • libs/tau-examples/src/kernels/opencascade/v8-engine-brep/main.ts
  • libs/tau-examples/src/kernels/opencascade/v8-engine-brep/thumbnail.webp
  • libs/tau-examples/src/kernels/openscad/kitchen-sink/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/bambu-plate/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/birdhouse/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/bottle/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/card-holder/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/chair/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/cycloidal-gear/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/decorated-box/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/drinking-glass/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/flower-attachment-section-outline-fixture/main.ts
  • libs/tau-examples/src/kernels/replicad/flower-attachment-section-outline-fixture/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/gridfinity-box/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/helical-gear/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/hex-screwdriver/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/hollow-box/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/ibeam/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/lego/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/logo-keychain/logo-keychain.geospec.ts
  • libs/tau-examples/src/kernels/replicad/logo-keychain/main.ts
  • libs/tau-examples/src/kernels/replicad/logo-keychain/params.ts
  • libs/tau-examples/src/kernels/replicad/logo-keychain/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/pot-plant/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/projection-test/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/rao-nozzle/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/simple-tray/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/staircase/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/stress-test/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/t-slot-rail/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/table/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/tray/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/README.md
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/census.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/deferred-frontiers.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/dfm-structure.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/fits.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/flow-paths.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/pin-retention.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/sealing.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/split-lines-fasteners.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/geospec/valvetrain-drive.geospec.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/annotate.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/assembly.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/block.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/covers.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/crank.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/cranktrain.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/exhaust.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/fasteners.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/frame.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/head.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/induction.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/kinematics.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/params.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/piston-group.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/rod.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/valve-parts.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/lib/valvetrain.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/census.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/contract-base.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/contract-motion.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/contract-structure.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/deferrals.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/fits.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/spec/requirements.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/assembly.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/block.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/camshaft.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/connecting-rod.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/crankshaft.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/cylinder-head.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/exhaust-gasket.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/exhaust-header.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/front-cover.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/head-gasket.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/piston.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/service-access.ts
  • libs/tau-examples/src/kernels/replicad/v8-engine-rev2/test-exports/sub-assembly.ts
  • libs/tau-examples/src/kernels/replicad/vase/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/wavy-vase/thumbnail.webp
  • libs/tau-examples/src/kernels/replicad/wedge-door-stopper/main.ts
  • libs/tau-examples/src/kernels/replicad/wedge-door-stopper/thumbnail.webp
  • libs/tau-examples/src/manifest.json
  • libs/tau-examples/src/manifest.ts
  • libs/tau-examples/src/project.examples.ts
  • libs/tau-examples/src/thumbnail.assets.ts
  • libs/tau-examples/src/types/qr-code-generator-lib.d.ts
  • libs/tau-examples/src/types/vite-env.d.ts
  • libs/tau-examples/tsconfig.spec.json
  • libs/vite/package.json
  • license-deps
  • nx.json
  • package.json
  • packages/cli/package.json
  • packages/cli/src/commands/export.test.ts
  • packages/cli/src/commands/export.ts
  • packages/cli/tsdown.config.ts
  • packages/converter/.attw.json
  • packages/converter/package.json
  • packages/converter/src/export.test.ts
  • packages/converter/src/gltf.extensions.ts
  • packages/converter/src/loaders/occt.loader.test.ts
  • packages/converter/src/loaders/occt.loader.ts
  • packages/converter/tsconfig.build.json
  • packages/converter/tsdown.config.ts
  • packages/events/package.json
  • packages/events/tsdown.config.ts
  • packages/filesystem/package.json
  • packages/filesystem/src/backend/abstract-provider.test.ts
  • packages/filesystem/src/backend/direct-idb-provider.test.ts
  • packages/filesystem/src/backend/direct-idb-provider.ts
  • packages/filesystem/src/backend/fs-access-provider.ts
  • packages/filesystem/src/backend/memory-provider.ts
  • packages/filesystem/src/bundled-types-mount.test.ts
  • packages/filesystem/src/bundled-types-mount.ts
  • packages/filesystem/src/change-event-bus.test.ts
  • packages/filesystem/src/content-metadata.test.ts
  • packages/filesystem/src/content-metadata.ts
  • packages/filesystem/src/import-boundary.test.ts
  • packages/filesystem/src/in-memory-file-tree.test.ts
  • packages/filesystem/src/in-memory-file-tree.ts
  • packages/filesystem/src/index.ts
  • packages/filesystem/src/mount-table.integration.test.ts
  • packages/filesystem/src/resource-queue.test.ts
  • packages/filesystem/src/resource-queue.ts
  • packages/filesystem/src/resource-write-queue.test.ts
  • packages/filesystem/src/resource-write-queue.ts
  • packages/filesystem/src/stress.test.ts
  • packages/filesystem/src/types.ts
  • packages/filesystem/src/watch-registry.test.ts
  • packages/filesystem/src/workspace-file-service-scope-routing.test.ts
  • packages/filesystem/src/workspace-file-service.test.ts
  • packages/filesystem/src/workspace-file-service.ts
  • packages/filesystem/src/write-coordinator.test.ts
  • packages/filesystem/src/write-coordinator.ts
  • packages/filesystem/tsdown.config.ts
  • packages/fs-bridge/README.md
  • packages/fs-bridge/package.json
  • packages/fs-bridge/project.json
  • packages/fs-bridge/src/filesystem-bridge.test-d.ts
  • packages/fs-bridge/src/filesystem-bridge.test.ts
  • packages/fs-bridge/src/filesystem-bridge.ts
  • packages/fs-bridge/src/import-boundary.test.ts
  • packages/fs-bridge/src/index.ts
  • packages/fs-bridge/tsconfig.build.json
  • packages/fs-bridge/tsconfig.json
  • packages/fs-bridge/tsconfig.lib.json
  • packages/fs-bridge/tsconfig.spec.json
  • packages/fs-bridge/tsdown.config.ts
  • packages/fs-bridge/vitest.config.ts
  • packages/fs-client/package.json
  • packages/fs-client/src/directory-listing.ts
  • packages/fs-client/src/file-content-service.test.ts
  • packages/fs-client/src/file-content-service.ts
  • packages/fs-client/src/file-system-client.ts
  • packages/fs-client/src/file-tree-service.test.ts
  • packages/fs-client/src/file-tree-service.ts
  • packages/fs-client/src/seems-binary.ts
  • packages/fs-client/src/worker-change-channel.test.ts
  • packages/fs-client/tsdown.config.ts
  • packages/geospec/README.md
  • packages/geospec/TODO.md
  • packages/geospec/experiments/load-path/benchmark.ts
  • packages/geospec/experiments/load-path/profiler.test.ts
  • packages/geospec/experiments/load-path/profiler.ts
  • packages/geospec/experiments/load-path/summary.test.ts
  • packages/geospec/experiments/load-path/summary.ts
  • packages/geospec/experiments/matcher-performance/benchmark.ts
  • packages/geospec/experiments/overlap-backends/benchmark.ts
  • packages/geospec/experiments/overlap-backends/component-records.ts
  • packages/geospec/experiments/overlap-backends/fixtures.ts
  • packages/geospec/experiments/overlap-backends/index.ts
  • packages/geospec/experiments/overlap-backends/manifold-volume.ts
  • packages/geospec/experiments/overlap-backends/opencascade-baseline.ts
  • packages/geospec/experiments/overlap-backends/three-mesh-bvh-relation.ts
  • packages/geospec/experiments/overlap-backends/types.ts
  • packages/geospec/fixtures/README.md
  • packages/geospec/fixtures/clearance/aabb-gap-false-positive/manifest.json
  • packages/geospec/fixtures/clearance/aabb-gap-false-positive/model.step
  • packages/geospec/fixtures/clearance/bolt-clearance-hole-positive/manifest.json
  • packages/geospec/fixtures/clearance/bolt-clearance-hole-positive/model.step
  • packages/geospec/fixtures/clearance/piston-bore-skirt-positive/manifest.json
  • packages/geospec/fixtures/clearance/piston-bore-skirt-positive/model.step
  • packages/geospec/fixtures/clearance/shaft-bore-offset-negative/manifest.json
  • packages/geospec/fixtures/clearance/shaft-bore-offset-negative/model.step
  • packages/geospec/fixtures/clearance/shaft-bore-radial-positive/manifest.json
  • packages/geospec/fixtures/clearance/shaft-bore-radial-positive/model.step
  • packages/geospec/fixtures/clearance/shaft-bore-tilted-negative/manifest.json
  • packages/geospec/fixtures/clearance/shaft-bore-tilted-negative/model.step
  • packages/geospec/fixtures/clearance/shaft-bore-too-loose-negative/manifest.json
  • packages/geospec/fixtures/clearance/shaft-bore-too-loose-negative/model.step
  • packages/geospec/fixtures/clearance/shaft-bore-too-tight-negative/manifest.json
  • packages/geospec/fixtures/clearance/shaft-bore-too-tight-negative/model.step
  • packages/geospec/fixtures/contact/aabb-overlap-false-positive/manifest.json
  • packages/geospec/fixtures/contact/aabb-overlap-false-positive/model.step
  • packages/geospec/fixtures/contact/edge-only-negative/manifest.json
  • packages/geospec/fixtures/contact/edge-only-negative/model.step
  • packages/geospec/fixtures/contact/flange-face-gap-negative/manifest.json
  • packages/geospec/fixtures/contact/flange-face-gap-negative/model.step
  • packages/geospec/fixtures/contact/flange-face-positive/manifest.json
  • packages/geospec/fixtures/contact/flange-face-positive/model.step
  • packages/geospec/fixtures/contact/flange-face-tilted-negative/manifest.json
  • packages/geospec/fixtures/contact/flange-face-tilted-negative/model.step
  • packages/geospec/fixtures/contact/gasket-sandwich-gap-negative/manifest.json
  • packages/geospec/fixtures/contact/gasket-sandwich-gap-negative/model.step
  • packages/geospec/fixtures/contact/gasket-sandwich-positive/manifest.json
  • packages/geospec/fixtures/contact/gasket-sandwich-positive/model.step
  • packages/geospec/fixtures/contact/plug-seat-positive/manifest.json
  • packages/geospec/fixtures/contact/plug-seat-positive/model.step
  • packages/geospec/fixtures/contact/valve-seat-cone-positive/manifest.json
  • packages/geospec/fixtures/contact/valve-seat-cone-positive/model.step
  • packages/geospec/fixtures/containment/aabb-inside-false-positive/manifest.json
  • packages/geospec/fixtures/containment/aabb-inside-false-positive/model.step
  • packages/geospec/fixtures/containment/filter-inside-housing-positive/manifest.json
  • packages/geospec/fixtures/containment/filter-inside-housing-positive/model.step
  • packages/geospec/fixtures/containment/pin-partial-insertion-negative/manifest.json
  • packages/geospec/fixtures/containment/pin-partial-insertion-negative/model.step
  • packages/geospec/fixtures/containment/pin-through-boss-positive/manifest.json
  • packages/geospec/fixtures/containment/pin-through-boss-positive/model.step
  • packages/geospec/fixtures/containment/sidewall-intersection-negative/manifest.json
  • packages/geospec/fixtures/containment/sidewall-intersection-negative/model.step
  • packages/geospec/fixtures/containment/spark-plug-thread-positive/manifest.json
  • packages/geospec/fixtures/containment/spark-plug-thread-positive/model.step
  • packages/geospec/fixtures/containment/valve-stem-guide-positive/manifest.json
  • packages/geospec/fixtures/containment/valve-stem-guide-positive/model.step
  • packages/geospec/fixtures/mate/aabb-pass-real-fail/manifest.json
  • packages/geospec/fixtures/mate/aabb-pass-real-fail/model.step
  • packages/geospec/fixtures/mate/dowel-located-flange-offset-negative/manifest.json
  • packages/geospec/fixtures/mate/dowel-located-flange-offset-negative/model.step
  • packages/geospec/fixtures/mate/dowel-located-flange-positive/manifest.json
  • packages/geospec/fixtures/mate/dowel-located-flange-positive/model.step
  • packages/geospec/fixtures/mate/dowel-located-flange-rotated-negative/manifest.json
  • packages/geospec/fixtures/mate/dowel-located-flange-rotated-negative/model.step
  • packages/geospec/fixtures/mate/flanged-pipe-port-positive/manifest.json
  • packages/geospec/fixtures/mate/flanged-pipe-port-positive/model.step
  • packages/geospec/fixtures/mate/shaft-shoulder-bearing-positive/manifest.json
  • packages/geospec/fixtures/mate/shaft-shoulder-bearing-positive/model.step
  • packages/geospec/fixtures/mate/shaft-shoulder-stand-off-negative/manifest.json
  • packages/geospec/fixtures/mate/shaft-shoulder-stand-off-negative/model.step
  • packages/geospec/fixtures/scripts/clearance/bolt-clearance-hole/main.ts
  • packages/geospec/fixtures/scripts/clearance/piston-bore/main.ts
  • packages/geospec/fixtures/scripts/clearance/shaft-bore/main.ts
  • packages/geospec/fixtures/scripts/contact/aabb-overlap/main.ts
  • packages/geospec/fixtures/scripts/contact/edge-only/main.ts
  • packages/geospec/fixtures/scripts/contact/flange-face/main.ts
  • packages/geospec/fixtures/scripts/contact/gasket-sandwich/main.ts
  • packages/geospec/fixtures/scripts/contact/plug-seat/main.ts
  • packages/geospec/fixtures/scripts/contact/valve-seat-cone/main.ts
  • packages/geospec/fixtures/scripts/containment/filter-inside-housing/main.ts
  • packages/geospec/fixtures/scripts/containment/pin-through-boss/main.ts
  • packages/geospec/fixtures/scripts/containment/valve-stem-guide/main.ts
  • packages/geospec/fixtures/scripts/mate/dowel-located-flange/main.ts
  • packages/geospec/fixtures/scripts/mate/flanged-pipe-port/main.ts
  • packages/geospec/fixtures/scripts/mate/shaft-shoulder/main.ts
  • packages/geospec/fixtures/scripts/regenerate.mjs
  • packages/geospec/fixtures/scripts/selector/bolt-circle/main.ts
  • packages/geospec/fixtures/scripts/selector/twin-bosses/main.ts
  • packages/geospec/fixtures/scripts/selector/unnamed-import/main.ts
  • packages/geospec/fixtures/selector/bolt-circle-drift-negative/manifest.json
  • packages/geospec/fixtures/selector/bolt-circle-drift-negative/model.step
  • packages/geospec/fixtures/selector/bolt-circle-positive/manifest.json
  • packages/geospec/fixtures/selector/bolt-circle-positive/model.step
  • packages/geospec/fixtures/selector/second-producer-transformed/manifest.json
  • packages/geospec/fixtures/selector/second-producer-transformed/model.step
  • packages/geospec/fixtures/selector/twin-bosses-ambiguous/manifest.json
  • packages/geospec/fixtures/selector/twin-bosses-ambiguous/model.step
  • packages/geospec/fixtures/selector/unnamed-import/manifest.json
  • packages/geospec/fixtures/selector/unnamed-import/model.step
  • packages/geospec/fixtures/xde/two-cube-assembly.step
  • packages/geospec/native/opencascade/README.md
  • packages/geospec/native/opencascade/geospec.single.yml
  • packages/geospec/native/opencascade/geospec_opencascade_single.build-manifest.json
  • packages/geospec/native/opencascade/geospec_opencascade_single.d.ts
  • packages/geospec/native/opencascade/geospec_opencascade_single.js
  • packages/geospec/native/opencascade/geospec_opencascade_single.provenance.json
  • packages/geospec/native/opencascade/wrappers/geospec-mesh-metrics.cpp
  • packages/geospec/native/opencascade/wrappers/geospec-step-reader.cpp
  • packages/geospec/native/opencascade/wrappers/geospec-xde-reader.cpp
  • packages/geospec/package.json
  • packages/geospec/project.json
  • packages/geospec/src/acceptance/acceptance.test.ts
  • packages/geospec/src/acceptance/manifest-types.ts
  • packages/geospec/src/brep/analyze-brep.ts
  • packages/geospec/src/brep/index.ts
  • packages/geospec/src/cli.test.ts
  • packages/geospec/src/cli.ts
  • packages/geospec/src/config/define-geospec-config.ts
  • packages/geospec/src/config/index.ts
  • packages/geospec/src/create-geospec.ts
  • packages/geospec/src/index.test.ts
  • packages/geospec/src/index.ts
  • packages/geospec/src/inspection/index.ts
  • packages/geospec/src/inspection/inspect.test.ts
  • packages/geospec/src/inspection/inspect.ts
  • packages/geospec/src/mesh/_internal/spatial-welding.ts
  • packages/geospec/src/mesh/analysis-record.test.ts
  • packages/geospec/src/mesh/analysis-record.ts
  • packages/geospec/src/mesh/analyze-glb.ts
  • packages/geospec/src/mesh/connected-components.ts
  • packages/geospec/src/mesh/distance.test.ts
  • packages/geospec/src/mesh/distance.ts
  • packages/geospec/src/mesh/experiment-boundary.test.ts
  • packages/geospec/src/mesh/index.ts
  • packages/geospec/src/mesh/load-mesh.test.ts
  • packages/geospec/src/mesh/load-mesh.ts
  • packages/geospec/src/mesh/mesh-quality.test.ts
  • packages/geospec/src/mesh/mesh-quality.ts
  • packages/geospec/src/mesh/native.ts
  • packages/geospec/src/mesh/openscad-plaque-watertightness.test.ts
  • packages/geospec/src/mesh/overlap-backends-poc.test.ts
  • packages/geospec/src/mesh/overlap.test.ts
  • packages/geospec/src/mesh/overlap.ts
  • packages/geospec/src/mesh/types.ts
  • packages/geospec/src/mesh/watertight.ts
  • packages/geospec/src/model/cube-cutout-brep.test.ts
  • packages/geospec/src/model/distribution-smoke.test.ts
  • packages/geospec/src/model/errors.ts
  • packages/geospec/src/model/export-intent.test.ts
  • packages/geospec/src/model/export-intent.ts
  • packages/geospec/src/model/index.ts
  • packages/geospec/src/model/load-model.test.ts
  • packages/geospec/src/model/load-model.ts
  • packages/geospec/src/model/model-types.test-d.ts
  • packages/geospec/src/model/runtime.ts
  • packages/geospec/src/model/types.ts
  • packages/geospec/src/model/wall-thickness-brep.test.ts
  • packages/geospec/src/package-metadata.test.ts
  • packages/geospec/src/proofs/index.ts
  • packages/geospec/src/proofs/native-proofs.test.ts
  • packages/geospec/src/proofs/relationship-proofs.test.ts
  • packages/geospec/src/proofs/relationship-proofs.ts
  • packages/geospec/src/proofs/subject-context.ts
  • packages/geospec/src/proofs/types.ts
  • packages/geospec/src/proofs/void-continuity.test.ts
  • packages/geospec/src/proofs/void-continuity.ts
  • packages/geospec/src/runner/brep-feature-matchers.test.ts
  • packages/geospec/src/runner/collector.ts
  • packages/geospec/src/runner/component-interference-matcher.test.ts
  • packages/geospec/src/runner/discovery.test.ts
  • packages/geospec/src/runner/discovery.ts
  • packages/geospec/src/runner/filter.ts
  • packages/geospec/src/runner/forensic.ts
  • packages/geospec/src/runner/index.ts
  • packages/geospec/src/runner/matcher-budget.test.ts
  • packages/geospec/src/runner/matcher-budget.ts
  • packages/geospec/src/runner/measurement-matchers.test.ts
  • packages/geospec/src/runner/model-load-cache.test.ts
  • packages/geospec/src/runner/model-load-cache.ts
  • packages/geospec/src/runner/node/index.ts
  • packages/geospec/src/runner/node/invocation-context.test.ts
  • packages/geospec/src/runner/node/invocation-context.ts
  • packages/geospec/src/runner/node/node-runner.ts
  • packages/geospec/src/runner/production-matchers.test.ts
  • packages/geospec/src/runner/profile.ts
  • packages/geospec/src/runner/resource-scope.test.ts
  • packages/geospec/src/runner/resource-scope.ts
  • packages/geospec/src/runner/run-geospec-module.ts
  • packages/geospec/src/runner/types.ts
  • packages/geospec/src/runner/web/index.ts
  • packages/geospec/src/runner/web/web-runner.ts
  • packages/geospec/src/runner/worker-runner.test.ts
  • packages/geospec/src/runner/worker/index.ts
  • packages/geospec/src/runner/worker/no-matching-tests-issue.ts
  • packages/geospec/src/runner/worker/runner-types.ts
  • packages/geospec/src/runner/worker/serial-runner.ts
  • packages/geospec/src/selector/__fixtures__/two-cube-fixture.ts
  • packages/geospec/src/selector/diagnostics.ts
  • packages/geospec/src/selector/grammar.test.ts
  • packages/geospec/src/selector/grammar.ts
  • packages/geospec/src/selector/index-builder.test.ts
  • packages/geospec/src/selector/index-builder.ts
  • packages/geospec/src/selector/index.ts
  • packages/geospec/src/selector/resolve.test.ts
  • packages/geospec/src/selector/resolve.ts
  • packages/geospec/src/selector/tolerances.test.ts
  • packages/geospec/src/selector/tolerances.ts
  • packages/geospec/src/selector/types.test.ts
  • packages/geospec/src/selector/types.ts
  • packages/geospec/src/selector/vector-math.ts
  • packages/geospec/src/step/index.ts
  • packages/geospec/src/step/load-step.test.ts
  • packages/geospec/src/step/load-step.ts
  • packages/geospec/src/step/replicad-runtime-xde.test.ts
  • packages/geospec/src/step/types.ts
  • packages/geospec/src/step/xde-reader.test.ts
  • packages/geospec/tsconfig.build.json
  • packages/geospec/tsconfig.json
  • packages/geospec/tsconfig.lib.json
  • packages/geospec/tsconfig.spec.json
  • packages/geospec/tsdown.config.ts
  • packages/geospec/vitest.config.ts
  • packages/gltf-extensions/README.md
  • packages/gltf-extensions/package.json
  • packages/gltf-extensions/project.json
  • packages/gltf-extensions/src/fb-ngon-encoding.ts
  • packages/gltf-extensions/src/index.ts
  • packages/gltf-extensions/src/json.test.ts
  • packages/gltf-extensions/src/json.ts
  • packages/gltf-extensions/src/kittycad-boundary-representation.ts
  • packages/gltf-extensions/src/registry.ts
  • packages/gltf-extensions/src/tau-cad-topology.ts
  • packages/gltf-extensions/tsconfig.build.json
  • packages/gltf-extensions/tsconfig.json
  • packages/gltf-extensions/tsconfig.lib.json
  • packages/gltf-extensions/tsconfig.spec.json
  • packages/gltf-extensions/tsdown.config.ts
  • packages/gltf-extensions/vitest.config.ts
  • packages/js/package.json
  • packages/js/project.json
  • packages/js/src/index.test.ts
  • packages/js/src/index.ts
  • packages/js/tsconfig.lib.json
  • packages/js/tsconfig.spec.json
  • packages/js/tsdown.config.ts
  • packages/js/vitest.config.ts
  • packages/json-schema/package.json
  • packages/json-schema/src/index.ts
  • packages/json-schema/src/to-json-schema/helpers.ts
  • packages/json-schema/src/to-json-schema/to-json-schema.ts
  • packages/json-schema/tsdown.config.ts
  • packages/memory/package.json
  • packages/memory/src/fnv1a64.test.ts
  • packages/memory/src/fnv1a64.ts
  • packages/memory/src/shared-pool.ts
  • packages/memory/tsdown.config.ts
  • packages/react/README.md
  • packages/react/package.json
  • packages/react/project.json
  • packages/react/src/hooks/use-render.test.ts
  • packages/react/src/hooks/use-render.ts
  • packages/react/src/hooks/use-runtime.test-d.ts
  • packages/react/src/hooks/use-runtime.test.ts
  • packages/react/src/hooks/use-runtime.ts
  • packages/react/src/index.ts
  • packages/react/tsdown.config.ts
  • packages/react/vitest.config.ts
  • packages/render/.gitignore
  • packages/render/package.json
  • packages/render/project.json
  • packages/render/rust/Cargo.toml
  • packages/render/rust/render-core/Cargo.toml
  • packages/render/rust/render-core/examples/bench.rs
  • packages/render/rust/render-core/examples/render.rs
  • packages/render/rust/render-core/src/axis_indicator.rs
  • packages/render/rust/render-core/src/bench.rs
  • packages/render/rust/render-core/src/encode.rs
  • packages/render/rust/render-core/src/glb.rs
  • packages/render/rust/render-core/src/lib.rs
  • packages/render/rust/render-core/src/options.rs
  • packages/render/rust/render-core/src/render.rs
  • packages/render/rust/render-core/src/shader.wgsl
  • packages/render/rust/render-napi/Cargo.toml
  • packages/render/rust/render-napi/build.rs
  • packages/render/rust/render-napi/src/lib.rs
  • packages/render/rust/render-wasm/Cargo.toml
  • packages/render/rust/render-wasm/src/lib.rs
  • packages/render/rust/vendor/image-webp/Cargo.toml
  • packages/render/rust/vendor/image-webp/LICENSE-APACHE
  • packages/render/rust/vendor/image-webp/LICENSE-MIT
  • packages/render/rust/vendor/image-webp/README.md
  • packages/render/rust/vendor/image-webp/src/alpha_blending.rs
  • packages/render/rust/vendor/image-webp/src/decoder.rs
  • packages/render/rust/vendor/image-webp/src/encoder.rs
  • packages/render/rust/vendor/image-webp/src/extended.rs
  • packages/render/rust/vendor/image-webp/src/huffman.rs
  • packages/render/rust/vendor/image-webp/src/lib.rs
  • packages/render/rust/vendor/image-webp/src/loop_filter.rs
  • packages/render/rust/vendor/image-webp/src/lossless.rs
  • packages/render/rust/vendor/image-webp/src/lossless_transform.rs
  • packages/render/rust/vendor/image-webp/src/mod.rs
  • packages/render/rust/vendor/image-webp/src/transform.rs
  • packages/render/rust/vendor/image-webp/src/vp8.rs
  • packages/render/rust/vendor/image-webp/src/vp8_arithmetic_decoder.rs
  • packages/render/rust/vendor/image-webp/src/yuv.rs
  • packages/render/spike/bench-chrome.mjs
  • packages/render/spike/bench-napi.mjs
  • packages/render/spike/bench-safari.mjs
  • packages/render/spike/browser/index.html
  • packages/render/spike/browser/worker.mjs
  • packages/render/spike/chrome-test.mjs
  • packages/render/spike/firefox-test.mjs
  • packages/render/spike/fixtures/gear-12.glb
  • packages/render/spike/fixtures/interleaved-instanced-lines.glb
  • packages/render/spike/napi-smoke.mjs
  • packages/render/spike/safari-test.mjs
  • packages/render/spike/server.mjs
  • packages/render/src/index.test-d.ts
  • packages/render/src/index.test.ts
  • packages/render/src/index.ts
  • packages/render/src/options.test.ts
  • packages/render/src/options.ts
  • packages/render/src/render-error.test.ts
  • packages/render/src/render-error.ts
  • packages/render/src/render-glb-to-image.ts
  • packages/render/src/render-glb-to-images.ts
  • packages/render/src/renderer.ts
  • packages/render/src/wasm/package.json
  • packages/render/src/wasm/render_wasm.d.ts
  • packages/render/src/wasm/render_wasm.js
  • packages/render/src/wasm/render_wasm_bg.wasm.d.ts
  • packages/render/tsconfig.json
  • packages/render/tsconfig.lib.json
  • packages/render/tsconfig.spec.json
  • packages/render/vitest.config.ts
  • packages/rpc/package.json
  • packages/rpc/src/bridge/bridge-call.ts
  • packages/rpc/src/bridge/bridge-errors.ts
  • packages/rpc/src/bridge/bridge-internal.test.ts
  • packages/rpc/src/bridge/bridge-internal.ts
  • packages/rpc/src/bridge/bridge-port.ts
  • packages/rpc/src/bridge/bridge-protocol.ts
  • packages/rpc/src/bridge/bridge-proxy.ts
  • packages/rpc/src/bridge/bridge-server.ts
  • packages/rpc/src/bridge/import-boundary.test.ts
  • packages/rpc/src/bridge/index.test.ts
  • packages/rpc/src/bridge/index.ts
  • packages/rpc/src/bridge/push-queue.ts
  • packages/rpc/src/bridge/transferables.ts
  • packages/rpc/tsdown.config.ts
  • packages/runtime/.attw.json
  • packages/runtime/.size-limit.json
  • packages/runtime/README.md
  • packages/runtime/copy-files-from-to.cjson
  • packages/runtime/package.json
  • packages/runtime/project.json
  • packages/runtime/scripts/audit-public-surface.mts
  • packages/runtime/scripts/benchmark-opencascade-brep-surfaces.mts
  • packages/runtime/scripts/benchmark-replicad-tessellation.mts
  • packages/runtime/src/benchmarks/benchmark-runner.ts
  • packages/runtime/src/bundler/esbuild-runtime-adapter.test.ts
  • packages/runtime/src/bundler/esbuild.bundler.ts
  • packages/runtime/src/bundler/esbuild.constants.ts
  • packages/runtime/src/cache/file-content-cache.test.ts
  • packages/runtime/src/cache/file-content-cache.ts
  • packages/runtime/src/client/create-runtime-client-options.test-d.ts
  • packages/runtime/src/client/index.ts
  • packages/runtime/src/client/open-file-input.test-d.ts
  • packages/runtime/src/client/runtime-client-core.ts
  • packages/runtime/src/client/runtime-client-events.test-d.ts
  • packages/runtime/src/client/runtime-client-export.test.ts
  • packages/runtime/src/client/runtime-client-options.test.ts
  • packages/runtime/src/client/runtime-client-options.ts
  • packages/runtime/src/client/runtime-client-plugin-materialization.test.ts
  • packages/runtime/src/client/runtime-client-status.test.ts
  • packages/runtime/src/client/runtime-client.surface.test.ts
  • packages/runtime/src/client/runtime-client.ts
  • packages/runtime/src/client/runtime-error-codes.test.ts
  • packages/runtime/src/client/runtime-source-input.test-d.ts
  • packages/runtime/src/cross-origin-isolation/headers.ts
  • packages/runtime/src/cross-origin-isolation/index.ts
  • packages/runtime/src/electron/constants.ts
  • packages/runtime/src/electron/electron-main.test.ts
  • packages/runtime/src/electron/electron-renderer.test.ts
  • packages/runtime/src/electron/electron-utility-client.ts
  • packages/runtime/src/electron/electron-utility-host.ts
  • packages/runtime/src/electron/electron-utility-transport.schemas.ts
  • packages/runtime/src/electron/electron-utility-transport.ts
  • packages/runtime/src/electron/electron-utility.test.ts
  • packages/runtime/src/electron/main.ts
  • packages/runtime/src/electron/preload.ts
  • packages/runtime/src/electron/renderer.ts
  • packages/runtime/src/electron/utility.ts
  • packages/runtime/src/exports-coverage.test.ts
  • packages/runtime/src/filesystem/filesystem-bridge.test.ts
  • packages/runtime/src/filesystem/filesystem-bridge.ts
  • packages/runtime/src/filesystem/filesystem-public-surface.test.ts
  • packages/runtime/src/filesystem/filesystem-wrappers.test.ts
  • packages/runtime/src/filesystem/from-browser-fs.ts
  • packages/runtime/src/filesystem/from-node-fs.ts
  • packages/runtime/src/filesystem/fs-factory-rename.test.ts
  • packages/runtime/src/filesystem/index.ts
  • packages/runtime/src/filesystem/runtime-filesystem-opaque.test-d.ts
  • packages/runtime/src/filesystem/runtime-filesystem.ts
  • packages/runtime/src/framework/async-polyfills.test.ts
  • packages/runtime/src/framework/async-polyfills.ts
  • packages/runtime/src/framework/common.test.ts
  • packages/runtime/src/framework/common.ts
  • packages/runtime/src/framework/kernel-library-tracing.test.ts
  • packages/runtime/src/framework/kernel-library-tracing.ts
  • packages/runtime/src/framework/kernel-runtime-worker.test.ts
  • packages/runtime/src/framework/kernel-runtime-worker.ts
  • packages/runtime/src/framework/kernel-worker-hashing.test.ts
  • packages/runtime/src/framework/kernel-worker.test.ts
  • packages/runtime/src/framework/kernel-worker.ts
  • packages/runtime/src/framework/render-artifact-finalizer.test.ts
  • packages/runtime/src/framework/render-artifact-finalizer.ts
  • packages/runtime/src/framework/render-artifact.ts
  • packages/runtime/src/framework/runtime-framework.constants.ts
  • packages/runtime/src/framework/runtime-tracer.test.ts
  • packages/runtime/src/framework/runtime-tracer.ts
  • packages/runtime/src/framework/runtime-worker-client.ts
  • packages/runtime/src/framework/wasm-loader.test.ts
  • packages/runtime/src/framework/wasm-loader.ts
  • packages/runtime/src/framework/worker-telemetry.test.ts
  • packages/runtime/src/framework/worker-telemetry.ts
  • packages/runtime/src/host/create-runtime-host.test.ts
  • packages/runtime/src/host/runtime-host.types.ts
  • packages/runtime/src/index.surface.test.ts
  • packages/runtime/src/index.ts
  • packages/runtime/src/kernels/cross-kernel-mesh-parity.test.ts
  • packages/runtime/src/kernels/jscad/jscad-diagnostics.ts
  • packages/runtime/src/kernels/jscad/jscad-modeling.ts
  • packages/runtime/src/kernels/jscad/jscad-parts.ts
  • packages/runtime/src/kernels/jscad/jscad-rendering.test.ts
  • packages/runtime/src/kernels/jscad/jscad-to-gltf.test.ts
  • packages/runtime/src/kernels/jscad/jscad-to-gltf.ts
  • packages/runtime/src/kernels/jscad/jscad.kernel.test.ts
  • packages/runtime/src/kernels/jscad/jscad.kernel.ts
  • packages/runtime/src/kernels/jscad/jscad.plugin.ts
  • packages/runtime/src/kernels/jscad/jscad.schemas.ts
  • packages/runtime/src/kernels/kernel-module-helpers.test.ts
  • packages/runtime/src/kernels/kernel-module-helpers.ts
  • packages/runtime/src/kernels/manifold/manifold-rendering.test.ts
  • packages/runtime/src/kernels/manifold/manifold.kernel.test.ts
  • packages/runtime/src/kernels/manifold/manifold.kernel.ts
  • packages/runtime/src/kernels/manifold/manifold.plugin.ts
  • packages/runtime/src/kernels/manifold/manifold.schemas.ts
  • packages/runtime/src/kernels/occt-tessellation-defaults.test.ts
  • packages/runtime/src/kernels/occt/oc-exceptions.test.ts
  • packages/runtime/src/kernels/occt/oc-exceptions.ts
  • packages/runtime/src/kernels/occt/oc-init.ts
  • packages/runtime/src/kernels/occt/oc-threading.ts
  • packages/runtime/src/kernels/occt/oc-tracing.ts
  • packages/runtime/src/kernels/occt/wasm-exception.ts
  • packages/runtime/src/kernels/opencascade/opencascade-mesh.ts
  • packages/runtime/src/kernels/opencascade/opencascade-multithreaded.kernel.test.ts
  • packages/runtime/src/kernels/opencascade/opencascade-rendering.test.ts
  • packages/runtime/src/kernels/opencascade/opencascade.constants.ts
  • packages/runtime/src/kernels/opencascade/opencascade.kernel.test.ts
  • packages/runtime/src/kernels/opencascade/opencascade.kernel.ts
  • packages/runtime/src/kernels/opencascade/opencascade.plugin.ts
  • packages/runtime/src/kernels/opencascade/opencascade.schemas.ts
  • packages/runtime/src/kernels/replicad/annotations/index.ts
  • packages/runtime/src/kernels/replicad/annotations/interface-declarations.ts
  • packages/runtime/src/kernels/replicad/export/interface-export.ts
  • packages/runtime/src/kernels/replicad/interface-resolution.ts
  • packages/runtime/src/kernels/replicad/replicad-rendering.test.ts
  • packages/runtime/src/kernels/replicad/replicad-step-geospec.test.ts
  • packages/runtime/src/kernels/replicad/replicad-step-raw-import.test.ts
  • packages/runtime/src/kernels/replicad/replicad-stepcaf-chamfer.test.ts
  • packages/runtime/src/kernels/replicad/replicad-wasm-loader.test.ts
  • packages/runtime/src/kernels/replicad/replicad-wasm-multi-loader.ts
  • packages/runtime/src/kernels/replicad/replicad-wasm-runtime-info.test.ts
  • packages/runtime/src/kernels/replicad/replicad-wasm-single-loader.ts
  • packages/runtime/src/kernels/replicad/replicad.constants.ts
  • packages/runtime/src/kernels/replicad/replicad.kernel.test.ts
  • packages/runtime/src/kernels/replicad/replicad.kernel.ts
  • packages/runtime/src/kernels/replicad/replicad.plugin.ts
  • packages/runtime/src/kernels/replicad/replicad.schemas.ts
  • packages/runtime/src/kernels/replicad/utils/render-output.ts
  • packages/runtime/src/kernels/replicad/utils/replicad-to-gltf.test.ts
  • packages/runtime/src/kernels/replicad/utils/replicad-to-gltf.ts
  • packages/runtime/src/kernels/replicad/utils/tessellation-instancing.test.ts
  • packages/runtime/src/kernels/replicad/utils/tessellation-instancing.ts
  • packages/runtime/src/kernels/tau/tau.kernel.test.ts
  • packages/runtime/src/kernels/tau/tau.kernel.ts
  • packages/runtime/src/kernels/tau/tau.plugin.ts
  • packages/runtime/src/kernels/tau/tau.schemas.ts
  • packages/runtime/src/kernels/zoo/kcl-utils.ts
  • packages/runtime/src/kernels/zoo/transport/zoo-websocket-transport.ts
  • packages/runtime/src/kernels/zoo/zoo-rendering.test.ts
  • packages/runtime/src/kernels/zoo/zoo.kernel.test.ts
  • packages/runtime/src/kernels/zoo/zoo.kernel.ts
  • packages/runtime/src/kernels/zoo/zoo.plugin.ts
  • packages/runtime/src/kernels/zoo/zoo.schemas.ts
  • packages/runtime/src/middleware/geometry-cache.middleware.test.ts
  • packages/runtime/src/middleware/geometry-cache.middleware.ts
  • packages/runtime/src/middleware/gltf-coordinate-transform.middleware.test.ts
  • packages/runtime/src/middleware/gltf-coordinate-transform.middleware.ts
  • packages/runtime/src/middleware/gltf-edge-detection.middleware.test.ts
  • packages/runtime/src/middleware/gltf-edge-detection.middleware.ts
  • packages/runtime/src/middleware/kernel-worker-export-middleware.test.ts
  • packages/runtime/src/middleware/parameter-cache.middleware.test.ts
  • packages/runtime/src/middleware/parameter-cache.middleware.ts
  • packages/runtime/src/middleware/runtime-middleware.test.ts
  • packages/runtime/src/middleware/runtime-middleware.ts
  • packages/runtime/src/middleware/runtime-worker-middleware.test.ts
  • packages/runtime/src/nextjs/config.test.ts
  • packages/runtime/src/nextjs/config.ts
  • packages/runtime/src/nextjs/index.ts
  • packages/runtime/src/nextjs/node-fs-unavailable.ts
  • packages/runtime/src/node.test.ts
  • packages/runtime/src/node.ts
  • packages/runtime/src/plugins/bundler-entry.ts
  • packages/runtime/src/plugins/bundler-factories.ts
  • packages/runtime/src/plugins/kernel-factories.ts
  • packages/runtime/src/plugins/kernel-plugin-api-correctness.test-d.ts
  • packages/runtime/src/plugins/kernel-plugin-entry.ts
  • packages/runtime/src/plugins/middleware-entry.ts
  • packages/runtime/src/plugins/middleware-factories.ts
  • packages/runtime/src/plugins/plugin-default-export-surface.test.ts
  • packages/runtime/src/plugins/plugin-helpers.test.ts
  • packages/runtime/src/plugins/plugin-helpers.ts
  • packages/runtime/src/plugins/plugin-public-surface.test.ts
  • packages/runtime/src/plugins/plugin-runtime-definition.ts
  • packages/runtime/src/plugins/plugin-types.ts
  • packages/runtime/src/plugins/presets-subpath.test.ts
  • packages/runtime/src/plugins/presets.test.ts
  • packages/runtime/src/plugins/presets.ts
  • packages/runtime/src/plugins/transcoder-entry.ts
  • packages/runtime/src/plugins/transcoder-factories.ts
  • packages/runtime/src/react-router/handle-request-headers.ts
  • packages/runtime/src/react-router/index.ts
  • packages/runtime/src/rolldown/index.ts
  • packages/runtime/src/rolldown/runtime-plugin.ts
  • packages/runtime/src/runtime-imports-no-rpc.test.ts
  • packages/runtime/src/testing/browser-compat.test.ts
  • packages/runtime/src/testing/browser-import-graph.test.ts
  • packages/runtime/src/testing/color-testing.utils.ts
  • packages/runtime/src/testing/gltf-naming-testing.utils.ts
  • packages/runtime/src/testing/index.ts
  • packages/runtime/src/testing/kernel-geometry-testing.utils.ts
  • packages/runtime/src/testing/kernel-testing.utils.ts
  • packages/runtime/src/testing/smoke-esm.test.ts
  • packages/runtime/src/transcoders/converter/converter-export-options.ts
  • packages/runtime/src/transcoders/converter/converter.plugin.ts
  • packages/runtime/src/transcoders/converter/converter.transcoder.test.ts
  • packages/runtime/src/transcoders/converter/converter.transcoder.ts
  • packages/runtime/src/transport-internals.ts
  • packages/runtime/src/transport/_internal/bridge-accepts-port-t.test-d.ts
  • packages/runtime/src/transport/_internal/bridge-port-t-runtime.test.ts
  • packages/runtime/src/transport/_internal/file-system-bridge.ts
  • packages/runtime/src/transport/_internal/from-channel-fs.ts
  • packages/runtime/src/transport/_internal/from-fs-like-handle.ts
  • packages/runtime/src/transport/_internal/from-memory-fs-handle.ts
  • packages/runtime/src/transport/_internal/geometry-materialiser.test.ts
  • packages/runtime/src/transport/_internal/geometry-materialiser.ts
  • packages/runtime/src/transport/_internal/owned-transfer-bytes.ts
  • packages/runtime/src/transport/_internal/runtime-filesystem-bridge-events.test.ts
  • packages/runtime/src/transport/_internal/runtime-filesystem-bridge.test.ts
  • packages/runtime/src/transport/_internal/runtime-filesystem-bridge.ts
  • packages/runtime/src/transport/_internal/runtime-filesystem-handle.ts
  • packages/runtime/src/transport/_internal/runtime-worker-dispatcher.test.ts
  • packages/runtime/src/transport/_internal/runtime-worker-dispatcher.ts
  • packages/runtime/src/transport/_internal/worker-filesystem-proxy.ts
  • packages/runtime/src/transport/_internal/worker-host-bindings.test.ts
  • packages/runtime/src/transport/_internal/worker-host-bindings.ts
  • packages/runtime/src/transport/define-runtime-transport.ts
  • packages/runtime/src/transport/in-process-client.ts
  • packages/runtime/src/transport/in-process-transport.schemas.ts
  • packages/runtime/src/transport/in-process-transport.ts
  • packages/runtime/src/transport/index.ts
  • packages/runtime/src/transport/multi-client-fs-isolation.test.ts
  • packages/runtime/src/transport/node-worker-client.ts
  • packages/runtime/src/transport/node-worker-host.ts
  • packages/runtime/src/transport/node-worker-transport.host.test.ts
  • packages/runtime/src/transport/node-worker-transport.ts
  • packages/runtime/src/transport/runtime-transport.types.ts
  • packages/runtime/src/transport/transport-browser-safe.test.ts
  • packages/runtime/src/transport/transport-conformance.test.ts
  • packages/runtime/src/transport/transport-descriptor-snapshot.test.ts
  • packages/runtime/src/transport/transport-generic-inference.test-d.ts
  • packages/runtime/src/transport/transport-projections.ts
  • packages/runtime/src/transport/web-worker-client.ts
  • packages/runtime/src/transport/web-worker-cycle-prevention.test.ts
  • packages/runtime/src/transport/web-worker-host.ts
  • packages/runtime/src/transport/web-worker-transport.host.test.ts
  • packages/runtime/src/transport/web-worker-transport.schemas.ts
  • packages/runtime/src/transport/web-worker-transport.ts
  • packages/runtime/src/transport/web.ts
  • packages/runtime/src/transport/worker-client-initialize-retry.test.ts
  • packages/runtime/src/types/bridge.types.test-d.ts
  • packages/runtime/src/types/define-plugin.test-d.ts
  • packages/runtime/src/types/export-option-schemas.test.ts
  • packages/runtime/src/types/export-option-schemas.ts
  • packages/runtime/src/types/index.ts
  • packages/runtime/src/types/kernel-issue-codes.test-d.ts
  • packages/runtime/src/types/kernel-issue-codes.ts
  • packages/runtime/src/types/runtime-bundler.types.ts
  • packages/runtime/src/types/runtime-dependency.types.ts
  • packages/runtime/src/types/runtime-kernel.types.ts
  • packages/runtime/src/types/runtime-middleware.types.ts
  • packages/runtime/src/types/runtime-protocol-payload-shape.test.ts
  • packages/runtime/src/types/runtime-protocol-schema-coverage.test.ts
  • packages/runtime/src/types/runtime-protocol.runtime.test.ts
  • packages/runtime/src/types/runtime-protocol.schemas.environment.test.ts
  • packages/runtime/src/types/runtime-protocol.schemas.ts
  • packages/runtime/src/types/runtime-protocol.types.ts
  • packages/runtime/src/types/runtime-tracer.types.ts
  • packages/runtime/src/types/runtime-transcoder.types.ts
  • packages/runtime/src/types/runtime.test-d.ts
  • packages/runtime/src/types/runtime.types.ts
  • packages/runtime/src/utils/edge-detection.ts
  • packages/runtime/src/utils/export-glb.test.ts
  • packages/runtime/src/utils/export-glb.ts
  • packages/runtime/src/utils/geometry-names.test.ts
  • packages/runtime/src/utils/geometry-names.ts
  • packages/runtime/src/utils/glb-writer.test.ts
  • packages/runtime/src/utils/glb-writer.ts
  • packages/runtime/src/utils/gltf-export-transform.ts
  • packages/runtime/src/utils/gltf-geometry-name-normalizer.test.ts
  • packages/runtime/src/utils/gltf-geometry-name-normalizer.ts
  • packages/runtime/src/utils/gltf-shape-name-normalizer.test.ts
  • packages/runtime/src/utils/gltf-shape-name-normalizer.ts
  • packages/runtime/src/utils/gltf-topology-metadata.ts
  • packages/runtime/src/utils/hash.utils.ts
  • packages/runtime/src/utils/merge-gltf-edges.test.ts
  • packages/runtime/src/utils/merge-gltf-edges.ts
  • packages/runtime/src/utils/off-manifold-canonicalizer.test.ts
  • packages/runtime/src/utils/off-manifold-canonicalizer.ts
  • packages/runtime/src/utils/off-to-gltf.test.ts
  • packages/runtime/src/utils/off-to-gltf.ts
  • packages/runtime/src/utils/shape-names.test.ts
  • packages/runtime/src/utils/shape-names.ts
  • packages/runtime/src/utils/zoo-gltf-topology.test.ts
  • packages/runtime/src/utils/zoo-gltf-topology.ts
  • packages/runtime/src/vite/index.ts
  • packages/runtime/src/vite/runtime-vite-plugins.ts
  • packages/runtime/src/vite/runtime.test.ts
  • packages/runtime/src/vite/ts-module-url.vite-plugin.ts
  • packages/runtime/src/worker/create-runtime-worker.ts
  • packages/runtime/src/worker/index.ts
  • packages/runtime/src/worker/node-bootstrap.integration.test.ts
  • packages/runtime/src/worker/node.ts
  • packages/runtime/src/worker/runtime-definition.ts
  • packages/runtime/src/worker/web.ts
  • packages/runtime/tmp/runtime-library-tracing-bench-render/benchmark-2026-06-19T03-56-49-547Z.html
  • packages/runtime/tmp/runtime-library-tracing-bench-render/benchmark-2026-06-19T03-56-49-547Z.json
  • packages/runtime/tmp/runtime-library-tracing-bench/benchmark-2026-06-19T03-42-58-804Z.html
  • packages/runtime/tmp/runtime-library-tracing-bench/benchmark-2026-06-19T03-42-58-804Z.json
  • packages/runtime/tmp/runtime-library-tracing-bench/benchmark-2026-06-19T03-52-30-560Z.html
  • packages/runtime/tmp/runtime-library-tracing-bench/benchmark-2026-06-19T03-52-30-560Z.json
  • packages/runtime/tmp/runtime-library-tracing-bench/benchmark-2026-06-19T03-54-05-826Z.html
  • packages/runtime/tmp/runtime-library-tracing-bench/benchmark-2026-06-19T03-54-05-826Z.json
  • packages/runtime/tsconfig.build.json
  • packages/runtime/tsdown.config.ts
  • packages/runtime/vitest.config.ts
  • packages/runtime/vitest.setup.ts
  • packages/telemetry/package.json
  • packages/telemetry/src/attributes.test.ts
  • packages/telemetry/src/attributes.ts
  • packages/telemetry/src/index.ts
  • packages/telemetry/src/middleware.ts
  • packages/telemetry/src/middleware/observability.factory.test.ts
  • packages/telemetry/src/middleware/observability.factory.ts
  • packages/telemetry/src/middleware/observability.middleware.test.ts
  • packages/telemetry/src/middleware/observability.middleware.ts
  • packages/telemetry/src/middleware/observability.registration.test.ts
  • packages/telemetry/src/prometheus.test.ts
  • packages/telemetry/src/registry.test.ts
  • packages/telemetry/src/registry.ts
  • packages/telemetry/tsdown.config.ts
  • packages/testing/README.md
  • packages/testing/TODO.md
  • packages/testing/package.json
  • packages/testing/src/geometry/analyze-glb.test.ts
  • packages/testing/src/geometry/analyze-glb.ts
  • packages/testing/src/geometry/connected-components.test.ts
  • packages/testing/src/geometry/connected-components.ts
  • packages/testing/src/geometry/evaluate-requirement.test.ts
  • packages/testing/src/geometry/evaluate-requirement.ts
  • packages/testing/src/geometry/multi-shape-name-roundtrip.test.ts
  • packages/testing/src/geometry/openscad-connected-components.test.ts
  • packages/testing/src/geometry/types.ts
  • packages/testing/src/geometry/watertight.test.ts
  • packages/testing/src/geometry/watertight.ts
  • packages/testing/src/prompt-examples.test.ts
  • packages/testing/src/prompt-examples.ts
  • packages/testing/src/schemas.test.ts
  • packages/testing/src/schemas.ts
  • packages/testing/src/tau.test.ts
  • packages/testing/src/tau.ts
  • packages/testing/tsdown.config.ts
  • packages/types/package.json
  • packages/types/src/constants/code.constants.ts
  • packages/types/src/constants/geometry.constants.ts
  • packages/types/src/constants/id.constants.ts
  • packages/types/src/constants/index.ts
  • packages/types/src/types/cad.types.ts
  • packages/types/src/types/file.types.test-d.ts
  • packages/types/src/types/file.types.ts
  • packages/types/src/types/fs-utils.types.ts
  • packages/types/src/types/geometry-component.types.test-d.ts
  • packages/types/src/types/geometry-component.types.ts
  • packages/types/src/types/graphics.types.ts
  • packages/types/src/types/index.ts
  • packages/types/src/types/project.types.ts
  • packages/types/tsconfig.spec.json
  • packages/types/tsdown.config.ts
  • packages/units/package.json
  • packages/units/tsdown.config.ts
  • packages/utils/package.json
  • packages/utils/src/hash.utils.test.ts
  • packages/utils/src/hash.utils.ts
  • packages/utils/src/import.utils.ts
  • packages/utils/tsdown.config.ts
  • packages/vm/package.json
  • packages/vm/src/browser-module-import.ts
  • packages/vm/src/constants.ts
  • packages/vm/src/esbuild-core.test.ts
  • packages/vm/src/esbuild-core.ts
  • packages/vm/src/module-vm.test.ts
  • packages/vm/src/node-module-execution.ts
  • packages/vm/tsconfig.build.json
  • packages/vm/tsdown.config.ts
  • patches/@ai-sdk__langchain@2.0.181.patch
  • patches/replicad.patch
  • pnpm-workspace.yaml
  • readme.md
  • repos.yaml
  • scripts/graphify-slices.sh
  • scripts/package.json
  • scripts/project.json
  • scripts/release-ocjs-image.sh
  • scripts/seed-r2-defaults.sh
  • scripts/src/pdf-to-md.args.test.ts
  • scripts/src/pdf-to-md.args.ts
  • scripts/src/pdf-to-md.ts
  • scripts/src/update-license-deps.mts
  • scripts/src/validate-frontmatter.ts
  • scripts/src/validate-tsgo-runtime-references.test.ts
  • scripts/src/validate-tsgo-runtime-references.ts
  • scripts/tsconfig.json
  • scripts/tsconfig.spec.json
  • scripts/vitest.config.ts
  • tarballs/langchain-fork/langchain-google-common-2.1.33.tgz
  • tarballs/langchain-fork/langchain-google-common-2.2.0-beta.0.tgz
  • tarballs/langchain-fork/langchain-google-vertexai-2.1.33.tgz
  • tarballs/replicad-annotations/taucad-replicad-0.23.4-beta.2.tgz
  • tarballs/replicad-interface-export-migration/taulabs-replicad-0.23.4-beta.2.tgz
  • tarballs/replicad-interface-export-migration/taulabs-replicad-opencascadejs-0.23.0-beta.0.tgz
  • tarballs/replicad-native-batch-operations/taucad-replicad-0.23.3-beta.1.tgz
  • tarballs/replicad-native-batch-operations/taucad-replicad-opencascadejs-0.23.0-beta.0.tgz
  • tarballs/replicad-tessellation-instancing/taucad-replicad-opencascadejs-0.23.0-beta.0.tgz
  • tarballs/replicad-transparent-parallelism/taucad-replicad-0.23.3-beta.1.tgz
  • tarballs/replicad-transparent-parallelism/taucad-replicad-opencascadejs-0.23.0-beta.0.tgz
  • tools/generate-cjs-dts.plugin.ts
  • tools/generate-cjs-dts.ts
  • tools/pkgcheck.plugin.ts
  • tools/pkgcheck.ts
  • tools/workspace-plugin/generators.json
  • tools/workspace-plugin/package.json
  • tools/workspace-plugin/src/generators/kernel/files/package.json__tmpl__
  • tools/workspace-plugin/src/generators/kernel/files/src/__name__.kernel.test.ts__tmpl__
  • tools/workspace-plugin/src/generators/kernel/files/src/__name__.kernel.ts__tmpl__
  • tools/workspace-plugin/src/generators/kernel/files/src/index.ts__tmpl__
  • tools/workspace-plugin/src/generators/kernel/files/tsdown.config.ts__tmpl__
  • tools/workspace-plugin/src/generators/kernel/generator.test.ts
  • tools/workspace-plugin/src/generators/kernel/generator.ts
  • tools/workspace-plugin/src/generators/kernel/schema.json
  • tools/workspace-plugin/src/generators/lint-rule/files/src/rules/__fileName__.js__tmpl__
  • tools/workspace-plugin/src/generators/lint-rule/files/src/rules/__fileName__.test.js__tmpl__
  • tools/workspace-plugin/src/generators/lint-rule/generator.test.ts
  • tools/workspace-plugin/src/generators/lint-rule/generator.ts
  • tools/workspace-plugin/src/generators/lint-rule/schema.json
  • tools/workspace-plugin/src/generators/package/files/package.json__tmpl__
  • tools/workspace-plugin/src/generators/package/files/tsdown.config.ts__tmpl__
  • tools/workspace-plugin/src/generators/package/generator.test.ts
  • tools/workspace-plugin/src/generators/package/generator.ts
  • tools/workspace-plugin/src/generators/package/schema.json
  • tools/workspace-plugin/tsconfig.json
  • tools/workspace-plugin/vitest.config.ts
  • tsconfig.json
  • vitest.workspace.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

Adds GeoSpec package (authoring API, runner, mesh/STEP loaders, native analyzers, CLI), wires runGeoSpecTests RPC and tool/schema changes, updates VM imports resolution, refactors testing to delegate to GeoSpec/Tau, and adds api-extractor bundling and filesystem mount support.

Changes

GeoSpec end-to-end feature and integrations

Layer / File(s) Summary
GeoSpec feature, loaders, native, runner, CLI, tests, and integrations
packages/geospec/..., packages/geospec/native/opencascade/..., libs/chat/..., packages/vm/..., packages/testing/..., libs/api-extractor/..., packages/filesystem/..., apps/api/..., apps/ui/...
Adds the geospec package (types, mesh analysis, loadMesh/loadStep, native OpenCascade wrappers, distance/overlap analyzers, runner/collector, worker/node/web runners, CLI and tests), integrates a new runGeoSpecTests RPC and associated schemas/tool changes, updates VM package-imports resolution and browser import helper, refactors @taucad/testing to delegate to geospec and add Tau adapters, extends api-extractor to bundle authoring types, adjusts filesystem bundled types mount, and removes the legacy edit_tests tool and UI/test artifacts.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~150 minutes

Possibly related PRs

  • taucad/tau#123: Related earlier changes touching the chat test_model tool and tooling that overlap with this PR’s GeoSpec tool/handler updates.

Poem

A rabbit taps its drafting board,
New specs hop in, with meshes stored.
STEP and GLB and native calls,
The VM bundles, tests and all.
RPC shouts “Run!” — the results delight.
GeoSpec’s carrots gleam at night.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch geospec

@rifont

rifont commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@claude

claude Bot commented Jun 2, 2026

Copy link
Copy Markdown

Claude Code is working…

I'll analyze this and get back to you.

View job run

Comment thread libs/chat/src/schemas/tools/test-model.tool.schema.ts
Comment thread libs/chat/src/constants/tool.constants.ts
Comment thread libs/api-extractor/README.md
Comment thread libs/chat/src/rpc/rpc-dispatcher.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 14

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
libs/chat/src/schemas/message.schema.test.ts (1)

225-246: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Assert the parsed tool-test_model payload, not just parse success.

Both additions stop at result.success, so they still pass if the schema drops rawInput, strips files, or rewrites testNamePattern. Please inspect the parsed tool part and assert the resulting input/rawInput shape the same way the neighboring tool-read_file cases do.

As per coding guidelines, Every it block must assert something a consumer can observe and Assert data structure shape with toEqual/toMatchObject, not just toBeDefined() or toBeGreaterThan(0).

Also applies to: 392-406

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@libs/chat/src/schemas/message.schema.test.ts` around lines 225 - 246, Update
the test so it not only checks result.success but also inspects the parsed
message payload from uiMessagesSchema: after safeParse and
expect(result.success).toBe(true), extract the parsed tool message (e.g.,
result.data[1] or the part matching type `tool-${toolName.testModel}` /
MyMessagePart) and assert its input/rawInput shape with toEqual/toMatchObject
(mirroring the neighboring tool-read_file assertions) to ensure rawInput is
preserved and input/files/testNamePattern are correct; apply the same change to
the analogous test block referenced (lines 392-406) so both tests validate
observable parsed structure rather than only parse success.
🟡 Minor comments (10)
packages/vm/src/esbuild-core.ts-366-371 (1)

366-371: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Wildcard pattern priority comparison may be incorrect.

The condition prefix.length > best.pattern.indexOf('*') compares the current prefix length against the position of * in the best pattern, rather than comparing prefix lengths directly. This doesn't correctly implement "most specific match wins" semantics.

For Node.js package imports, the most specific pattern should win (longest matching prefix). The current logic could select a less specific pattern in edge cases.

🐛 Proposed fix
-    if (!best || prefix.length > best.pattern.indexOf('*') || pattern.length > best.pattern.length) {
+    const bestPrefixLength = best ? best.pattern.indexOf('*') : -1;
+    if (!best || prefix.length > bestPrefixLength) {
       best = { target, pattern, wildcard };
     }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/vm/src/esbuild-core.ts` around lines 366 - 371, The wildcard
selection logic compares prefix.length to best.pattern.indexOf('*') which is
unclear and fragile; instead compute and compare prefix lengths directly: when
setting best (the object assigned to best currently containing target, pattern,
wildcard) include the numeric bestPrefixLength = pattern.indexOf('*') (or store
prefix.length) and then change the comparison to prefix.length >
best.bestPrefixLength (or prefix.length > bestPrefixLength) || pattern.length >
best.pattern.length so the "most specific (longest prefix) wins" rule is
implemented reliably; update the assignments and the if condition around best,
pattern, prefix, suffix, wildcard accordingly.
packages/geospec/src/index.test.ts-152-198 (1)

152-198: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove as unknown as GeometrySubject from test fixtures

packages/geospec/src/index.test.ts ends the modelLoader fixtures with } as unknown as GeometrySubject in two places, which bypasses the GeometrySubject contract and can hide fixture drift. Replace these casts with a helper/fixture typed to satisfy GeometrySubject at compile time (no type-erasing assertions).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/index.test.ts` around lines 152 - 198, The test
currently masks type mismatches by returning the modelLoader fixture with a type
assertion "as unknown as GeometrySubject"; remove that cast and instead
construct a properly typed fixture object that satisfies the GeometrySubject
interface at compile time (either by creating a helper function like
buildGeometrySubjectFixture(...) or a typed constant fixture and returning it
from modelLoader). Update the modelLoader implementation in
packages/geospec/src/index.test.ts to return that helper/fixture (matching
GeometrySubject fields such as kind, provenance, capabilities, diagnostics,
mesh, and the mesh.stats methods) so the compiler enforces the contract rather
than relying on a type-erasing assertion.
packages/geospec/README.md-25-27 (1)

25-27: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix the bounding-box axis order in the first example.

makeBaseBox(40, 20, 8) describes a 40×20×8 box, but the example asserts y: 0.008 and z: 0.02. That swaps Y/Z and gives readers a failing reference snippet.

Proposed fix
-    expectGeo(model).toHaveBoundingBox({ size: { x: 0.04, y: 0.008, z: 0.02 }, tolerance: 0.001 });
+    expectGeo(model).toHaveBoundingBox({ size: { x: 0.04, y: 0.02, z: 0.008 }, tolerance: 0.001 });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/README.md` around lines 25 - 27, The bounding-box axis order
in the README example is wrong: change the toHaveBoundingBox assertion so its
size matches makeBaseBox(40, 20, 8) by swapping the Y/Z values; update the
expectGeo(...).toHaveBoundingBox call (reference symbols: expectGeo,
toHaveBoundingBox, makeBaseBox) to use size: { x: 0.04, y: 0.02, z: 0.008 }
while leaving the tolerances unchanged.
packages/geospec/README.md-119-121 (1)

119-121: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Complete this parameter example before publishing it.

defaultParams is used here but never declared or imported in the snippet, so the copy-paste example does not run as written.

Proposed fix
 import { describe, expectGeo, it } from 'geospec';
 import { loadModel, parameterGroups } from 'geospec/model';
 import mainParams from '`#params/main.ts.json`' with { type: 'json' };
 
-const groups = parameterGroups(mainParams, { defaults: defaultParams });
+const groups = parameterGroups(mainParams);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/README.md` around lines 119 - 121, The README example uses
an undeclared symbol defaultParams causing the snippet to fail; update the
example to either declare or import defaultParams and show its structure, e.g.,
add a brief defaultParams declaration or an import before calling
parameterGroups so the example is runnable: reference the existing mainParams
import and the parameterGroups(...) call and ensure defaultParams is defined (or
explicitly passed as undefined/null) so the snippet compiles and demonstrates
the intended usage.
packages/geospec/src/mesh/load-mesh.ts-113-125 (1)

113-125: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Don’t default arbitrary filenames to GLB.

Any string/path that is not .gltf currently falls through to 'glb', so model.step or model.obj bypasses the typed UNSUPPORTED_MESH_FORMAT branch and later comes back as a generic MESH_LOAD_FAILED. That makes the public API much harder to diagnose for unsupported inputs.

Also applies to: 250-261

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/mesh/load-mesh.ts` around lines 113 - 125, inferFormat
currently defaults any unknown filename to 'glb', which hides unsupported
extensions; update inferFormat in packages/geospec/src/mesh/load-mesh.ts (and
the similar logic at the other occurrence) to only return known formats
('mesh-buffer', 'gltf', 'glb') when the source clearly matches, and otherwise
return undefined (or a dedicated unsupported sentinel) so the caller can hit the
typed UNSUPPORTED_MESH_FORMAT branch; use the existing symbols inferFormat,
LoadMeshOptions, isMeshBufferSource, and MeshFileFormat to locate and adjust the
logic (do not silently treat unknown extensions like ".obj" or ".step" as
'glb').
packages/geospec/src/mesh/distance.test.ts-39-43 (1)

39-43: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Avoid regex-based assertions here.

The negative /simpler|simplify/i check is brittle and doesn't assert a stable consumer-visible contract. Prefer exact text or principled substring assertions on the specific guidance you expect. As per coding guidelines, "Avoid regex-based assertions in tests bound for upstream PRs — they are hacky and indefensible in review, prefer principled assertions on parsed structures".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/mesh/distance.test.ts` around lines 39 - 43, The test
uses a brittle regex negative assertion on suggestion; replace it with
principled substring assertions: compute suggestion and normalizedSuggestion as
before (result.diagnostics[0]?.suggestion ?? '' and suggestion.toLowerCase()),
then remove expect(suggestion).not.toMatch(/simpler|simplify/i) and instead add
explicit negative assertions like
expect(normalizedSuggestion).not.toContain('simpler') and
expect(normalizedSuggestion).not.toContain('simplify'), keeping the existing
positive contains checks for 'native geospec opencascade c++ metrics analyzer'
and 'test precision budget' to ensure a stable, consumer-visible contract.
packages/geospec/native/opencascade/geospec_opencascade_single.provenance.json-3-4 (1)

3-4: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Regenerate this provenance file; it no longer matches the checked-in build config.

This metadata says noLTO/lto: false and even records the YAML config as geospec_opencascade_single.js, while the actual config in this PR is geospec.single.yml and its link flags include -flto. That breaks auditability because the provenance no longer describes the artifact you're shipping.

Also applies to: 41-41, 51-52, 87-90

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/geospec/native/opencascade/geospec_opencascade_single.provenance.json`
around lines 3 - 4, The provenance JSON
(geospec_opencascade_single.provenance.json) is stale — regenerate it so the
metadata matches the actual build config (geospec.single.yml) and flags;
specifically update lto to true, include the -flto link flag in the recorded
link flags, correct the referenced YAML name from geospec_opencascade_single.js
to geospec.single.yml, and refresh buildId/timestamp to match a new
authoritative build run; run the same provenance generation step you use in CI
to produce a consistent, auditable file.
packages/geospec/src/model/load-model.test.ts-55-70 (1)

55-70: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Assert the thrown message here, not just the diagnostics payload.

This only checks name and diagnostics, so a regression in GeoSpecModelLoadError.message would still pass unnoticed. Add a message assertion in this test, or switch it to await expect(promise).rejects.toThrow(...) alongside the typed check.

As per coding guidelines, "Assert both message and type in error assertions. Use await expect(p).rejects.toThrow('msg') for async errors."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/model/load-model.test.ts` around lines 55 - 70, The test
for loadModel should also assert the error message; update the assertion around
loadModel({ source: new Uint8Array([1,2,3]), format: 'step' }) so it checks
GeoSpecModelLoadError.message in addition to name and diagnostics — either
convert the expectation to await expect(promise).rejects.toThrow('expected
message') and retain the typed diagnostics check, or include a message field in
the rejects.toMatchObject call to match the exact error message emitted by
GeoSpecModelLoadError; ensure you reference the same loadModel call and the
GeoSpecModelLoadError diagnostics structure when adding the message assertion.
packages/testing/src/tau.ts-399-414 (1)

399-414: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Keep total consistent in the empty-entry fallback.

This branch returns one failure but reports total: 0, so any caller computing summary counts or pass rates will get inconsistent results when no GeoSpec files are found.

Suggested fix
       passes: [],
       passed: 0,
-      total: 0,
+      total: 1,
     };
   }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/testing/src/tau.ts` around lines 399 - 414, The empty-entry fallback
returns one failure (id 'missing_geospec_file') but sets total: 0; update the
returned object so total accurately reflects the number of checks (e.g., set
total: failures.length or total: 1) while leaving passed: 0 unchanged; locate
the branch that checks options.entryPaths.length === 0 in tau.ts and change the
total field in the returned object to derive from the failures/passes arrays
rather than a hard-coded 0.
packages/testing/README.md-18-23 (1)

18-23: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Make the example self-contained.

defaultParams is used here but never declared or imported, so the snippet cannot be pasted as-is. Please add the missing definition/import or inline a minimal defaults object.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/testing/README.md` around lines 18 - 23, The example uses
defaultParams but never defines or imports it; update the snippet around the
parameterGroups(...) call to provide a minimal defaults object or import it so
the example is self-contained — either add a local const defaultParams = { /*
minimal defaults used by parameterGroups */ } above the groups declaration or
import defaultParams from its module and ensure the names match the existing
parameterGroups(mainParams, { defaults: defaultParams }) usage so the snippet
can be copy-pasted and run.
🧹 Nitpick comments (13)
packages/vm/src/node-module-execution.ts (1)

23-29: ⚡ Quick win

Add @public tag to exported function JSDoc.

The executeCodeInNode function is exported and has JSDoc documentation, but is missing the @public tag required for public API functions in packages/.

📝 Proposed fix
 /**
  * Execute bundled code in Node.js without statically importing Node built-ins.
  *
  * Browser/client bundlers still parse this file, so Node imports are intentionally
  * hidden behind an opaque dynamic importer and the caller keeps the runtime guard.
+ *
+ * `@param` code - The bundled JavaScript code to execute.
+ * `@returns` The module exports and the file URL used for execution.
+ * `@public`
  */
 export async function executeCodeInNode(code: string): Promise<{ value: unknown; entryUrl: string }> {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/vm/src/node-module-execution.ts` around lines 23 - 29, The JSDoc for
the exported function executeCodeInNode is missing the required `@public` tag;
update the JSDoc block immediately above the executeCodeInNode declaration to
include an `@public` tag (e.g., add a line with "`@public`") so the function is
marked as part of the public API; ensure the tag is placed inside the existing
/** ... */ comment and follows the project's JSDoc style.
libs/api-extractor/src/extract-geospec-types.ts (2)

163-163: 💤 Low value

Console output in CLI script.

The coding guidelines require removing console.log statements. For CLI scripts, consider using a configurable logger or the stdout parameter pattern used elsewhere (e.g., in packages/geospec/src/cli.ts). However, since this is a build-time CLI tool (not runtime code), this is acceptable if intentional.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@libs/api-extractor/src/extract-geospec-types.ts` at line 163, Remove the
direct console.log call in extract-geospec-types.ts and replace it with a
configurable output mechanism: accept or thread a stdout/write callback (or use
the existing CLI logger pattern from packages/geospec/src/cli.ts) and write the
message via that interface instead of console.log; specifically change the line
that logs using outputPath to use the injected stdout/logger so tests and
linting don't rely on console.* usage.

122-156: ⚡ Quick win

Add JSDoc for exported public function.

buildGeoSpecTypeBundle is exported and used by consumers, but lacks JSDoc documentation. As per coding guidelines for libs/ packages, public JSDoc is required.

📝 Proposed JSDoc
+/**
+ * Build a bundled GeoSpec type declaration package for Monaco and editor integration.
+ *
+ * Emits TypeScript declarations from the GeoSpec source, rewrites internal `#` aliases
+ * to relative imports, and packages the result as a JSON-serializable structure.
+ *
+ * `@returns` A record mapping package name to its generated types, files, and package.json.
+ * `@public`
+ */
 export function buildGeoSpecTypeBundle(): Record<string, GeneratedPackageTypes> {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@libs/api-extractor/src/extract-geospec-types.ts` around lines 122 - 156, Add
a public JSDoc block above the exported function buildGeoSpecTypeBundle
describing its purpose (builds and returns a bundle of generated GeoSpec
TypeScript declaration files), the returned type (Record<string,
GeneratedPackageTypes>), any important side-effects (creates and removes a
temporary directory), and the errors it may throw (e.g., when declaration emit
fails or index.d.ts is missing); include tags `@returns` and `@throws` and briefly
mention key behavior around createProgram/createProgram.emit and file collection
(temporaryDirectory, rewriteInternalAliases, collectDeclarationFiles) so
consumers understand usage and failure modes.
packages/geospec/src/cli.ts (1)

84-130: 💤 Low value

Potential ReDoS from user-provided glob patterns.

The globPatternToRegExp function constructs a regex from user-provided --pattern CLI arguments. While the conversion escapes literal characters, deeply nested brace alternations (e.g., {a,{b,{c,d}}}) or repeated wildcards could create complex regex patterns.

For a CLI tool where the user controls input and would only harm themselves, this is low risk. However, if this function is ever used with untrusted input (e.g., from config files or network), consider adding:

  1. Pattern length limits
  2. Nesting depth limits for brace expansions
  3. A timeout wrapper around the regex test

Based on learnings: Guard against ReDoS by validating user-provided or dynamic regex patterns.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/cli.ts` around lines 84 - 130, The globPatternToRegExp
function currently builds RegExp from user input and can produce catastrophic
patterns; update globPatternToRegExp (and any callers like normalizeCliPath
usage) to validate input before conversion by enforcing a maximum pattern
length, a maximum brace-nesting depth (detect nested '{' '}' pairs while
scanning) and a limit on number of alternates in brace expansions, and reject or
truncate patterns that exceed those thresholds; also document/raise a clear
error when escapeRegExp(...) inputs or generated source would exceed limits, and
consider wrapping downstream RegExp.test usage with a timeout or using a safe
match function for untrusted inputs.
libs/api-extractor/src/authoring-types.ts (1)

13-15: ⚡ Quick win

Use a const function expression for the parser helper.

Line 13-15 uses a function declaration, which conflicts with this repo’s TS style rule.

Suggested change
-function parseAuthoringTypesMap(raw: string): AuthoringTypesMap {
-  return JSON.parse(raw) as AuthoringTypesMap;
-}
+const parseAuthoringTypesMap = (raw: string): AuthoringTypesMap =>
+  JSON.parse(raw) as AuthoringTypesMap;

As per coding guidelines: **/*.{ts,tsx,js,jsx}: Use const declarations over function declarations.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@libs/api-extractor/src/authoring-types.ts` around lines 13 - 15, The parser
helper parseAuthoringTypesMap is declared as a function declaration which
violates the repo style that prefers const function expressions; change the
declaration to a const arrow/function expression (e.g., const
parseAuthoringTypesMap = (raw: string): AuthoringTypesMap => JSON.parse(raw) as
AuthoringTypesMap) so the symbol parseAuthoringTypesMap remains the same and
typing with AuthoringTypesMap is preserved.
libs/chat/src/rpc/handlers/handle-run-geospec-tests.test.ts (1)

27-42: ⚡ Quick win

Use mock<RpcGeoSpecClient>() here instead of a hand-rolled stub.

This literal works, but it drifts from the repo’s partial-mock convention and makes this test harder to keep aligned with the rest of the suite.

Suggested change
-import { describe, expect, it, vi } from 'vitest';
+import { describe, expect, it } from 'vitest';
+import { mock } from 'vitest-mock-extended';
...
-    const geospec: RpcGeoSpecClient = {
-      runTests: vi.fn().mockResolvedValue({
-        success: true,
-        failures: [],
-        passes: [
-          {
-            id: 'main.geospec.ts:main dimensions > width',
-            requirement: 'main dimensions > width',
-            targetFile: 'main.geospec.ts',
-          },
-        ],
-        passed: 1,
-        total: 1,
-      }),
-    };
+    const geospec = mock<RpcGeoSpecClient>();
+    geospec.runTests.mockResolvedValue({
+      success: true,
+      failures: [],
+      passes: [
+        {
+          id: 'main.geospec.ts:main dimensions > width',
+          requirement: 'main dimensions > width',
+          targetFile: 'main.geospec.ts',
+        },
+      ],
+      passed: 1,
+      total: 1,
+    });

As per coding guidelines, "Use mock<T>() from vitest-mock-extended for partial mock objects. Never use as unknown as for mocking."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@libs/chat/src/rpc/handlers/handle-run-geospec-tests.test.ts` around lines 27
- 42, Replace the hand-rolled stub for the GeoSpec client with the repo-standard
partial mock: create the geospec variable using mock<RpcGeoSpecClient>() (from
vitest-mock-extended) instead of the inline object, then set its runTests to
resolve the same result via geospec.runTests.mockResolvedValue({...}); update
references in the test (handle-run-geospec-tests.test.ts) to use this mocked
RpcGeoSpecClient instance so the test follows the project's mock<T>()
convention.
packages/testing/src/prompt-examples.test.ts (1)

40-45: ⚡ Quick win

Replace these regex assertions with exact string checks.

These cases are simple string-shape checks, so the regexes add brittleness without extra signal. startsWith/endsWith for the fence and a small list of exact forbidden phrases with not.toContain would keep the tests aligned with the repo’s upstream-review guidance.

As per coding guidelines, Avoid regex-based assertions in tests bound for upstream PRs — they are hacky and indefensible in review, prefer principled assertions on parsed structures.

Also applies to: 129-131

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/testing/src/prompt-examples.test.ts` around lines 40 - 45, Update
the test "should produce a fenced TypeScript GeoSpec code block" to avoid regex
assertions: use rendered.startsWith("```ts") and rendered.endsWith("```")
instead of toMatch, and replace the loose contains checks with explicit
assertions (e.g., expect(rendered).toContain("loadModel({ file: 'main.scad' })")
and add expect(rendered).not.toContain(...) for any forbidden phrases). Make the
same change for the similar assertions referenced around lines 129-131; locate
these via the test name and the helper function renderCanonicalExample('scad')
to apply the replacements.
libs/chat/src/schemas/tools/test-model.tool.schema.ts (1)

77-79: ⚡ Quick win

Export the input side of the schema.

TestModelInput is consumer-facing, so it should come from z.input<typeof testModelInputSchema> rather than z.infer. Otherwise a future .default() on one of these filters will make the call-site type stricter than the actual accepted wire input.

Proposed fix
 export const testModelInputSchema = geoSpecRunFilterInputSchema;
 /** `@public` */
-export type TestModelInput = z.infer<typeof testModelInputSchema>;
+export type TestModelInput = z.input<typeof testModelInputSchema>;

As per coding guidelines, "Use z.input (not z.infer) for consumer-facing Zod schema types — preserves .default() optionality".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@libs/chat/src/schemas/tools/test-model.tool.schema.ts` around lines 77 - 79,
TestModelInput is currently derived with z.infer which reflects the parsed
output and will incorrectly tighten types if defaults are added; change the
consumer-facing type to use z.input<typeof testModelInputSchema> instead of
z.infer to preserve optionality/defaults. Update the TestModelInput type alias
(referencing testModelInputSchema and TestModelInput) to use z.input so callers
receive the correct wire-input shape.
packages/geospec/src/mesh/load-mesh.test.ts (1)

34-40: ⚡ Quick win

Avoid the regex assertion for contentHash.

This test can assert the same contract without toMatch(...), which the repo explicitly avoids for upstream test cases.

Proposed fix
       expect(result.subject.kind).toBe('geometry-subject');
       expect(result.subject.provenance.source.path).toBe('/fixtures/square.glb');
       expect(result.subject.provenance.parameters).toEqual({ width: 10 });
-      expect(result.subject.provenance.contentHash).toMatch(/^sha256:/);
+      expect(result.subject.provenance.contentHash.startsWith('sha256:')).toBe(true);
+      expect(result.subject.provenance.contentHash.slice('sha256:'.length)).toHaveLength(64);
       expect(result.subject.mesh.stats.triangleCount).toBe(2);

As per coding guidelines, "Avoid regex-based assertions in tests bound for upstream PRs — they are hacky and indefensible in review, prefer principled assertions on parsed structures".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/mesh/load-mesh.test.ts` around lines 34 - 40, The test
should avoid a regex assertion on result.subject.provenance.contentHash; instead
assert the structured properties: verify contentHash is a non-empty string, that
it begins with the literal prefix "sha256:", and that the substring after that
prefix is non-empty (or valid hex) to ensure a principled contract. Update the
assertion around result.subject.provenance.contentHash accordingly (replace the
toMatch(...) check with explicit checks on type, starts-with "sha256:" and
non-empty suffix).
packages/testing/src/schemas.ts (1)

78-96: ⚡ Quick win

Use z.input for these exported schema aliases.

TestFileEntry and TestFile are consumer-facing types, so keeping them on z.infer will drop .default() optionality as soon as defaults are introduced. Switching the updated aliases to z.input keeps the public contract aligned with the schema definition.

Proposed fix
-export type TestFileEntry = z.infer<typeof testFileEntrySchema>;
+export type TestFileEntry = z.input<typeof testFileEntrySchema>;
@@
-export type TestFile = z.infer<typeof testFileSchema>;
+export type TestFile = z.input<typeof testFileSchema>;

As per coding guidelines, "Use z.input (not z.infer) for consumer-facing Zod schema types — preserves .default() optionality."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/testing/src/schemas.ts` around lines 78 - 96, Change the exported
consumer-facing TypeScript aliases to use z.input instead of z.infer so
defaulted/optional fields on the Zod schemas are preserved: replace the type
alias for TestFileEntry (currently using z.infer<typeof testFileEntrySchema>)
with z.input<typeof testFileEntrySchema>, and do the same for TestFile (replace
z.infer<typeof testFileSchema> with z.input<typeof testFileSchema>), leaving the
underlying schemas testFileEntrySchema and testFileSchema unchanged.
packages/geospec/src/mesh/watertight.ts (1)

122-126: ⚡ Quick win

Non-indexed TRIANGLES primitives are silently excluded from watertight analysis.

Line 124 skips primitives without an index accessor, but connected-components.ts handles non-indexed geometry by generating implicit indices (lines 56-64 in that file). This inconsistency means non-indexed meshes will be analyzed for connected components but not for watertightness.

Consider aligning the behavior by generating implicit indices when indexAccessor is null, similar to readTriangleVertexIndices.

♻️ Suggested approach
       const posAccessor = primitive.getAttribute('POSITION');
       const indexAccessor = primitive.getIndices();
-      if (!posAccessor || !indexAccessor) {
+      if (!posAccessor) {
         continue;
       }

       const vCount = posAccessor.getCount();
-      const indexCount = indexAccessor.getCount();
+      const indexCount = indexAccessor ? indexAccessor.getCount() : vCount;
       const name =
         resolvedMeshName && resolvedMeshName.length > 0 ? resolvedMeshName : `${fallbackName}#${primOrdinal}`;
       primOrdinal += 1;

       const start = allTriangles.length;
       for (let i = 0; i < vCount; i++) {
         allPositions.push(posAccessor.getElement(i, [0, 0, 0]));
       }

       for (let i = 0; i < indexCount; i += 3) {
-        allTriangles.push([
-          indexAccessor.getScalar(i) + vertexOffset,
-          indexAccessor.getScalar(i + 1) + vertexOffset,
-          indexAccessor.getScalar(i + 2) + vertexOffset,
-        ]);
+        const i0 = indexAccessor ? indexAccessor.getScalar(i) : i;
+        const i1 = indexAccessor ? indexAccessor.getScalar(i + 1) : i + 1;
+        const i2 = indexAccessor ? indexAccessor.getScalar(i + 2) : i + 2;
+        allTriangles.push([i0 + vertexOffset, i1 + vertexOffset, i2 + vertexOffset]);
       }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/mesh/watertight.ts` around lines 122 - 126, The
watertight check currently skips primitives when primitive.getIndices() is null,
causing non-indexed TRIANGLES to be ignored; update the logic in the function
using primitive.getAttribute('POSITION') and primitive.getIndices() to generate
implicit indices (0..vertexCount-1) when indexAccessor is null, mirroring
readTriangleVertexIndices and the implicit-index behavior in
connected-components.ts, then pass those generated indices into the existing
triangle processing so non-indexed geometry is included in the watertight
analysis.
packages/testing/src/tau.test.ts (1)

196-210: ⚡ Quick win

Use a typed GeometrySubject fixture instead of double-casting.

Both mocks bypass the GeoSpec contract with as unknown as GeometrySubject, and the objects are already out of sync with the canonical type (capabilities shape, source.format, provenance.unit/loader, mesh.format, and analyseConnectedComponents result fields). That means these tests can keep passing while the real public contract has drifted underneath them. Please switch to a shared fully-typed fixture factory or mock<GeometrySubject>() so the test fails when the contract changes. As per coding guidelines, Use mock<T>() from vitest-mock-extended for partial mock objects. Never use as unknown as for mocking.

Also applies to: 248-262

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/testing/src/tau.test.ts` around lines 196 - 210, Replace the
double-cast test fixtures that assign to the subject variable with a properly
typed mock: stop using "as unknown as GeometrySubject" and create the fixture
using mock<GeometrySubject>() (from vitest-mock-extended) or a shared typed
fixture factory so the object adheres to the GeoSpec contract (capabilities
shape, provenance.source.format/unit/loader, mesh.format, and
analyseConnectedComponents return fields). Update the two places where this
pattern appears (the subject declaration and the later similar block) to
construct and partially override the mock's properties rather than
force-casting, ensuring the tests will fail if the GeometrySubject type changes.
packages/geospec/src/model/types.ts (1)

25-27: ⚡ Quick win

Narrow export() to GeoSpecModelFormat.

GeoSpecRuntimeClient.export() currently accepts any string, while the loader API only exposes GeoSpecModelFormat. Keeping this wider weakens the public contract for custom runtime adapters and lets unsupported formats slip through compile time. Typing this parameter as GeoSpecModelFormat keeps the runtime interface aligned with what loadModel() can actually request.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/geospec/src/model/types.ts` around lines 25 - 27, The export()
function currently types its format parameter as a plain string, allowing
unsupported values; change the parameter type to GeoSpecModelFormat so
GeoSpecRuntimeClient.export(format: GeoSpecModelFormat, input: unknown) matches
the loader API and prevents unsupported formats at compile time—update the
export signature in types.ts and any related declarations/usages to use
GeoSpecModelFormat.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@packages/geospec/native/opencascade/geospec_opencascade_single.build-manifest.json`:
- Line 6: The manifest incorrectly sets validation_passed to true despite
binding_report.failed being 2 with compile_error failures; update the
manifest-generation logic (the code that writes validation_passed and
symbols.pass) so validation_passed is true only when symbols.pass is true AND
binding_report.failed == 0 (or when all binding_report failures are explicitly
filtered/whitelisted); alternatively, if those compile_error entries are
expected and safe, add them to the allowed-failures filter used by the writer so
those specific binding_report.compile_error entries are excluded from the failed
count before computing validation_passed/symbols.pass; ensure the fields
validation_passed and symbols.pass are derived from the filtered binding report
rather than being hard-coded to true.

In `@packages/geospec/native/opencascade/wrappers/geospec-mesh-metrics.cpp`:
- Around line 310-317: The code currently computes perDirectionLimit with
integer division which over-allocates for odd samples; replace that with an
explicit split that honors odd counts: compute int dirA = (samples + 1) / 2 and
int dirB = samples / 2, use distances.reserve(static_cast<size_t>(samples)),
then call geospecAppendDistances(distances, actual, actualTriangleCount, dirA,
expectedBvh) and geospecAppendDistances(distances, expected,
expectedTriangleCount, dirB, actualBvh). Update the perDirectionLimit variable
usage around GeoSpecTriangleBvh expectedBvh/actualBvh and the two
geospecAppendDistances calls to use dirA/dirB so the native path produces
exactly `samples` distances.

In `@packages/geospec/native/opencascade/wrappers/geospec-step-reader.cpp`:
- Around line 89-97: The GeoSpecStepReadResult copy constructor currently
performs move-like ownership transfer via const_cast (mutating meshTrianglesPtr_
and meshTriangleCount_), which violates the Rule of Five; replace this with
explicit move semantics by deleting the copy constructor and copy assignment,
implementing a proper move constructor and move assignment that transfer
meshTrianglesPtr_ and meshTriangleCount_ (setting the source's members to
nullptr/0 after move), and ensure evidenceJson_ is moved or copied
appropriately; alternatively, implement deep-copy semantics for
meshTrianglesPtr_ or change meshTrianglesPtr_ to std::unique_ptr so ownership is
clear—also update any Emscripten bindings to reflect that the type is
non-copyable if you choose move-only semantics.

In `@packages/geospec/package.json`:
- Around line 135-145: The package.json added a new peer dependency "replicad":
">=0.23.0" but the pnpm lockfile wasn't updated causing CI to fail; either
regenerate and commit the updated lockfile by running a fresh install (e.g., run
pnpm install to update pnpm-lock.yaml) so the new specifier is reflected, or if
"replicad" is not actually required remove the peer dependency entry from
package.json; reference the package.json peerDependencies block (the "replicad"
specifier) and ensure the pnpm-lock.yaml is updated and committed.

In `@packages/geospec/src/mesh/distance.ts`:
- Around line 302-323: perDirectionLimit currently uses
Math.floor(sampleLimit/2) which causes odd sampleLimit values to produce twice
the requested samples; instead split the budget explicitly so actual+expected
sample counts equal sampleLimit (e.g. left = Math.ceil(sampleLimit/2), right =
Math.floor(sampleLimit/2)) and use those two limits when calling samplePoints
(replace perDirectionLimit with
perDirectionLimitActual/perDirectionLimitExpected used by actualSamples and
expectedSamples), update estimatedTrianglePairs to use actualSamples.length and
expectedSamples.length (as you already do) and ensure
failBudget/requestedSamples still reports the original sampleLimit; this
guarantees stats.samples matches the caller's sampleLimit while preserving
existing logic in distanceToTriangles and summarizeDistances.

In `@packages/geospec/src/mesh/native.ts`:
- Around line 64-68: Validate that the declared triangleCount matches the actual
triangles buffer length before any _malloc or HEAP writes: in allocateFloat64
(and the related allocation helpers used around the triangle handling code paths
referenced by lines 78-109), check that triangles.length (or values.length) is
at least triangleCount * 3 (or the expected element count) and throw or return
an error if it doesn't; perform this check before calling module._malloc or
module.HEAP*.set so we never write/read past the allocated WASM heap. Ensure the
validation references the same parameter names (triangleCount, triangles, and
the allocation helpers like allocateFloat64) so callers fail fast on mismatches.

In `@packages/geospec/src/model/errors.ts`:
- Around line 8-21: The GeoSpecModelLoadError constructor currently stores the
caller-owned diagnostics array by reference causing mutation after throw to
change error.diagnostics; snapshot and (optionally) freeze the diagnostics
before assigning to this.diagnostics in GeoSpecModelLoadError (e.g., create a
shallow copy like [...diagnostics] or diagnostics.slice(), and Object.freeze if
immutability is desired) so the stored diagnostics and the error.message remain
stable.

In `@packages/geospec/src/model/load-model.ts`:
- Around line 65-67: The call to the caller-provided runtime factory
(options.runtime()) in resolveRuntime can reject and currently bubbles raw;
catch any rejection around the await of options.runtime() and rethrow a
GeoSpecModelLoadError (or wrap the original error as its cause/message) so
loadModel's error contract is preserved; update the branch in resolveRuntime
that returns { runtime: await options.runtime(), ownsRuntime: false } to perform
a try/catch, convert failures into a GeoSpecModelLoadError with contextual text,
and include the original error for debugging.

In `@packages/geospec/src/runner/collector.ts`:
- Around line 1123-1141: The async describe/it bodies use shared mutable state
(suite and __GEOSPEC_ACTIVE_TEST__) and snapshot pending once, so resumed async
work can run under the wrong suite/test and late-registered promises aren’t
waited for; fix trackPending by capturing the current suite and currentTest into
local constants inside the function and use those captured values when reporting
errors/finalizing so callbacks run with the correct context (referencing
trackPending, pending, suite, and __GEOSPEC_ACTIVE_TEST__); also change
waitForCompletion to not snapshot pending once—loop awaiting Promise.allSettled
on newly added entries until no new pending items remain (i.e., repeatedly
drain/await pending batches) so promises registered after awaits are also
awaited.

In `@packages/geospec/src/runner/run-geospec-module.ts`:
- Around line 171-177: The code currently stores per-run state (collector from
createCollector and loaders accessed via globalWithModelLoader using
geospecModelLoaderGlobalKey and geospecStepLoaderGlobalKey) on process-global
globalThis, causing races between concurrent runGeoSpecModule invocations;
instead make the state VM-local by passing the collector, modelLoader and
stepLoader through the VM/module registry or by generating a unique run token
and keying the state by that token (e.g., attach to the VM context or module
registry accessible inside runGeoSpecModule rather than globalThis), update
usages in runGeoSpecModule and any helper functions that read those globals to
accept the injected per-run bindings (or look them up by token), and remove
reads/writes to geospecModelLoaderGlobalKey/geospecStepLoaderGlobalKey on
globalThis so finally blocks cannot clear another run's state.

In `@packages/testing/src/parameters.ts`:
- Around line 82-90: The parseParameterEntry function currently treats any
string as raw JSON which causes JSON.parse to choke on filesystem paths and
misses validating group shapes; update parseParameterEntry (and the analogous
JSON-parsing block around lines 118-123) to first detect and reject
filesystem-like strings (e.g., strings that start with '.', '/', or contain path
separators/backslashes) with a clear error instructing the caller to read the
file first, then JSON.parse the string and validate that parsed is a record with
a string activeGroup and that parsed.groups is a record whose each group value
is itself a record containing a "values" record; throw a targeted Error message
when the group or values shape is invalid.

In `@packages/testing/src/prompt-examples.ts`:
- Around line 180-203: The example uses parameterGroups(mainParams, { defaults:
defaultParams }) but never defines or imports defaultParams; add a declaration
or import named defaultParams before it is used (e.g., const defaultParams = {
base: { width: <number> }, ... } or import { defaultParams } from '…') and
ensure the object has the expected shape accessed later (contains base.width so
group.values.base.width resolves) so the example produces valid, runnable test
code.

In `@packages/testing/src/tau.ts`:
- Around line 289-362: The code currently uses a single shared global renderer
key (tauGeoSpecRendererGlobalKey / globalThis.__TAUCAD_GEOSPEC_RENDER__) which
allows concurrent runs to clobber each other; change to per-invocation scoping
by passing a renderer reference through the call stack instead of
reading/writing the global: update renderTauModel and analyzeTauModel to accept
an explicit renderer option (e.g., options.renderer) and prefer that over
globalThis, and modify runTauGeoSpecTests (and the code paths around the other
occurrence at the later block) to provide a renderer function via options or a
unique token/closure so each invocation binds its own renderer instance; ensure
loadModel callers use the provided renderer option and remove reliance on the
shared tauGeoSpecRendererGlobalKey.

---

Outside diff comments:
In `@libs/chat/src/schemas/message.schema.test.ts`:
- Around line 225-246: Update the test so it not only checks result.success but
also inspects the parsed message payload from uiMessagesSchema: after safeParse
and expect(result.success).toBe(true), extract the parsed tool message (e.g.,
result.data[1] or the part matching type `tool-${toolName.testModel}` /
MyMessagePart) and assert its input/rawInput shape with toEqual/toMatchObject
(mirroring the neighboring tool-read_file assertions) to ensure rawInput is
preserved and input/files/testNamePattern are correct; apply the same change to
the analogous test block referenced (lines 392-406) so both tests validate
observable parsed structure rather than only parse success.

---

Minor comments:
In
`@packages/geospec/native/opencascade/geospec_opencascade_single.provenance.json`:
- Around line 3-4: The provenance JSON
(geospec_opencascade_single.provenance.json) is stale — regenerate it so the
metadata matches the actual build config (geospec.single.yml) and flags;
specifically update lto to true, include the -flto link flag in the recorded
link flags, correct the referenced YAML name from geospec_opencascade_single.js
to geospec.single.yml, and refresh buildId/timestamp to match a new
authoritative build run; run the same provenance generation step you use in CI
to produce a consistent, auditable file.

In `@packages/geospec/README.md`:
- Around line 25-27: The bounding-box axis order in the README example is wrong:
change the toHaveBoundingBox assertion so its size matches makeBaseBox(40, 20,
8) by swapping the Y/Z values; update the expectGeo(...).toHaveBoundingBox call
(reference symbols: expectGeo, toHaveBoundingBox, makeBaseBox) to use size: { x:
0.04, y: 0.02, z: 0.008 } while leaving the tolerances unchanged.
- Around line 119-121: The README example uses an undeclared symbol
defaultParams causing the snippet to fail; update the example to either declare
or import defaultParams and show its structure, e.g., add a brief defaultParams
declaration or an import before calling parameterGroups so the example is
runnable: reference the existing mainParams import and the parameterGroups(...)
call and ensure defaultParams is defined (or explicitly passed as
undefined/null) so the snippet compiles and demonstrates the intended usage.

In `@packages/geospec/src/index.test.ts`:
- Around line 152-198: The test currently masks type mismatches by returning the
modelLoader fixture with a type assertion "as unknown as GeometrySubject";
remove that cast and instead construct a properly typed fixture object that
satisfies the GeometrySubject interface at compile time (either by creating a
helper function like buildGeometrySubjectFixture(...) or a typed constant
fixture and returning it from modelLoader). Update the modelLoader
implementation in packages/geospec/src/index.test.ts to return that
helper/fixture (matching GeometrySubject fields such as kind, provenance,
capabilities, diagnostics, mesh, and the mesh.stats methods) so the compiler
enforces the contract rather than relying on a type-erasing assertion.

In `@packages/geospec/src/mesh/distance.test.ts`:
- Around line 39-43: The test uses a brittle regex negative assertion on
suggestion; replace it with principled substring assertions: compute suggestion
and normalizedSuggestion as before (result.diagnostics[0]?.suggestion ?? '' and
suggestion.toLowerCase()), then remove
expect(suggestion).not.toMatch(/simpler|simplify/i) and instead add explicit
negative assertions like expect(normalizedSuggestion).not.toContain('simpler')
and expect(normalizedSuggestion).not.toContain('simplify'), keeping the existing
positive contains checks for 'native geospec opencascade c++ metrics analyzer'
and 'test precision budget' to ensure a stable, consumer-visible contract.

In `@packages/geospec/src/mesh/load-mesh.ts`:
- Around line 113-125: inferFormat currently defaults any unknown filename to
'glb', which hides unsupported extensions; update inferFormat in
packages/geospec/src/mesh/load-mesh.ts (and the similar logic at the other
occurrence) to only return known formats ('mesh-buffer', 'gltf', 'glb') when the
source clearly matches, and otherwise return undefined (or a dedicated
unsupported sentinel) so the caller can hit the typed UNSUPPORTED_MESH_FORMAT
branch; use the existing symbols inferFormat, LoadMeshOptions,
isMeshBufferSource, and MeshFileFormat to locate and adjust the logic (do not
silently treat unknown extensions like ".obj" or ".step" as 'glb').

In `@packages/geospec/src/model/load-model.test.ts`:
- Around line 55-70: The test for loadModel should also assert the error
message; update the assertion around loadModel({ source: new
Uint8Array([1,2,3]), format: 'step' }) so it checks
GeoSpecModelLoadError.message in addition to name and diagnostics — either
convert the expectation to await expect(promise).rejects.toThrow('expected
message') and retain the typed diagnostics check, or include a message field in
the rejects.toMatchObject call to match the exact error message emitted by
GeoSpecModelLoadError; ensure you reference the same loadModel call and the
GeoSpecModelLoadError diagnostics structure when adding the message assertion.

In `@packages/testing/README.md`:
- Around line 18-23: The example uses defaultParams but never defines or imports
it; update the snippet around the parameterGroups(...) call to provide a minimal
defaults object or import it so the example is self-contained — either add a
local const defaultParams = { /* minimal defaults used by parameterGroups */ }
above the groups declaration or import defaultParams from its module and ensure
the names match the existing parameterGroups(mainParams, { defaults:
defaultParams }) usage so the snippet can be copy-pasted and run.

In `@packages/testing/src/tau.ts`:
- Around line 399-414: The empty-entry fallback returns one failure (id
'missing_geospec_file') but sets total: 0; update the returned object so total
accurately reflects the number of checks (e.g., set total: failures.length or
total: 1) while leaving passed: 0 unchanged; locate the branch that checks
options.entryPaths.length === 0 in tau.ts and change the total field in the
returned object to derive from the failures/passes arrays rather than a
hard-coded 0.

In `@packages/vm/src/esbuild-core.ts`:
- Around line 366-371: The wildcard selection logic compares prefix.length to
best.pattern.indexOf('*') which is unclear and fragile; instead compute and
compare prefix lengths directly: when setting best (the object assigned to best
currently containing target, pattern, wildcard) include the numeric
bestPrefixLength = pattern.indexOf('*') (or store prefix.length) and then change
the comparison to prefix.length > best.bestPrefixLength (or prefix.length >
bestPrefixLength) || pattern.length > best.pattern.length so the "most specific
(longest prefix) wins" rule is implemented reliably; update the assignments and
the if condition around best, pattern, prefix, suffix, wildcard accordingly.

---

Nitpick comments:
In `@libs/api-extractor/src/authoring-types.ts`:
- Around line 13-15: The parser helper parseAuthoringTypesMap is declared as a
function declaration which violates the repo style that prefers const function
expressions; change the declaration to a const arrow/function expression (e.g.,
const parseAuthoringTypesMap = (raw: string): AuthoringTypesMap =>
JSON.parse(raw) as AuthoringTypesMap) so the symbol parseAuthoringTypesMap
remains the same and typing with AuthoringTypesMap is preserved.

In `@libs/api-extractor/src/extract-geospec-types.ts`:
- Line 163: Remove the direct console.log call in extract-geospec-types.ts and
replace it with a configurable output mechanism: accept or thread a stdout/write
callback (or use the existing CLI logger pattern from
packages/geospec/src/cli.ts) and write the message via that interface instead of
console.log; specifically change the line that logs using outputPath to use the
injected stdout/logger so tests and linting don't rely on console.* usage.
- Around line 122-156: Add a public JSDoc block above the exported function
buildGeoSpecTypeBundle describing its purpose (builds and returns a bundle of
generated GeoSpec TypeScript declaration files), the returned type
(Record<string, GeneratedPackageTypes>), any important side-effects (creates and
removes a temporary directory), and the errors it may throw (e.g., when
declaration emit fails or index.d.ts is missing); include tags `@returns` and
`@throws` and briefly mention key behavior around createProgram/createProgram.emit
and file collection (temporaryDirectory, rewriteInternalAliases,
collectDeclarationFiles) so consumers understand usage and failure modes.

In `@libs/chat/src/rpc/handlers/handle-run-geospec-tests.test.ts`:
- Around line 27-42: Replace the hand-rolled stub for the GeoSpec client with
the repo-standard partial mock: create the geospec variable using
mock<RpcGeoSpecClient>() (from vitest-mock-extended) instead of the inline
object, then set its runTests to resolve the same result via
geospec.runTests.mockResolvedValue({...}); update references in the test
(handle-run-geospec-tests.test.ts) to use this mocked RpcGeoSpecClient instance
so the test follows the project's mock<T>() convention.

In `@libs/chat/src/schemas/tools/test-model.tool.schema.ts`:
- Around line 77-79: TestModelInput is currently derived with z.infer which
reflects the parsed output and will incorrectly tighten types if defaults are
added; change the consumer-facing type to use z.input<typeof
testModelInputSchema> instead of z.infer to preserve optionality/defaults.
Update the TestModelInput type alias (referencing testModelInputSchema and
TestModelInput) to use z.input so callers receive the correct wire-input shape.

In `@packages/geospec/src/cli.ts`:
- Around line 84-130: The globPatternToRegExp function currently builds RegExp
from user input and can produce catastrophic patterns; update
globPatternToRegExp (and any callers like normalizeCliPath usage) to validate
input before conversion by enforcing a maximum pattern length, a maximum
brace-nesting depth (detect nested '{' '}' pairs while scanning) and a limit on
number of alternates in brace expansions, and reject or truncate patterns that
exceed those thresholds; also document/raise a clear error when
escapeRegExp(...) inputs or generated source would exceed limits, and consider
wrapping downstream RegExp.test usage with a timeout or using a safe match
function for untrusted inputs.

In `@packages/geospec/src/mesh/load-mesh.test.ts`:
- Around line 34-40: The test should avoid a regex assertion on
result.subject.provenance.contentHash; instead assert the structured properties:
verify contentHash is a non-empty string, that it begins with the literal prefix
"sha256:", and that the substring after that prefix is non-empty (or valid hex)
to ensure a principled contract. Update the assertion around
result.subject.provenance.contentHash accordingly (replace the toMatch(...)
check with explicit checks on type, starts-with "sha256:" and non-empty suffix).

In `@packages/geospec/src/mesh/watertight.ts`:
- Around line 122-126: The watertight check currently skips primitives when
primitive.getIndices() is null, causing non-indexed TRIANGLES to be ignored;
update the logic in the function using primitive.getAttribute('POSITION') and
primitive.getIndices() to generate implicit indices (0..vertexCount-1) when
indexAccessor is null, mirroring readTriangleVertexIndices and the
implicit-index behavior in connected-components.ts, then pass those generated
indices into the existing triangle processing so non-indexed geometry is
included in the watertight analysis.

In `@packages/geospec/src/model/types.ts`:
- Around line 25-27: The export() function currently types its format parameter
as a plain string, allowing unsupported values; change the parameter type to
GeoSpecModelFormat so GeoSpecRuntimeClient.export(format: GeoSpecModelFormat,
input: unknown) matches the loader API and prevents unsupported formats at
compile time—update the export signature in types.ts and any related
declarations/usages to use GeoSpecModelFormat.

In `@packages/testing/src/prompt-examples.test.ts`:
- Around line 40-45: Update the test "should produce a fenced TypeScript GeoSpec
code block" to avoid regex assertions: use rendered.startsWith("```ts") and
rendered.endsWith("```") instead of toMatch, and replace the loose contains
checks with explicit assertions (e.g., expect(rendered).toContain("loadModel({
file: 'main.scad' })") and add expect(rendered).not.toContain(...) for any
forbidden phrases). Make the same change for the similar assertions referenced
around lines 129-131; locate these via the test name and the helper function
renderCanonicalExample('scad') to apply the replacements.

In `@packages/testing/src/schemas.ts`:
- Around line 78-96: Change the exported consumer-facing TypeScript aliases to
use z.input instead of z.infer so defaulted/optional fields on the Zod schemas
are preserved: replace the type alias for TestFileEntry (currently using
z.infer<typeof testFileEntrySchema>) with z.input<typeof testFileEntrySchema>,
and do the same for TestFile (replace z.infer<typeof testFileSchema> with
z.input<typeof testFileSchema>), leaving the underlying schemas
testFileEntrySchema and testFileSchema unchanged.

In `@packages/testing/src/tau.test.ts`:
- Around line 196-210: Replace the double-cast test fixtures that assign to the
subject variable with a properly typed mock: stop using "as unknown as
GeometrySubject" and create the fixture using mock<GeometrySubject>() (from
vitest-mock-extended) or a shared typed fixture factory so the object adheres to
the GeoSpec contract (capabilities shape, provenance.source.format/unit/loader,
mesh.format, and analyseConnectedComponents return fields). Update the two
places where this pattern appears (the subject declaration and the later similar
block) to construct and partially override the mock's properties rather than
force-casting, ensuring the tests will fail if the GeometrySubject type changes.

In `@packages/vm/src/node-module-execution.ts`:
- Around line 23-29: The JSDoc for the exported function executeCodeInNode is
missing the required `@public` tag; update the JSDoc block immediately above the
executeCodeInNode declaration to include an `@public` tag (e.g., add a line with
"`@public`") so the function is marked as part of the public API; ensure the tag
is placed inside the existing /** ... */ comment and follows the project's JSDoc
style.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

Comment thread packages/geospec/native/opencascade/wrappers/geospec-mesh-metrics.cpp Outdated
Comment thread packages/geospec/package.json Outdated
Comment thread packages/geospec/src/mesh/distance.ts Outdated
Comment thread packages/geospec/src/runner/collector.ts Outdated
Comment thread packages/geospec/src/runner/run-geospec-module.ts Outdated
Comment thread packages/testing/src/parameters.ts Outdated
Comment thread packages/testing/src/prompt-examples.ts Outdated
Comment thread packages/testing/src/tau.ts Outdated
Comment thread apps/api/app/api/chat/middleware/agent-safeguards.middleware.ts
@rifont rifont requested a review from a team as a code owner June 2, 2026 23:58
@rifont

rifont commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@claude

claude Bot commented Jun 3, 2026

Copy link
Copy Markdown

Claude Code is working…

I'll analyze this and get back to you.

View job run

@rifont

rifont commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@claude

claude Bot commented Jun 3, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

@rifont

rifont commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@claude

This comment was marked as resolved.

rifont and others added 28 commits July 9, 2026 21:28
Two worker-lifecycle edge cases could leave runTests promises unresolved: an unsolicited 'closed' message (no close() in flight) detached the worker without failing pending runs, and if the worker never emitted 'initialized'/'error' the init promise never settled. Terminate and fail in-flight runs on unexpected close, and add a bounded initialization timeout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the toBeDefined() gate plus manual throw and per-field checks with a single toMatchObject over the diagnostic shape (using expect.closeTo for the approximate volume), per the review's test-quality guidance.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace regex message matching with exact-substring checks; the repo test guidelines discourage regex assertions in upstream PR tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The claude-code workflow checks out the untrusted PR head and runs PR-authored tooling (pnpm/nx/npm), so a persisted GITHUB_TOKEN in .git/config could be scraped by a malicious PR build script. Set persist-credentials: false on both code-running checkouts as defense-in-depth; the action authenticates its own git/API operations via its github_token input, so pushes are unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Anthropic AIMessages carry each tool call twice: as a native tool_use
content block (with the args in `input`) and in the normalized
`tool_calls` array. estimateRawComponents folded the tool_use block into
`structuredTokens` and then added `call.args` again, roughly doubling the
`tool_call_args` component for the primary provider. The over-estimate is
conservative (it only makes compaction fire early, never overflows) but
skews the budget breakdown and trigger point.

Skip tool_use blocks in estimateContent when the message has a tool_calls
array, so the args are counted once via tool_calls. Keying the skip on
tool_calls being present keeps every provider shape counted exactly once
and cannot flip to an under-count.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
stepOccurrenceEntities inner-joins STEP products against mesh components by
exact name. A product whose exported mesh component was renamed or suffixed
produced no match and returned []. Because occurrenceEntities preferred STEP
entities whenever any product matched, that unmatched mesh occurrence was
dropped from every selector result and became silently unselectable.

occurrenceEntities now unions the STEP-labelled matches with the mesh
occurrences no product claimed, so every component stays selectable. The
mesh occurrence list is also computed once instead of per product.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
solidNodeBySolidIndex kept a single { nodeIndex, meshIndex } per solid, so
when two glTF nodes referenced the same instanced solid the last write won
and the earlier node lost its body binding. That node received no
tauComponentId extras in applyTopologyExtras and became unselectable in the
topology payload.

Accumulate a binding per referencing node and set the shared body component
id on all of them; the representative node/mesh still drives the component's
geometry refs. Renamed the map to solidNodesBySolidIndex to reflect the
one-to-many relationship.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
GeoSpec suites should use model defaults when no parameters are supplied and pass variant values directly to loadModel. Removing the generated package import map keeps suites portable across browser and headless runtimes.
Revision reconstruction requires invertible create and delete operations. Persist full before/after content with tool results while trimming only the LLM-bound copy.
Restore state is derived from persisted file snapshots and keyed by stable user-message IDs. Persist the revision slice through the project machine so full-document writes cannot clobber it.
Render one shared revision card in chat history and the revisions pane, with restore, discard, current-state, fork, and return-to-latest controls.
Filesystem-driven model updates synchronously trigger Monaco's normal change callback. Preserve path provenance across that callback so restore stays clean without dropping genuine queued editor writes.
Restores use writeFiles, which bypassed writer-pool invalidation and exact-path events. Delegate every batch entry to writeFile so runtime watchers, mount backends, origins, queues, and locks retain canonical behavior.
Sol, Terra, and Luna each passed Tau's live tool-call smoke test. Keep GPT-5.5 available outside the recommended list as a fallback.
Publications need to observe invite/notification send volume and cap suppressions to act on abuse. Add publication.invite_emails{outcome} and publication.invite_emails.suppressions{reason} counters, plural-suffixed per the registry's counter naming rule.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
An authenticated owner could trigger unbounded emails from Tau's domain via repeated invites or publishes; the revoke/re-invite path bypassed the only existing guard, a spam and sender-reputation risk.

Enforce a 200/owner/day cap at the sendPublicationInviteNotifications chokepoint, reusing the renamed PublicationRateLimiterService (shared INCRBY Lua). Over-cap and limiter-unavailable both fail closed, so grants and publishes still succeed; sent and suppressed emails are recorded via the new counters.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The thumbnail v3->v4 review exposed that a filesystem-first architecture
was violated because the philosophy lived only as one vision-policy
bullet, not as enforceable rules. Codify it (research doc:
filesystem-first-policy-alignment, PR1-PR8):

- project-manifest-policy (new): tau.json contract - placement, Zod
  source of truth, schemaVersion migrations, loop guards, untrusted input.
- filesystem-authority-policy (new): single-authority invariant (one
  provider per storage root, mounts as routing from persistent config);
  absorbs the stale ZenFS-era provider rules with an old-number map.
- filesystem-policy: retire ZenFS mechanics, trim 599->498 lines.
- storage-policy: Rule 0 store-selection boundary (what belongs in IDB).
- worker-policy: worker-per-feature topology.
- runtime-architecture-policy: multi-client cache-parity + placement.
- vision-policy: "Hosts are peers" principle.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rules 13a/13b moved to filesystem-authority-policy (Rules 10/11) when the
Backend & Provider rules were extracted from filesystem-policy. Update the
code comments that cite them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Enforce storage-policy Rule 0: project-scoped state belongs in the project
filesystem, not IndexedDB. Flags indexedDB.* factory calls and
globalThis/window/self.indexedDB access outside an allowlist (object-store
provider, handle-store, filesystem backends, tests). Report-only with a
rule-option allowlist; repo-wide blast radius is zero.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
no-handrolled-fanout.js returns unwrapped.members.some(...), inferred as
any because TSESTree.TypeNode resolves loosely in JSDoc-typed .js files -
the ESTree-AST false-positive class the override already documents. Matches
the three sibling no-unsafe-* rules already disabled for this glob.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant