.gitignore
LICENSE
README.md
package.json
pyproject.toml
release.config.cjs
setup.py
uv.lock
docs/Makefile
docs/conf.py
docs/index.rst
docs/make.bat
src/__init__.py
src/ducpy/__init__.py
src/ducpy/_version.py
src/ducpy/parse.py
src/ducpy/serialize.py
src/ducpy.egg-info/PKG-INFO
src/ducpy.egg-info/SOURCES.txt
src/ducpy.egg-info/dependency_links.txt
src/ducpy.egg-info/requires.txt
src/ducpy.egg-info/top_level.txt
src/ducpy/Duc/ANGULAR_UNITS_FORMAT.py
src/ducpy/Duc/AXIS.py
src/ducpy/Duc/AlternateUnits.py
src/ducpy/Duc/AngularUnitSystem.py
src/ducpy/Duc/BEZIER_MIRRORING.py
src/ducpy/Duc/BLENDING.py
src/ducpy/Duc/BLOCK_ATTACHMENT.py
src/ducpy/Duc/BOOLEAN_OPERATION.py
src/ducpy/Duc/BoundElement.py
src/ducpy/Duc/COLUMN_TYPE.py
src/ducpy/Duc/Checkpoint.py
src/ducpy/Duc/ColumnLayout.py
src/ducpy/Duc/CustomHatchPattern.py
src/ducpy/Duc/DATUM_BRACKET_STYLE.py
src/ducpy/Duc/DATUM_TARGET_TYPE.py
src/ducpy/Duc/DECIMAL_SEPARATOR.py
src/ducpy/Duc/DIMENSION_FIT_RULE.py
src/ducpy/Duc/DIMENSION_TEXT_PLACEMENT.py
src/ducpy/Duc/DIMENSION_TYPE.py
src/ducpy/Duc/DIMENSION_UNITS_FORMAT.py
src/ducpy/Duc/DatumReference.py
src/ducpy/Duc/Delta.py
src/ducpy/Duc/DictionaryEntry.py
src/ducpy/Duc/DimensionBaselineData.py
src/ducpy/Duc/DimensionBindings.py
src/ducpy/Duc/DimensionContinueData.py
src/ducpy/Duc/DimensionDefinitionPoints.py
src/ducpy/Duc/DimensionExtLineStyle.py
src/ducpy/Duc/DimensionFitStyle.py
src/ducpy/Duc/DimensionLineStyle.py
src/ducpy/Duc/DimensionSymbolStyle.py
src/ducpy/Duc/DimensionToleranceStyle.py
src/ducpy/Duc/DimensionValidationRules.py
src/ducpy/Duc/DucArrowElement.py
src/ducpy/Duc/DucBlock.py
src/ducpy/Duc/DucBlockAttributeDefinition.py
src/ducpy/Duc/DucBlockAttributeDefinitionEntry.py
src/ducpy/Duc/DucBlockDuplicationArray.py
src/ducpy/Duc/DucBlockInstanceElement.py
src/ducpy/Duc/DucCommonStyle.py
src/ducpy/Duc/DucDimensionElement.py
src/ducpy/Duc/DucDimensionStyle.py
src/ducpy/Duc/DucDocElement.py
src/ducpy/Duc/DucDocStyle.py
src/ducpy/Duc/DucEllipseElement.py
src/ducpy/Duc/DucEmbeddableElement.py
src/ducpy/Duc/DucExternalFileData.py
src/ducpy/Duc/DucExternalFileEntry.py
src/ducpy/Duc/DucFeatureControlFrameElement.py
src/ducpy/Duc/DucFeatureControlFrameStyle.py
src/ducpy/Duc/DucFrameElement.py
src/ducpy/Duc/DucFreeDrawElement.py
src/ducpy/Duc/DucFreeDrawEnds.py
src/ducpy/Duc/DucGlobalState.py
src/ducpy/Duc/DucGroup.py
src/ducpy/Duc/DucHatchStyle.py
src/ducpy/Duc/DucHead.py
src/ducpy/Duc/DucImageElement.py
src/ducpy/Duc/DucImageFilter.py
src/ducpy/Duc/DucLayer.py
src/ducpy/Duc/DucLayerOverrides.py
src/ducpy/Duc/DucLeaderElement.py
src/ducpy/Duc/DucLeaderStyle.py
src/ducpy/Duc/DucLine.py
src/ducpy/Duc/DucLineReference.py
src/ducpy/Duc/DucLinearElement.py
src/ducpy/Duc/DucLocalState.py
src/ducpy/Duc/DucMermaidElement.py
src/ducpy/Duc/DucParametricElement.py
src/ducpy/Duc/DucPath.py
src/ducpy/Duc/DucPdfElement.py
src/ducpy/Duc/DucPlotElement.py
src/ducpy/Duc/DucPlotStyle.py
src/ducpy/Duc/DucPoint.py
src/ducpy/Duc/DucPointBinding.py
src/ducpy/Duc/DucPolygonElement.py
src/ducpy/Duc/DucRectangleElement.py
src/ducpy/Duc/DucRegion.py
src/ducpy/Duc/DucStackLikeStyles.py
src/ducpy/Duc/DucTableAutoSize.py
src/ducpy/Duc/DucTableCell.py
src/ducpy/Duc/DucTableCellEntry.py
src/ducpy/Duc/DucTableCellSpan.py
src/ducpy/Duc/DucTableCellStyle.py
src/ducpy/Duc/DucTableColumn.py
src/ducpy/Duc/DucTableColumnEntry.py
src/ducpy/Duc/DucTableElement.py
src/ducpy/Duc/DucTableRow.py
src/ducpy/Duc/DucTableRowEntry.py
src/ducpy/Duc/DucTableStyle.py
src/ducpy/Duc/DucTextDynamicDictionarySource.py
src/ducpy/Duc/DucTextDynamicElementSource.py
src/ducpy/Duc/DucTextDynamicPart.py
src/ducpy/Duc/DucTextDynamicSource.py
src/ducpy/Duc/DucTextDynamicSourceData.py
src/ducpy/Duc/DucTextElement.py
src/ducpy/Duc/DucTextStyle.py
src/ducpy/Duc/DucUcs.py
src/ducpy/Duc/DucView.py
src/ducpy/Duc/DucViewportElement.py
src/ducpy/Duc/DucViewportStyle.py
src/ducpy/Duc/DucXRayElement.py
src/ducpy/Duc/DucXRayStyle.py
src/ducpy/Duc/DynamicSnapSettings.py
src/ducpy/Duc/ELEMENT_CONTENT_PREFERENCE.py
src/ducpy/Duc/Element.py
src/ducpy/Duc/ElementBackground.py
src/ducpy/Duc/ElementContentBase.py
src/ducpy/Duc/ElementStroke.py
src/ducpy/Duc/ElementWrapper.py
src/ducpy/Duc/ExportedDataState.py
src/ducpy/Duc/FCFBetweenModifier.py
src/ducpy/Duc/FCFDatumDefinition.py
src/ducpy/Duc/FCFDatumStyle.py
src/ducpy/Duc/FCFFrameModifiers.py
src/ducpy/Duc/FCFLayoutStyle.py
src/ducpy/Duc/FCFProjectedZoneModifier.py
src/ducpy/Duc/FCFSegmentRow.py
src/ducpy/Duc/FCFSymbolStyle.py
src/ducpy/Duc/FEATURE_MODIFIER.py
src/ducpy/Duc/FeatureControlFrameSegment.py
src/ducpy/Duc/GDT_SYMBOL.py
src/ducpy/Duc/GRID_DISPLAY_TYPE.py
src/ducpy/Duc/GRID_TYPE.py
src/ducpy/Duc/GeometricPoint.py
src/ducpy/Duc/GridSettings.py
src/ducpy/Duc/GridStyle.py
src/ducpy/Duc/HANDLE_TYPE.py
src/ducpy/Duc/HATCH_STYLE.py
src/ducpy/Duc/HatchPatternLine.py
src/ducpy/Duc/IMAGE_STATUS.py
src/ducpy/Duc/IdentifiedCommonStyle.py
src/ducpy/Duc/IdentifiedDimensionStyle.py
src/ducpy/Duc/IdentifiedDocStyle.py
src/ducpy/Duc/IdentifiedFCFStyle.py
src/ducpy/Duc/IdentifiedGridSettings.py
src/ducpy/Duc/IdentifiedHatchStyle.py
src/ducpy/Duc/IdentifiedLeaderStyle.py
src/ducpy/Duc/IdentifiedSnapSettings.py
src/ducpy/Duc/IdentifiedStackLikeStyle.py
src/ducpy/Duc/IdentifiedTableStyle.py
src/ducpy/Duc/IdentifiedTextStyle.py
src/ducpy/Duc/IdentifiedUcs.py
src/ducpy/Duc/IdentifiedView.py
src/ducpy/Duc/IdentifiedViewportStyle.py
src/ducpy/Duc/IdentifiedXRayStyle.py
src/ducpy/Duc/Identifier.py
src/ducpy/Duc/ImageCrop.py
src/ducpy/Duc/IsometricGridSettings.py
src/ducpy/Duc/JSONPatchOperation.py
src/ducpy/Duc/LEADER_CONTENT_TYPE.py
src/ducpy/Duc/LINE_HEAD.py
src/ducpy/Duc/LINE_SPACING_TYPE.py
src/ducpy/Duc/LayerSnapFilters.py
src/ducpy/Duc/LayerValidationRules.py
src/ducpy/Duc/LeaderBlockContent.py
src/ducpy/Duc/LeaderContent.py
src/ducpy/Duc/LeaderContentData.py
src/ducpy/Duc/LeaderTextBlockContent.py
src/ducpy/Duc/LineSpacing.py
src/ducpy/Duc/LinearUnitSystem.py
src/ducpy/Duc/MARK_ELLIPSE_CENTER.py
src/ducpy/Duc/MATERIAL_CONDITION.py
src/ducpy/Duc/Margins.py
src/ducpy/Duc/OBJECT_SNAP_MODE.py
src/ducpy/Duc/PARAMETRIC_SOURCE_TYPE.py
src/ducpy/Duc/PRUNING_LEVEL.py
src/ducpy/Duc/ParagraphFormatting.py
src/ducpy/Duc/ParametricSource.py
src/ducpy/Duc/PlotLayout.py
src/ducpy/Duc/PointBindingPoint.py
src/ducpy/Duc/PolarGridSettings.py
src/ducpy/Duc/PolarTrackingSettings.py
src/ducpy/Duc/PrimaryUnits.py
src/ducpy/Duc/SNAP_MARKER_SHAPE.py
src/ducpy/Duc/SNAP_MODE.py
src/ducpy/Duc/SNAP_OVERRIDE_BEHAVIOR.py
src/ducpy/Duc/STACKED_TEXT_ALIGN.py
src/ducpy/Duc/STROKE_CAP.py
src/ducpy/Duc/STROKE_JOIN.py
src/ducpy/Duc/STROKE_PLACEMENT.py
src/ducpy/Duc/STROKE_PREFERENCE.py
src/ducpy/Duc/STROKE_SIDE_PREFERENCE.py
src/ducpy/Duc/STROKE_WIDTH.py
src/ducpy/Duc/SnapMarkerSettings.py
src/ducpy/Duc/SnapMarkerStyle.py
src/ducpy/Duc/SnapMarkerStyleEntry.py
src/ducpy/Duc/SnapOverride.py
src/ducpy/Duc/SnapSettings.py
src/ducpy/Duc/StackFormat.py
src/ducpy/Duc/StackFormatProperties.py
src/ducpy/Duc/Standard.py
src/ducpy/Duc/StandardOverrides.py
src/ducpy/Duc/StandardStyles.py
src/ducpy/Duc/StandardUnits.py
src/ducpy/Duc/StandardValidation.py
src/ducpy/Duc/StandardViewSettings.py
src/ducpy/Duc/StringValueEntry.py
src/ducpy/Duc/StrokeSides.py
src/ducpy/Duc/StrokeStyle.py
src/ducpy/Duc/TABLE_CELL_ALIGNMENT.py
src/ducpy/Duc/TABLE_FLOW_DIRECTION.py
src/ducpy/Duc/TEXT_ALIGN.py
src/ducpy/Duc/TEXT_FIELD_SOURCE_PROPERTY.py
src/ducpy/Duc/TEXT_FIELD_SOURCE_TYPE.py
src/ducpy/Duc/TEXT_FLOW_DIRECTION.py
src/ducpy/Duc/TOLERANCE_DISPLAY.py
src/ducpy/Duc/TOLERANCE_TYPE.py
src/ducpy/Duc/TOLERANCE_ZONE_TYPE.py
src/ducpy/Duc/TextColumn.py
src/ducpy/Duc/TilingProperties.py
src/ducpy/Duc/ToleranceClause.py
src/ducpy/Duc/TrackingLineStyle.py
src/ducpy/Duc/UNIT_SYSTEM.py
src/ducpy/Duc/UnitPrecision.py
src/ducpy/Duc/VERTICAL_ALIGN.py
src/ducpy/Duc/VIEWPORT_SHADE_PLOT.py
src/ducpy/Duc/VersionBase.py
src/ducpy/Duc/VersionGraph.py
src/ducpy/Duc/VersionGraphMetadata.py
src/ducpy/Duc/YOUTUBE_STATES.py
src/ducpy/Duc/_DucElementBase.py
src/ducpy/Duc/_DucElementStylesBase.py
src/ducpy/Duc/_DucLinearElementBase.py
src/ducpy/Duc/_DucStackBase.py
src/ducpy/Duc/_DucStackElementBase.py
src/ducpy/Duc/_UnitSystemBase.py
src/ducpy/Duc/__init__.py
src/ducpy/builders/__init__.py
src/ducpy/builders/element_builders.py
src/ducpy/builders/mutate_builder.py
src/ducpy/builders/state_builders.py
src/ducpy/builders/style_builders.py
src/ducpy/classes/DataStateClass.py
src/ducpy/classes/ElementsClass.py
src/ducpy/classes/StandardsClass.py
src/ducpy/classes/__init__.py
src/ducpy/utils/__init__.py
src/ducpy/utils/constants.py
src/ducpy/utils/io.py
src/ducpy/utils/mutate_utils.py
src/ducpy/utils/rand_utils.py
src/examples/a_duc_creation_demo.py
src/examples/comprehensive_builders_demo.py
src/examples/element_creation_demo.py
src/examples/external_files_demo.py
src/examples/mutation_demo.py
src/examples/read_write_demo.py
src/examples/standard_creation_demo.py
src/examples/style_creation_demo.py
src/tests/.gitignore
src/tests/README.md
src/tests/__init__.py
src/tests/conftest.py
src/tests/pretty_print_duc.py
src/tests/assets/infinite-zoom-math.png
src/tests/assets/rect.png
src/tests/assets/test.jpg
src/tests/assets/test.pdf
src/tests/assets/test.step
src/tests/assets/thumbnail.png
src/tests/src/test_CSPMDS_blocks_and_instances.py
src/tests/src/test_CSPMDS_complex_tables.py
src/tests/src/test_CSPMDS_dimension_elements.py
src/tests/src/test_CSPMDS_grids_and_snapping.py
src/tests/src/test_CSPMDS_layers.py
src/tests/src/test_CSPMDS_local_and_global_states.py
src/tests/src/test_CSPMDS_regions.py
src/tests/src/test_CSPMDS_standards.py
src/tests/src/test_CSPMDS_text_and_doc_elements.py
src/tests/src/test_CSPMDS_tolerances.py
src/tests/src/test_CSPMDS_version_graph.py
src/tests/src/test_a_duc_with_everything.py
src/tests/src/test_add_100_rand_elements.py
src/tests/src/test_builder_comprehensive.py
src/tests/src/test_create_complex_line_paths.py
src/tests/src/test_create_duc_with_100_connected.py
src/tests/src/test_create_image_element_with_external_file.py
src/tests/src/test_create_varied_ellipses_and_polygons.py
src/tests/src/test_create_varied_freedraw_writing.py
src/tests/src/test_examples.py
src/tests/src/test_move_elements_rand.py
src/tests/src/test_mutate_elements.py
src/tests/src/test_serialize_two_rectangles.py
src/tests/src/test_stack_elements.py