.gitattributes
.gitignore
AGENTS.md
CHANGELOG.md
CLAUDE.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
.githooks/pre-push
.github/workflows/ci.yml
.github/workflows/downstream-compatibility.yml
.github/workflows/release-candidate.yml
.github/workflows/release.yml
.opencode/commands/autocommit.md
.opencode/tools/specrepo-autocommit.js
.opencode/tools/specrepo-autocommit.py
docs/build-semantics.md
docs/drawing-extensions.md
docs/manifests.md
docs/neutral-model.md
docs/project-configuration.md
docs/public-api.md
docs/toolchain.md
docs/two-tier-contract.md
docs/viewer-delivery.md
docs/spikes/format-feasibility.md
src/python_cad_tools/__init__.py
src/python_cad_tools/__main__.py
src/python_cad_tools/_locking.py
src/python_cad_tools/_project_loader.py
src/python_cad_tools/_project_state.py
src/python_cad_tools/_scaffold.py
src/python_cad_tools/_transaction.py
src/python_cad_tools/artifacts.py
src/python_cad_tools/build-info.json
src/python_cad_tools/build.py
src/python_cad_tools/cli.py
src/python_cad_tools/context.py
src/python_cad_tools/determinism.py
src/python_cad_tools/elements.py
src/python_cad_tools/exceptions.py
src/python_cad_tools/geometry.py
src/python_cad_tools/manifests.py
src/python_cad_tools/project_config.py
src/python_cad_tools/py.typed
src/python_cad_tools/runtime_sync.py
src/python_cad_tools/site.py
src/python_cad_tools/units.py
src/python_cad_tools/validation.py
src/python_cad_tools.egg-info/PKG-INFO
src/python_cad_tools.egg-info/SOURCES.txt
src/python_cad_tools.egg-info/dependency_links.txt
src/python_cad_tools.egg-info/entry_points.txt
src/python_cad_tools.egg-info/requires.txt
src/python_cad_tools.egg-info/scm_file_list.json
src/python_cad_tools.egg-info/scm_version.json
src/python_cad_tools.egg-info/top_level.txt
src/python_cad_tools/_viewer_static/app.webmanifest
src/python_cad_tools/_viewer_static/asset-manifest.json
src/python_cad_tools/_viewer_static/favicon.svg
src/python_cad_tools/_viewer_static/index.html
src/python_cad_tools/_viewer_static/sw.js
src/python_cad_tools/_viewer_static/assets/animationGroup-BFpCrP0o.js
src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-DKIsxzCh.js
src/python_cad_tools/_viewer_static/assets/basisTextureLoader-BWlCMZKU.js
src/python_cad_tools/_viewer_static/assets/brdfTextureTools-CpZi6QbK.js
src/python_cad_tools/_viewer_static/assets/bumpFragment-ChvT23CB.js
src/python_cad_tools/_viewer_static/assets/bumpVertex-nEs2VPot.js
src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-BBNawFh8.js
src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-C77PAFKo.js
src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-CBvbot7K.js
src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-BCMcxsAF.js
src/python_cad_tools/_viewer_static/assets/dds-0RTqNYDh.js
src/python_cad_tools/_viewer_static/assets/dds.pure-OdUDHE0G.js
src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-1l_GkUW1.js
src/python_cad_tools/_viewer_static/assets/default.fragment-DJkWvM0e.js
src/python_cad_tools/_viewer_static/assets/default.vertex-CMrXZjYP.js
src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-Da9s8wLf.js
src/python_cad_tools/_viewer_static/assets/dumpTools-BfBU44JR.js
src/python_cad_tools/_viewer_static/assets/envTextureLoader-CUgicy-i.js
src/python_cad_tools/_viewer_static/assets/exrTextureLoader-4Fy-_N6F.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-UxcpUOb4.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-8doxumAC.js
src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-q8W2FV-w.js
src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-3ZEqX4ZJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-D3ayisoN.js
src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-BR9ohqut.js
src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-DKeQ8sZI.js
src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-DzimG9bV.js
src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-BDp2kDKe.js
src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-DUy-bdD8.js
src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CZsZDCqO.js
src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-D4jP5Zis.js
src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-iDbQUT2i.js
src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-fNm-N_rD.js
src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-a2hfmRfA.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-B-ua6-rc.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CFvv9NT9.js
src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-QrVeUF7s.js
src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-BL-amui0.js
src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-DGNR6aQc.js
src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-CGGzIxtA.js
src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-BbPKAgEi.js
src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-5JE9USOH.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-DIu658Lh.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-DTCqvYE6.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-RW4Yofih.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-aiF5BOL9.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-D15fpxe7.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-CwR7xfkj.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-eTZrs7GE.js
src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-DPZf_95j.js
src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-DiAJzLOE.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-CADmRrDd.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-D8B4F2Z5.js
src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-Xfl-dDJk.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-Cm2zaYXU.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-C_BP5Hf5.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-C05IFCUh.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-DlWMU189.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-qSe8QChR.js
src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-DbzURNpp.js
src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-DxJxxG3S.js
src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-BPZd8mbK.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-C3c7bzsQ.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-DJvpN7CX.js
src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-CNunrdNk.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-ByRpWDZ5.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-D5G_NhMs.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-pWyOiXvU.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-BIgzBvv9.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-DaEitrdC.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-Bwc4ooou.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-BtmDICq5.js
src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-BKnkEvuu.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-CawN6pQ_.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-zXyWDNoE.js
src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-C4QwZQD_.js
src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-C2DrAckq.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-B2_GCxnR.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-CoxLB_JO.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-Dcl_TlE4.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-VH0XyIek.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-BMVB2YpZ.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-B3LlN1_P.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-DjPcD-uk.js
src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-B3BPhieu.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-DB-YMsd0.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-rkBjhxoU.js
src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-zgP4JU9F.js
src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-BFCejhG2.js
src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-B5sXEjm6.js
src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-GWfI6VCP.js
src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-C3x4cBoo.js
src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-DHmbwNwJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-D2S-o8ta.js
src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-BIaIe1G3.js
src/python_cad_tools/_viewer_static/assets/fogFragment-lpu2fSrY.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-C3mITXca.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-r2QTVyrX.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BRSDLsfp.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BTuradYo.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-WPP1vXOl.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-s39KAVkx.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-BMmjNFoS.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-egtcopGg.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-6Odgg2pj.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-Bo8-VkdD.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-CuLpqUUk.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-DHXfK03n.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-Bm0A4YY1.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-DSbpeedB.js
src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-Qbdz4gLu.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-1hOZT_4N.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-Cg1UfAtC.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-BoiNEY2n.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-CpWKznSe.js
src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-DIzIowqF.js
src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js
src/python_cad_tools/_viewer_static/assets/helperFunctions-7oODcxNt.js
src/python_cad_tools/_viewer_static/assets/iesTextureLoader-wAQEvbfd.js
src/python_cad_tools/_viewer_static/assets/index-CnrKUEff.css
src/python_cad_tools/_viewer_static/assets/index-D6uexFRQ.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-Bt6sD8qx.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DGSh46Om.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-BlhNG48F.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-C1fudmM_.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-BWYB4Ycu.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DFH4bO-3.js
src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-DsFCeiiH.js
src/python_cad_tools/_viewer_static/assets/lightFragment-CHOWnPK9.js
src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-k15gEJ3y.js
src/python_cad_tools/_viewer_static/assets/logDepthVertex-CHajYpMu.js
src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-BGrReuHo.js
src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js
src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-DJwUrZx2.js
src/python_cad_tools/_viewer_static/assets/oitFragment-BsvP7q4R.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-B8VN-IrQ.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-C06kkVuL.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-A4s3IgoK.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-DJCYXObK.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-Bs5DC-y9.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-C_c5atIs.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-CYdsV_SL.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-DaaAXfx7.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-3JPIOWr0.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-rQewqvT4.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-Bn1t67wx.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-DMIYB28m.js
src/python_cad_tools/_viewer_static/assets/pass.fragment-DYkGKBSd.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-D3u4_FLI.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-DNC6H8VG.js
src/python_cad_tools/_viewer_static/assets/pbr.fragment-BiEI1YfJ.js
src/python_cad_tools/_viewer_static/assets/pbr.vertex-A6knpQsw.js
src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-BeK39hzl.js
src/python_cad_tools/_viewer_static/assets/pbrDebug-mLga6xKt.js
src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-Db54NySa.js
src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-Dp6NmN9w.js
src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-CvXJgU4i.js
src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-BW-aS_Fc.js
src/python_cad_tools/_viewer_static/assets/postprocess.vertex-BIWUhm9k.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-DGnTrHzl.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-WXmVjrA9.js
src/python_cad_tools/_viewer_static/assets/reflectionFunction-DrJ5CgYG.js
src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-7H1BkSqs.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-CTyiKQCb.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-CoVaziaW.js
src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-Ck43xulU.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-Bspm0dPH.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-CD-iXyeA.js
src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-DrtUlmLD.js
src/python_cad_tools/_viewer_static/assets/vertexColorMixing-7aNKbB6k.js
src/python_cad_tools/drawings/__init__.py
src/python_cad_tools/drawings/_catalog.py
src/python_cad_tools/drawings/_validation.py
src/python_cad_tools/exporters/__init__.py
src/python_cad_tools/exporters/base.py
src/python_cad_tools/exporters/glb.py
src/python_cad_tools/exporters/ifc.py
src/python_cad_tools/exporters/quantities.py
src/python_cad_tools/exporters/step.py
src/python_cad_tools/exporters/drawings/__init__.py
src/python_cad_tools/exporters/drawings/annotations.py
src/python_cad_tools/exporters/drawings/dxf.py
src/python_cad_tools/exporters/drawings/model.py
src/python_cad_tools/exporters/drawings/pdf.py
src/python_cad_tools/exporters/drawings/primitives.py
src/python_cad_tools/exporters/drawings/projection.py
src/python_cad_tools/exporters/drawings/svg.py
src/python_cad_tools/schemas/build-manifest-1.json
src/python_cad_tools/schemas/design-manifest-1.json
src/python_cad_tools/schemas/download-manifest-2.json
src/python_cad_tools/schemas/drawing-annotations-1.json
src/python_cad_tools/schemas/glb-manifest-1.json
src/python_cad_tools/schemas/ifc-validation-1.json
src/python_cad_tools/schemas/quantities-1.json
src/python_cad_tools/schemas/run-metadata-1.json
src/python_cad_tools/schemas/site-metadata-1.json
src/python_cad_tools/schemas/step-validation-1.json
src/python_cad_tools/templates/project/.gitignore
src/python_cad_tools/templates/project/README.md
src/python_cad_tools/templates/project/config.py
src/python_cad_tools/templates/project/drawing_annotations.py
src/python_cad_tools/templates/project/model.py
src/python_cad_tools/templates/project/pyproject.toml
src/python_cad_tools/templates/project/generated/.gitkeep