.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/project-configuration.md
docs/public-api.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-DsIEQ73q.js
src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-CZalW6MY.js
src/python_cad_tools/_viewer_static/assets/basisTextureLoader-COAjXVqP.js
src/python_cad_tools/_viewer_static/assets/brdfTextureTools-BHIclPmG.js
src/python_cad_tools/_viewer_static/assets/bumpFragment-VvIKAANw.js
src/python_cad_tools/_viewer_static/assets/bumpVertex-DLicej86.js
src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-DaRKbtcX.js
src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-Cllz8e_G.js
src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-ChqMABPH.js
src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-Xk086_Qo.js
src/python_cad_tools/_viewer_static/assets/dds-C6ZccGbi.js
src/python_cad_tools/_viewer_static/assets/dds.pure-DQ1rbFUk.js
src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-CL_A0T2G.js
src/python_cad_tools/_viewer_static/assets/default.fragment-hdxpe8Dp.js
src/python_cad_tools/_viewer_static/assets/default.vertex-BLL2IEXP.js
src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-kpQOJEVS.js
src/python_cad_tools/_viewer_static/assets/dumpTools-CUtvg5MO.js
src/python_cad_tools/_viewer_static/assets/envTextureLoader-Bha4zu64.js
src/python_cad_tools/_viewer_static/assets/exrTextureLoader-DGetsIyD.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-D0SE4mA-.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-DTkgPEFB.js
src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-Cjyt2bwB.js
src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-DWxYlhxj.js
src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-BeXLKyeD.js
src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-BqigJ1AN.js
src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-D2544szv.js
src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-DS-QhXgE.js
src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-BY0Vhd0M.js
src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-DoNGzuFZ.js
src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CL1zETuj.js
src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-b0L3Bfv_.js
src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-CE3gLEM4.js
src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-Z6deq4Xb.js
src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-wfFU7ZMz.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-B5U221PZ.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CpuIkgZU.js
src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-ByWmK6vQ.js
src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-CRs4rMj_.js
src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-CK5fJiSy.js
src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-H1FPxMZo.js
src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-DrieLYOj.js
src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-D7vSBwR1.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-CkYrIYRL.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-BOr56oxs.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-4Mn8MDsq.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-DwufqO-4.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-CAeZqGoL.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-DfnjXMG_.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-Bw2aRjaE.js
src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-DuZkczUp.js
src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-CQUVrJhI.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-CKMqA1DR.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-CIAX4gsj.js
src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-Bt9WkFOM.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-BwXDwLBi.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-BH_q1Ope.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-CU8VJhCC.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-TXHKXyeY.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-DKuB9Mlq.js
src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-BGDHmBFG.js
src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-DdOr-Hvu.js
src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-qMXK-ALx.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-hPtKOUnY.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-BGBSlkM3.js
src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-7YfMt_A1.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-C9_H0W1H.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-BhG6uJmA.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-GBPgkHfj.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-B9xb5ipq.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-DZE1Ulng.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-Bx_Bbmlm.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-Lfu7DTHO.js
src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-CNMufa4Q.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-BInxhpxK.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-DTDZyoc3.js
src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-BOGgKOnP.js
src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-D-FGr9Zw.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-CH6VePBl.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-n6qAMb7Q.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-DcqJhGqB.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-DRWqANvn.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-D_IoFmjW.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-Cu0qdSne.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-ob3vWA--.js
src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-C2d303hL.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-BqCklpFH.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-bk8E55Bx.js
src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-DvwhuZhG.js
src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-DG8TRsJy.js
src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-CH4muGsP.js
src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-C7hV0GKG.js
src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-DiLGLHtc.js
src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-USb1v61c.js
src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-D5X16kvu.js
src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-Be9fTLoy.js
src/python_cad_tools/_viewer_static/assets/fogFragment-BzLCRCIz.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-CAfPyqPa.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-DPftVbu_.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment--eSkFo4e.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-bBe4NB4J.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-56pdhT0C.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-B1n9hp15.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-BZapF5sB.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-CX6nBRSU.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-COp6zd-l.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-aXKOzvn3.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-BEdt-FQu.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-Dr1pGbVQ.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex--elQa6vQ.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-C4cLov7Q.js
src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-C_S_GG9X.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-B9tAmR9r.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-CEIj_3tv.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-C0kWfvu0.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-DPy1k2mD.js
src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-BVmgiiRj.js
src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js
src/python_cad_tools/_viewer_static/assets/helperFunctions-DeCJcXoK.js
src/python_cad_tools/_viewer_static/assets/iesTextureLoader-CLEy0Gjc.js
src/python_cad_tools/_viewer_static/assets/index-DcTTrc-8.css
src/python_cad_tools/_viewer_static/assets/index-YcXsPtFI.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DhmP78e4.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DzyofO4j.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-1S6DR99z.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-BUw8hyu8.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DPnSKXPz.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-GWJW2YR3.js
src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-Bz9RqBRq.js
src/python_cad_tools/_viewer_static/assets/lightFragment-BRkIPUO1.js
src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-DHeJwlJR.js
src/python_cad_tools/_viewer_static/assets/logDepthVertex-Dt5zdVFA.js
src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-CoUbOUEQ.js
src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js
src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-dDsFbRSv.js
src/python_cad_tools/_viewer_static/assets/oitFragment-C1JYx8fS.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-BJTs78x9.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-CnBW8BK7.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-Cis9aL4z.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-Qr3-JJak.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-CyogTmBA.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-Ia3_0Gp8.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-D2UaStdu.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-Yc4m_LFv.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-DfY3S0VX.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-YAeSpo2n.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-BWIusbYB.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-yE7XM0N6.js
src/python_cad_tools/_viewer_static/assets/pass.fragment-DsLu0lV1.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-CmSU0-bM.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-CwkS-Cl_.js
src/python_cad_tools/_viewer_static/assets/pbr.fragment-BUBggeRz.js
src/python_cad_tools/_viewer_static/assets/pbr.vertex-BXB7uMkC.js
src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-C50h7JEU.js
src/python_cad_tools/_viewer_static/assets/pbrDebug-RHma8ghT.js
src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-D5A_AxnZ.js
src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-DN58n3w5.js
src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-COioUqvP.js
src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-CMkwjzTB.js
src/python_cad_tools/_viewer_static/assets/postprocess.vertex-DYv0bAut.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-BMAV1XYH.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-CRCZXfiw.js
src/python_cad_tools/_viewer_static/assets/reflectionFunction-CpMEFzxv.js
src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-BZcVE2Bb.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-BImEwGmR.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-DPFzMtDN.js
src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-1bB3YoON.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment--dZBsr4X.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-BlZ9kg3B.js
src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-DeroIE2j.js
src/python_cad_tools/_viewer_static/assets/vertexColorMixing-C6OHmVcI.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