.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-d5_0GqzW.js
src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-BTnhNnCG.js
src/python_cad_tools/_viewer_static/assets/basisTextureLoader-B1WedbgE.js
src/python_cad_tools/_viewer_static/assets/brdfTextureTools-DIdTXZSR.js
src/python_cad_tools/_viewer_static/assets/bumpFragment-C_S7LReC.js
src/python_cad_tools/_viewer_static/assets/bumpVertex-9p8w1w7z.js
src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-B8rpdm3U.js
src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-A-1cS0Wr.js
src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-B34pEy_z.js
src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-BAw8ctMB.js
src/python_cad_tools/_viewer_static/assets/dds-BDxArwXs.js
src/python_cad_tools/_viewer_static/assets/dds.pure-D_Zw5OEt.js
src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-DeQLZozV.js
src/python_cad_tools/_viewer_static/assets/default.fragment-BI3GAR2C.js
src/python_cad_tools/_viewer_static/assets/default.vertex-CQ4MILUZ.js
src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-DOBRS3iS.js
src/python_cad_tools/_viewer_static/assets/dumpTools-DCMMRWtL.js
src/python_cad_tools/_viewer_static/assets/envTextureLoader-C-7LpDe_.js
src/python_cad_tools/_viewer_static/assets/exrTextureLoader-oNqXrLmH.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-DUMH2798.js
src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-DUvs7iqs.js
src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-B-qeUHG6.js
src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-Cjm4_L1J.js
src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-CXnNy9QR.js
src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-DLUVB1dZ.js
src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-BkfdjQtr.js
src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-DwzbjNTQ.js
src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-CzFaSgik.js
src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-DsMUDoGH.js
src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-CVWywmBY.js
src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-BNIgu4QC.js
src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-DuQCYIgK.js
src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-DxCqjQc8.js
src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-BOncXvGP.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-43eNp_3W.js
src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CYRuaSbJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-Du-7uIwS.js
src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-C6lQQb9c.js
src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-Ba-WebLx.js
src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-CC4ZykmE.js
src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-Cc8odCYm.js
src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-Bs8eI-tc.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-BR2ioMLJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-DD4Eo4N8.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-CiXY_22u.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-BFuYrykd.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-yylHk0Tj.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-Yoy3NMR4.js
src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-DP0lG6uk.js
src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-Dp46lAXL.js
src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-DAAojSot.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-BzyaFJtY.js
src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-4qIsPViO.js
src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-BZG5ehwx.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-rpKm7KQS.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-DZ0cYho3.js
src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-CiAmYMbH.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-CbJDlFUY.js
src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-DICrYBP4.js
src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-ftOIDo5d.js
src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-DTChczhf.js
src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-DdupWV9J.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-DBsgO-6v.js
src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-DWcr1ULl.js
src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-CVKDMyoo.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-BXVH0aEG.js
src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-LNU38ZaS.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-L9Wzp4sm.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-Cgf9rHw2.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-0bOFbyCB.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-CJQEfL96.js
src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-Dr4yXdtL.js
src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-DpKjQPwo.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-CTK4Ndci.js
src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-CzJbobbg.js
src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-DBQ1n5eJ.js
src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-oBhLC7Vj.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-DXlS3umF.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-DhrCI14Z.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-DdNE9BcN.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-Be7qTZ0l.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-Bx8fCC87.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-Bmh5show.js
src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-BP87cysh.js
src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-DPK4HFJ5.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-9n5l3RYF.js
src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock-BkqUQ3IX.js
src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-CzYmr0Rg.js
src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-C72DA8Ot.js
src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-B57atF6V.js
src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-BwO8ctcl.js
src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-B5xQ7raL.js
src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-BSQ0Jp6s.js
src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-DkjMKncY.js
src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-DiDLbXDS.js
src/python_cad_tools/_viewer_static/assets/fogFragment-QU9YOYuH.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-CBvJqSQF.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting-EGwqbpHv.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-CG3O4l2t.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-CYV0OcvY.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-DU77eH5y.js
src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-s8IsAoDR.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-Bt1AWZNn.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-luoOzTyP.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-m9aQdgcg.js
src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-xDMDxXMl.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-C_-6JJr4.js
src/python_cad_tools/_viewer_static/assets/geometry.fragment-oisMFtj8.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-CBkXTBVF.js
src/python_cad_tools/_viewer_static/assets/geometry.vertex-DQDqvDk5.js
src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-QolNMgw6.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-DRwn6uC2.js
src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-BPPwu0E9.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-ODjisfEL.js
src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-DB7eIwXj.js
src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-B2jlXPLE.js
src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js
src/python_cad_tools/_viewer_static/assets/helperFunctions-B6Z1LJrO.js
src/python_cad_tools/_viewer_static/assets/iesTextureLoader-8wFKF-ak.js
src/python_cad_tools/_viewer_static/assets/index-BnAaL7KS.js
src/python_cad_tools/_viewer_static/assets/index-CnrKUEff.css
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-C0PAazdd.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DmepFK-C.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-CQTyg7d5.js
src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-C_mnrqaY.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DCLBcYIA.js
src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-DuoJgAZp.js
src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-CIypOERT.js
src/python_cad_tools/_viewer_static/assets/lightFragment-BinX63GB.js
src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-D8jcsZiW.js
src/python_cad_tools/_viewer_static/assets/logDepthVertex-CAoFmcco.js
src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-oF31v9Zp.js
src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js
src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-BXrkHWWW.js
src/python_cad_tools/_viewer_static/assets/oitFragment-2x3JPdq6.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-B5ZDpeFy.js
src/python_cad_tools/_viewer_static/assets/openpbr.fragment-CpT08ThE.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-BaGhkjmV.js
src/python_cad_tools/_viewer_static/assets/openpbr.vertex-DAeXubyL.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-BXY_lClt.js
src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-MpirTHMd.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-CHHhh58w.js
src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-DthxrR9-.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration--Zhq0q7d.js
src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-CXcZlREH.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-Bo_ikKLB.js
src/python_cad_tools/_viewer_static/assets/packingFunctions-u3uWRkpF.js
src/python_cad_tools/_viewer_static/assets/pass.fragment-slK02MnO.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-C13WHRV7.js
src/python_cad_tools/_viewer_static/assets/passCube.fragment-DnuA3v4l.js
src/python_cad_tools/_viewer_static/assets/pbr.fragment-8v2GDfO1.js
src/python_cad_tools/_viewer_static/assets/pbr.vertex-BuCPFkDX.js
src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-5nHUuKRr.js
src/python_cad_tools/_viewer_static/assets/pbrDebug-C8fLVEpD.js
src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-BM49sbQB.js
src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-B6n6Ic80.js
src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-C0d04FRz.js
src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-CL7R5LTR.js
src/python_cad_tools/_viewer_static/assets/postprocess.vertex-BhCyZbyQ.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-Cb5DsSFx.js
src/python_cad_tools/_viewer_static/assets/procedural.vertex-W-IcNTXE.js
src/python_cad_tools/_viewer_static/assets/reflectionFunction-DYrae64q.js
src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-CFpIpdxk.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-BIBfrJET.js
src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-yPbrkGKz.js
src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-D5YHSknt.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-GSzJSZKX.js
src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-NwUMt_sy.js
src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-Z9HWdnv1.js
src/python_cad_tools/_viewer_static/assets/vertexColorMixing-DkZl_JUT.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