python-cad-tools 0.1.25__tar.gz → 0.1.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/PKG-INFO +1 -1
  2. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/pdf.py +18 -5
  3. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/PKG-INFO +1 -1
  4. python_cad_tools-0.1.26/src/python_cad_tools.egg-info/scm_version.json +8 -0
  5. python_cad_tools-0.1.25/src/python_cad_tools.egg-info/scm_version.json +0 -8
  6. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.gitattributes +0 -0
  7. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.githooks/pre-push +0 -0
  8. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.github/workflows/ci.yml +0 -0
  9. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.github/workflows/downstream-compatibility.yml +0 -0
  10. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.github/workflows/release-candidate.yml +0 -0
  11. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.github/workflows/release.yml +0 -0
  12. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.gitignore +0 -0
  13. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.opencode/commands/autocommit.md +0 -0
  14. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.opencode/tools/specrepo-autocommit.js +0 -0
  15. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/.opencode/tools/specrepo-autocommit.py +0 -0
  16. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/AGENTS.md +0 -0
  17. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/CHANGELOG.md +0 -0
  18. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/CLAUDE.md +0 -0
  19. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/LICENSE +0 -0
  20. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/MANIFEST.in +0 -0
  21. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/README.md +0 -0
  22. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/build-semantics.md +0 -0
  23. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/drawing-extensions.md +0 -0
  24. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/manifests.md +0 -0
  25. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/neutral-model.md +0 -0
  26. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/project-configuration.md +0 -0
  27. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/public-api.md +0 -0
  28. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/spikes/curved-geometry-ifc-bounds.md +0 -0
  29. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/spikes/format-feasibility.md +0 -0
  30. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/toolchain.md +0 -0
  31. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/two-tier-contract.md +0 -0
  32. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/docs/viewer-delivery.md +0 -0
  33. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/pyproject.toml +0 -0
  34. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/setup.cfg +0 -0
  35. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/__init__.py +0 -0
  36. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/__main__.py +0 -0
  37. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_locking.py +0 -0
  38. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_project_loader.py +0 -0
  39. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_project_state.py +0 -0
  40. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_scaffold.py +0 -0
  41. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_transaction.py +0 -0
  42. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/app.webmanifest +0 -0
  43. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/asset-manifest.json +0 -0
  44. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/animationGroup-DHMjljmB.js +0 -0
  45. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/bakedVertexAnimation-MGFbbw7F.js +0 -0
  46. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/basisTextureLoader-BPZV974Q.js +0 -0
  47. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/brdfTextureTools-B1t2XUsh.js +0 -0
  48. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/bumpFragment-DCxLmG61.js +0 -0
  49. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/bumpVertex-0oYjoQMQ.js +0 -0
  50. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/bumpVertexDeclaration-BGUPjxym.js +0 -0
  51. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/clipPlaneFragment-DD2JPAF1.js +0 -0
  52. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/clipPlaneVertex-DN96wmQc.js +0 -0
  53. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/cubemapToSphericalPolynomial-CF0hkqTs.js +0 -0
  54. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/dds-B77UKtBn.js +0 -0
  55. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/dds.pure-B715oIs0.js +0 -0
  56. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/ddsTextureLoader-7G8Qcc0n.js +0 -0
  57. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/default.fragment-tZ0oStCg.js +0 -0
  58. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/default.vertex-C-PbmgtW.js +0 -0
  59. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/defaultUboDeclaration-DA6nmrud.js +0 -0
  60. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/envTextureLoader-lsNPYPhe.js +0 -0
  61. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/exrTextureLoader-SjwgJAc5.js +0 -0
  62. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphApplyForceBlock-DTjrMcjl.js +0 -0
  63. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphApplyImpulseBlock-DamPsUZI.js +0 -0
  64. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphArrayIndexBlock-rHV_9Jtd.js +0 -0
  65. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphBezierCurveEasingBlock-B1Mzuvj7.js +0 -0
  66. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphBinaryOperationBlock-BYSm-X9P.js +0 -0
  67. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphBranchBlock-DLLGKTbV.js +0 -0
  68. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphCachedOperationBlock-DyT2_YKh.js +0 -0
  69. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphCancelDelayBlock-CLlaui7O.js +0 -0
  70. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphCodeExecutionBlock-ezmwTbI5.js +0 -0
  71. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphConditionalDataBlock-BWCBa9B7.js +0 -0
  72. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphConsoleLogBlock-Tq8YSBFN.js +0 -0
  73. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphConstantBlock-B56RKoF4.js +0 -0
  74. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphContextBlock-CjuSDwmc.js +0 -0
  75. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphCounterBlock-Bmk4MxN7.js +0 -0
  76. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphDataSwitchBlock-Dvi9ZvsH.js +0 -0
  77. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphDebounceBlock-Bj7RTBgv.js +0 -0
  78. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphDebugBlock-CGd8wpR5.js +0 -0
  79. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphDoNBlock-BGZpjQAX.js +0 -0
  80. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphEasingBlock-BzLE44T-.js +0 -0
  81. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphFlipFlopBlock-D8_88xUA.js +0 -0
  82. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphForLoopBlock-CF8dXGIg.js +0 -0
  83. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphFunctionReferenceBlock-D_YGg8QR.js +0 -0
  84. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGLTFDataProvider-B8SiMj9v.js +0 -0
  85. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetAngularVelocityBlock-DzEtWSf5.js +0 -0
  86. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetAssetBlock-CIhvXJWA.js +0 -0
  87. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetLinearVelocityBlock-DqgIoJQv.js +0 -0
  88. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetPhysicsMassPropertiesBlock-CUHG6HMx.js +0 -0
  89. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetPropertyBlock-CoS75-c_.js +0 -0
  90. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetSoundVolumeBlock-1HiYij4X.js +0 -0
  91. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphGetVariableBlock-Bzpa8R9d.js +0 -0
  92. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphIndexOfBlock-ooox6LH_.js +0 -0
  93. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphInterpolationBlock-Df2jq977.js +0 -0
  94. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphIsKeyPressedBlock-B6KLFUdL.js +0 -0
  95. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphIsSoundPlayingBlock-CZe8gZ1b.js +0 -0
  96. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphJsonPointerParserBlock-gyM8wAf_.js +0 -0
  97. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphKeyDownEventBlock-CD-zMI2Y.js +0 -0
  98. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphKeyUpEventBlock-dmq771Ye.js +0 -0
  99. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphKeyboardEventBlock-DcU45hIv.js +0 -0
  100. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphMathBlocks-D3K59ZYx.js +0 -0
  101. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphMathCombineExtractBlocks-B84bxb6q.js +0 -0
  102. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphMatrixMathBlocks-DvWcRK48.js +0 -0
  103. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphMeshPickEventBlock-D1QtxJNf.js +0 -0
  104. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphMultiGateBlock-BCpUwYzV.js +0 -0
  105. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPauseAnimationBlock-DRNt_SDm.js +0 -0
  106. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPauseSoundBlock-Bg-E3ycn.js +0 -0
  107. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPhysicsCollisionEventBlock-DNyeMY32.js +0 -0
  108. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPlayAnimationBlock-nxquuNCT.js +0 -0
  109. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPlaySoundBlock-Buah9Tkc.js +0 -0
  110. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPointerDownEventBlock-B9bwUWa1.js +0 -0
  111. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPointerMoveEventBlock-BM0TL_xE.js +0 -0
  112. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOutEventBlock-CJgEh8yV.js +0 -0
  113. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPointerOverEventBlock-DTHG-KwO.js +0 -0
  114. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphPointerUpEventBlock-DMGZmwMB.js +0 -0
  115. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphReceiveCustomEventBlock-CSI8HkWd.js +0 -0
  116. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSceneReadyEventBlock-BE_6AF0x.js +0 -0
  117. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSceneTickEventBlock-zQ9Lr3Qw.js +0 -0
  118. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSendCustomEventBlock-rOgY8mka.js +0 -0
  119. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSequenceBlock-BY_DG0RM.js +0 -0
  120. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetAngularVelocityBlock-BWkX9sU3.js +0 -0
  121. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetDelayBlock-BiQhdbqp.js +0 -0
  122. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetLinearVelocityBlock-6Stexwnu.js +0 -0
  123. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetPhysicsMotionTypeBlock-BhbU9SXg.js +0 -0
  124. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetPropertyBlock-BVIo1W8-.js +0 -0
  125. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetSoundVolumeBlock-BmVOXY0c.js +0 -0
  126. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSetVariableBlock-BjKR1mgz.js +0 -0
  127. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSoundEndedEventBlock-Dw-5bxJv.js +0 -0
  128. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphStopAnimationBlock-DrLtPiEv.js +0 -0
  129. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphStopSoundBlock--MzW9jji.js +0 -0
  130. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphSwitchBlock-X2ZoX6tx.js +0 -0
  131. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphThrottleBlock-BZ2PAian.js +0 -0
  132. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphTransformCoordinatesSystemBlock-BEBk8xav.js +0 -0
  133. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphTypeToTypeBlocks-DPY_kyih.js +0 -0
  134. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphUnaryOperationBlock-D7h--Cdt.js +0 -0
  135. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphVectorMathBlocks-2EgD4-kQ.js +0 -0
  136. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphWaitAllBlock-CmOzDK5N.js +0 -0
  137. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/flowGraphWhileLoopBlock-CbejmuGP.js +0 -0
  138. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/fogFragment-BTBA7CTP.js +0 -0
  139. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/fxaa.fragment-C2eATj9H.js +0 -0
  140. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/fxaa.vertex-D0i6Mi6U.js +0 -0
  141. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-DSSuHojJ.js +0 -0
  142. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplatting-z1QQSYr0.js +0 -0
  143. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-BIkORghW.js +0 -0
  144. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.fragment-CPhYpx9O.js +0 -0
  145. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-Bb7V--au.js +0 -0
  146. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplatting.vertex-DlNYcW-d.js +0 -0
  147. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-3ZOEWhKY.js +0 -0
  148. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.fragment-C2JvL2AM.js +0 -0
  149. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-3lxrHk65.js +0 -0
  150. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/gaussianSplattingVoxel.vertex-CwZjSh-j.js +0 -0
  151. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/geometry.fragment-B7Bs1-FX.js +0 -0
  152. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/geometry.fragment-C9e-kv94.js +0 -0
  153. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/geometry.vertex-CxQUKoXe.js +0 -0
  154. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/geometry.vertex-DLLF9YL6.js +0 -0
  155. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/glowBlurPostProcess.fragment-DJ7GA0Ms.js +0 -0
  156. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.fragment-IiyeP0wJ.js +0 -0
  157. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/glowMapGeneration.vertex-D08z2Pqo.js +0 -0
  158. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/glowMapMerge.fragment-b_QAS0QR.js +0 -0
  159. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/glowMapMerge.vertex-CMSyDSpX.js +0 -0
  160. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/harmonicsFunctions-DT0Dhsff.js +0 -0
  161. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/hdrTextureLoader-BGQvgh0h.js +0 -0
  162. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/helperFunctions-Qma8-N-8.js +0 -0
  163. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/iesTextureLoader-VePZ3QkV.js +0 -0
  164. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/index-C7PQDOQI.css +0 -0
  165. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/index-Dl0bWA0T.js +0 -0
  166. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-ChxVYEAV.js +0 -0
  167. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/kernelBlur.fragment-DdUkyZYa.js +0 -0
  168. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-CfFBINQK.js +0 -0
  169. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/kernelBlur.vertex-CsUEAlHp.js +0 -0
  170. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-BfbSJvpD.js +0 -0
  171. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/kernelBlurVaryingDeclaration-YWfJbImG.js +0 -0
  172. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/ktxTextureLoader-DyPXrWbN.js +0 -0
  173. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/lightFragment-D1PDwXO3.js +0 -0
  174. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/logDepthDeclaration-DzsADhSm.js +0 -0
  175. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/logDepthVertex-CVDFVyev.js +0 -0
  176. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/mainUVVaryingDeclaration-DapA_gli.js +0 -0
  177. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/mesh.vertexData.functions-ayNlGC5K.js +0 -0
  178. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/meshUboDeclaration-ZqbKD_Z-.js +0 -0
  179. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/oitFragment-C5HMolir.js +0 -0
  180. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-CIMBKpMg.js +0 -0
  181. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbr.fragment-SdCxmuNh.js +0 -0
  182. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-CsVq8zRS.js +0 -0
  183. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbr.vertex-D6KDFxU7.js +0 -0
  184. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbrMaterial.pure-crOU97Ej.js +0 -0
  185. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbrMaterialLoadingAdapter-BU5tmfb_.js +0 -0
  186. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-CSoLogLq.js +0 -0
  187. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbrTransmissionLayerData-Zc5U1uW1.js +0 -0
  188. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-BHnTD3Hj.js +0 -0
  189. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/openpbrUboDeclaration-qTe8FOQM.js +0 -0
  190. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/packingFunctions-BTo087et.js +0 -0
  191. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/packingFunctions-DkOVZ6dP.js +0 -0
  192. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pass.fragment-Fvo7rkse.js +0 -0
  193. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/passCube.fragment-Bpo9R9Mm.js +0 -0
  194. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/passCube.fragment-Dx2u9rd3.js +0 -0
  195. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbr.fragment-CsJ83gJP.js +0 -0
  196. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbr.vertex-Bjk8gi5S.js +0 -0
  197. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbrBRDFFunctions-BIkS5CLc.js +0 -0
  198. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbrDebug-DXECYWn5.js +0 -0
  199. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbrIBLFunctions-D3D1vikc.js +0 -0
  200. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbrMaterial.pure-D27tv6kx.js +0 -0
  201. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbrMaterialLoadingAdapter-B2QPSPXm.js +0 -0
  202. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/pbrUboDeclaration-CRUyhK8m.js +0 -0
  203. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/postprocess.vertex-BVUTk21B.js +0 -0
  204. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/procedural.vertex-D4hY2WEA.js +0 -0
  205. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/procedural.vertex-WHGaOSkN.js +0 -0
  206. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/reflectionFunction-Qpn0UPP2.js +0 -0
  207. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/rgbdDecode.fragment-CUYoCQBj.js +0 -0
  208. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-Cg9wCk1i.js +0 -0
  209. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/rgbdEncode.fragment-NifDqc2S.js +0 -0
  210. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/sceneUboDeclaration-D3Naneg4.js +0 -0
  211. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-BUFM97It.js +0 -0
  212. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/textureProcessor.fragment-BbKV5o42.js +0 -0
  213. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/tgaTextureLoader-C_Gwe725.js +0 -0
  214. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/assets/vertexColorMixing-DXtapHBI.js +0 -0
  215. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/favicon.svg +0 -0
  216. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/index.html +0 -0
  217. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/_viewer_static/sw.js +0 -0
  218. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/artifacts.py +0 -0
  219. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/build-info.json +0 -0
  220. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/build.py +0 -0
  221. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/cli.py +0 -0
  222. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/context.py +0 -0
  223. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/determinism.py +0 -0
  224. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/drawings/__init__.py +0 -0
  225. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/drawings/_catalog.py +0 -0
  226. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/drawings/_validation.py +0 -0
  227. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/elements.py +0 -0
  228. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exceptions.py +0 -0
  229. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/__init__.py +0 -0
  230. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/base.py +0 -0
  231. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/custom_view.py +0 -0
  232. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/__init__.py +0 -0
  233. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/annotations.py +0 -0
  234. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/dxf.py +0 -0
  235. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/model.py +0 -0
  236. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/primitives.py +0 -0
  237. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/projection.py +0 -0
  238. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/drawings/svg.py +0 -0
  239. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/glb.py +0 -0
  240. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/ifc.py +0 -0
  241. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/quantities.py +0 -0
  242. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/renders.py +0 -0
  243. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/exporters/step.py +0 -0
  244. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/geometry.py +0 -0
  245. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/manifests.py +0 -0
  246. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/project_config.py +0 -0
  247. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/py.typed +0 -0
  248. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/recipes.py +0 -0
  249. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/runtime_sync.py +0 -0
  250. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/build-manifest-1.json +0 -0
  251. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/design-manifest-1.json +0 -0
  252. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/download-manifest-2.json +0 -0
  253. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/drawing-annotations-1.json +0 -0
  254. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/glb-manifest-1.json +0 -0
  255. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/ifc-validation-1.json +0 -0
  256. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/quantities-1.json +0 -0
  257. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/run-metadata-1.json +0 -0
  258. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/site-metadata-1.json +0 -0
  259. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/schemas/step-validation-1.json +0 -0
  260. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/site.py +0 -0
  261. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/.gitignore +0 -0
  262. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/README.md +0 -0
  263. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/config.py +0 -0
  264. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/drawing_annotations.py +0 -0
  265. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/generated/.gitkeep +0 -0
  266. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/model.py +0 -0
  267. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/templates/project/pyproject.toml +0 -0
  268. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/units.py +0 -0
  269. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools/validation.py +0 -0
  270. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/SOURCES.txt +0 -0
  271. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/dependency_links.txt +0 -0
  272. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/entry_points.txt +0 -0
  273. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/requires.txt +0 -0
  274. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/scm_file_list.json +0 -0
  275. {python_cad_tools-0.1.25 → python_cad_tools-0.1.26}/src/python_cad_tools.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-cad-tools
