.gitattributes
.gitignore
AGENTS.md
CHANGELOG.md
CLAUDE.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
.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-CjhCwiIi.js
src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-_xBvgBl7.js
src/python_cad_tools/_viewer_static/assets/basisTextureLoader-D5LtrhD-.js
src/python_cad_tools/_viewer_static/assets/brdfTextureTools-D9U08KSH.js
src/python_cad_tools/_viewer_static/assets/bumpFragment-BkzgDMwt.js
src/python_cad_tools/_viewer_static/assets/bumpVertex-BXtiaDZI.js
src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-CchYDl1F.js
src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-pIdOfJ_5.js
src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-Kl_G8tpP.js
src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-CJ4cRmPh.js
src/python_cad_tools/_viewer_static/assets/dds-YsWo1VVF.js
src/python_cad_tools/_viewer_static/assets/dds.pure-BoNGq59u.js
src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-D8JRisWC.js
src/python_cad_tools/_viewer_static/assets/default.fragment-D0gXI89M.js
src/python_cad_tools/_viewer_static/assets/default.vertex-BdO0XLk6.js
src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-BJ4b62qj.js
src/python_cad_tools/_viewer_static/assets/dumpTools-B7F8Ed3A.js
src/python_cad_tools/_viewer_static/assets/envTextureLoader-BnvTfKgF.js
src/python_cad_tools/_viewer_static/assets/exrTextureLoader-C2D3Wx-p.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-C08kKLog.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-GzK2l9nm.js
src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-DkRHIuYC.js
src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-Csol8jUn.js
src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-C-xEeg-Z.js
src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-D7bstQqM.js
src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-C0pDPzaF.js
src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-VwnDZhN9.js
src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-C5aa0K7t.js
src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-B4vfaSDi.js
src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CuLlYu4c.js
src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-DkyD6_YZ.js
src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-IKUbfY32.js
src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-tP_5qAQn.js
src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-DiTgopj3.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-FLUJTpdt.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-C0EH9zPP.js
src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-DiAdBjnD.js
src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-CXlIILZe.js
src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-5XRf4KeD.js
src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-RitJ6OS_.js
src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-DvVIlipg.js
src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-BxBUrprf.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-CqBDBjqf.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-Dk4qKn1w.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-DNN6N9mt.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-CTsHqDvM.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-CjX3cseU.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-DzWJtlM9.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-uBq6vXOw.js
src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-MpANR6P1.js
src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-BM2_pZfB.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-X1Q2SR0H.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-C_ir8hba.js
src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-I5tJhTaw.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-DSmmDXBR.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-BDViriRD.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-B7EQjaZe.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-RIndR7Kr.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-BEMkyBCM.js
src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-BAV1wScN.js
src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-CcNT5f0d.js
src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-DSEbX2Mj.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-Dfthx2s-.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-DSu8v9Kr.js
src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-jvE_54c8.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-DK8Z5heh.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-XiF7wfi1.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-BOqQHgdZ.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-DggBfxkF.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-DvZyyUF4.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-YLki8WEB.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-D1tqJ9jF.js
src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-D3VAKTpt.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-Dt8AsNSg.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-BtuZ_Spn.js
src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-B8Dzycmf.js
src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-CQsb2okn.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-C3zOq5X7.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-DxyUb-8k.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-DeNTJQ42.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-i233RoWe.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-Darrnz2o.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-KrTTGHr6.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-8CdS1h8e.js
src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-Cuk8JjDG.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-DOsG4sc5.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-C5IaCPpa.js
src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-ClqiypjM.js
src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-C7hhfNo2.js
src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-BksU6sPJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-DJi_CBW-.js
src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-U15mYQbJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-D4QAvgsk.js
src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-UV6LDk1r.js
src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-DPpNHwZP.js
src/python_cad_tools/_viewer_static/assets/fogFragment-pKchdx3M.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-DgjcxjKa.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-oRLzV71m.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BKYuCXf7.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-NCxeyHg7.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-CW0PXB4s.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-zmXoP8p9.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment--IDQcS1p.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-CgX-XH5m.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-DzuuyEGB.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-YB1C1Muy.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-DuBDWlLB.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-EEbMy57o.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-3cVZEKxJ.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-B--XA-QK.js
src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-UNz8njEJ.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-CsSqgq6c.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-DOMHadFA.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-DXi2v5pz.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-DgBSWFHP.js
src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-BkifmnNV.js
src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js
src/python_cad_tools/_viewer_static/assets/helperFunctions-Bx8RYYvi.js
src/python_cad_tools/_viewer_static/assets/iesTextureLoader-Dj5K0vc1.js
src/python_cad_tools/_viewer_static/assets/index-DcTTrc-8.css
src/python_cad_tools/_viewer_static/assets/index-JRwY7p9T.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-B9YDiI_M.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-BRdwtDs7.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-A7OpqdrG.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-CWlIunB6.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-PE5ICZNw.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-YMenN7Se.js
src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-uG9TUdGM.js
src/python_cad_tools/_viewer_static/assets/lightFragment-CDLhoaId.js
src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-BOlhc3aa.js
src/python_cad_tools/_viewer_static/assets/logDepthVertex-BIA9Xrid.js
src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-PmIDYGIz.js
src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js
src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-BfPhZsyr.js
src/python_cad_tools/_viewer_static/assets/oitFragment-DpKfMtsk.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-BAOdoy3Z.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-BmgNfxS4.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-BpB-7aXl.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-D-IjPutK.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-C6V2SeQx.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-CbcwuEwB.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-1U_DHNWK.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-BClMu_zp.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-DLujw3YH.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-piwBvKOi.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-BD5WZtBT.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-D3gaUkUa.js
src/python_cad_tools/_viewer_static/assets/pass.fragment-CzZpaqYk.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-Bso78Amo.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-DwRJ1H1s.js
src/python_cad_tools/_viewer_static/assets/pbr.fragment-sZ-foSaO.js
src/python_cad_tools/_viewer_static/assets/pbr.vertex-PBjkpyNN.js
src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-Dv8-Akv1.js
src/python_cad_tools/_viewer_static/assets/pbrDebug-5RaK38tC.js
src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-D_X-tzpO.js
src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-RJ6tVczH.js
src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-BqlfZ1xs.js
src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-BqNgF1qB.js
src/python_cad_tools/_viewer_static/assets/postprocess.vertex-9J4kRI6V.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-Bq_A-zE0.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-DzkBufoo.js
src/python_cad_tools/_viewer_static/assets/reflectionFunction-n0dvho3A.js
src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-0BuGamw5.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-BBGe9kwu.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-DiiD2NE-.js
src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-BmpwedcW.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-CwNRejEe.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-CyBHPXX2.js
src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-ClB6SRY9.js
src/python_cad_tools/_viewer_static/assets/vertexColorMixing-f4wQRwGI.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