3
- Version: 0.1.25
3
+ Version: 0.1.26
4
4
  Summary: Typed, headless Python tooling for CAD/BIM models and artifacts
5
5
  Author: Brandon Benge
6
6
  License: AGPL-3.0-only
@@ -9,6 +9,14 @@ from reportlab.pdfgen.canvas import Canvas
9
9
 
10
10
  from .primitives import DrawingScene
11
11
 
12
+ #: (stroke RGB, width in points, dash pattern or None) for each line layer.
13
+ _LINE_STYLES: dict[str, tuple[tuple[float, float, float], float, tuple[float, ...] | None]] = {
14
+ "VISIBLE": ((0.05, 0.05, 0.05), 1.0, None),
15
+ "HIDDEN": ((0.45, 0.45, 0.45), 0.6, (4, 2)),
16
+ "REFERENCE": ((0.3, 0.3, 0.6), 0.5, (8, 2, 2, 2)),
17
+ "ANNOTATION_SECTION": ((0.05, 0.05, 0.05), 1.4, None),
18
+ }
19
+
12
20
 
13
21
  def write_pdf(scenes: list[DrawingScene], path: Path) -> Path:
14
22
  path.parent.mkdir(parents=True, exist_ok=True)
@@ -47,13 +55,18 @@ def _draw_scene(canvas: Canvas, scene: DrawingScene, page_size: tuple[float, flo
47
55
  if polyline.closed:
48
56
  path.close()
49
57
  canvas.drawPath(path)
50
- canvas.saveState()
51
- canvas.setStrokeColorRGB(0.1, 0.35, 0.55)
52
- canvas.setDash(7, 3)
53
- canvas.setLineWidth(0.8)
58
+ # Lines follow drawing convention by layer, as the DXF layers do: visible
59
+ # edges and section cuts are solid; only hidden edges are dashed and
60
+ # reference lines dash-dotted.
54
61
  for line in scene.lines:
62
+ canvas.saveState()
63
+ style = _LINE_STYLES.get(line.layer, _LINE_STYLES["VISIBLE"])
64
+ canvas.setStrokeColorRGB(*style[0])
65
+ canvas.setLineWidth(style[1])
66
+ if style[2]:
67
+ canvas.setDash(list(style[2]))
55
68
  canvas.line(*point(line.start), *point(line.end))
56
- canvas.restoreState()
69
+ canvas.restoreState()
57
70
  canvas.saveState()
58
71
  canvas.setStrokeColorRGB(0.25, 0.25, 0.25)
59
72
  canvas.setFillColorRGB(0.15, 0.15, 0.15)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-cad-tools
3
- Version: 0.1.25
3
+ Version: 0.1.26
4
4
  Summary: Typed, headless Python tooling for CAD/BIM models and artifacts
5
5
  Author: Brandon Benge
6
6
  License: AGPL-3.0-only
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.1.26",
3
+ "distance": 0,
4
+ "node": "gd2ed2a8fbcd2da49dcd50a55e637e654eefaf2a2",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-11-04"
8
+ }
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "0.1.25",
3
- "distance": 0,
4
- "node": "gd8126e9d6e8ee5526c55928cebcf1372bdb8c084",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-11-03"
8
- }