kittycad.models.web_socket_request.OptionModelingCmdReq
- class kittycad.models.web_socket_request.OptionModelingCmdReq(**data)[source][source]
Bases:
BaseModel
The modeling command request.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.- __init__(**data)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.
Methods
__init__
(**data)Create a new model by parsing and validating input data from keyword arguments.
construct
([_fields_set])copy
(*[, include, exclude, update, deep])Returns a copy of the model.
dict
(*[, include, exclude, by_alias, ...])from_orm
(obj)json
(*[, include, exclude, by_alias, ...])model_construct
([_fields_set])Creates a new instance of the
Model
class with validated data.model_copy
(*[, update, deep])Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#model_copy
model_dump
(*[, mode, include, exclude, ...])Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#modelmodel_dump
model_dump_json
(*[, indent, include, ...])Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#modelmodel_dump_json
model_json_schema
([by_alias, ref_template, ...])Generates a JSON schema for a model class.
model_parametrized_name
(params)Compute the class name for parametrizations of generic classes.
model_post_init
(_BaseModel__context)Override this method to perform additional initialization after
__init__
andmodel_construct
.model_rebuild
(*[, force, raise_errors, ...])Try to rebuild the pydantic-core schema for the model.
model_validate
(obj, *[, strict, ...])Validate a pydantic model instance.
model_validate_json
(json_data, *[, strict, ...])Usage docs: https://docs.pydantic.dev/2.10/concepts/json/#json-parsing
model_validate_strings
(obj, *[, strict, context])Validate the given object with string data against the Pydantic model.
parse_file
(path, *[, content_type, ...])parse_obj
(obj)parse_raw
(b, *[, content_type, encoding, ...])schema
([by_alias, ref_template])schema_json
(*[, by_alias, ref_template])update_forward_refs
(**localns)validate
(value)Attributes
Configuration for the model, should be a dictionary conforming to [
ConfigDict
][pydantic.config.ConfigDict].Get extra fields set during validation.
Returns the set of fields that have been explicitly set on this model instance.
- __annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[Dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_computed_fields__': 'ClassVar[Dict[str, ComputedFieldInfo]]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields__': 'ClassVar[Dict[str, FieldInfo]]', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[Dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'cmd': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'cmd_id': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'type': typing.Literal['modeling_cmd_req']}[source]
- classmethod __class_getitem__(typevar_values)[source]
- Return type:
type
[BaseModel
] |PydanticRecursiveRef
- __class_vars__: ClassVar[set[str]] = {}[source]
The names of the class variables defined on the model.
- classmethod __get_pydantic_core_schema__(source, handler, /)[source]
Hook into generating the model’s CoreSchema.
- Parameters:
source (
type
[BaseModel
]) – The class we are generating a schema for. This will generally be the same as thecls
argument if this is a classmethod.handler (
GetCoreSchemaHandler
) – A callable that calls into Pydantic’s internal CoreSchema generation logic.
- Return type:
Union
[InvalidSchema
,AnySchema
,NoneSchema
,BoolSchema
,IntSchema
,FloatSchema
,DecimalSchema
,StringSchema
,BytesSchema
,DateSchema
,TimeSchema
,DatetimeSchema
,TimedeltaSchema
,LiteralSchema
,EnumSchema
,IsInstanceSchema
,IsSubclassSchema
,CallableSchema
,ListSchema
,TupleSchema
,SetSchema
,FrozenSetSchema
,GeneratorSchema
,DictSchema
,AfterValidatorFunctionSchema
,BeforeValidatorFunctionSchema
,WrapValidatorFunctionSchema
,PlainValidatorFunctionSchema
,WithDefaultSchema
,NullableSchema
,UnionSchema
,TaggedUnionSchema
,ChainSchema
,LaxOrStrictSchema
,JsonOrPythonSchema
,TypedDictSchema
,ModelFieldsSchema
,ModelSchema
,DataclassArgsSchema
,DataclassSchema
,ArgumentsSchema
,CallSchema
,CustomErrorSchema
,JsonSchema
,UrlSchema
,MultiHostUrlSchema
,DefinitionsSchema
,DefinitionReferenceSchema
,UuidSchema
,ComplexSchema
]- Returns:
A
pydantic-core
CoreSchema
.
- classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]
Hook into generating the model’s JSON schema.
- Parameters:
core_schema (
Union
[InvalidSchema
,AnySchema
,NoneSchema
,BoolSchema
,IntSchema
,FloatSchema
,DecimalSchema
,StringSchema
,BytesSchema
,DateSchema
,TimeSchema
,DatetimeSchema
,TimedeltaSchema
,LiteralSchema
,EnumSchema
,IsInstanceSchema
,IsSubclassSchema
,CallableSchema
,ListSchema
,TupleSchema
,SetSchema
,FrozenSetSchema
,GeneratorSchema
,DictSchema
,AfterValidatorFunctionSchema
,BeforeValidatorFunctionSchema
,WrapValidatorFunctionSchema
,PlainValidatorFunctionSchema
,WithDefaultSchema
,NullableSchema
,UnionSchema
,TaggedUnionSchema
,ChainSchema
,LaxOrStrictSchema
,JsonOrPythonSchema
,TypedDictSchema
,ModelFieldsSchema
,ModelSchema
,DataclassArgsSchema
,DataclassSchema
,ArgumentsSchema
,CallSchema
,CustomErrorSchema
,JsonSchema
,UrlSchema
,MultiHostUrlSchema
,DefinitionsSchema
,DefinitionReferenceSchema
,UuidSchema
,ComplexSchema
]) – Apydantic-core
CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}
), or just call the handler with the original schema.handler (
GetJsonSchemaHandler
) – Call into Pydantic’s internal JSON schema generation. This will raise apydantic.errors.PydanticInvalidForJsonSchema
if JSON schema generation fails. Since this gets called byBaseModel.model_json_schema
you can override theschema_generator
argument to that function to change JSON schema generation globally for a type.
- Return type:
- Returns:
A JSON schema, as a Python object.
- __init__(**data)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.
- __pretty__(fmt, **kwargs)[source]
Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.
- __private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}[source]
Metadata about the private attributes of the model.
- __pydantic_complete__: ClassVar[bool] = True[source]
Whether model building is completed, or if there are still undefined fields.
- __pydantic_computed_fields__: ClassVar[Dict[str, ComputedFieldInfo]] = {}[source]
A dictionary of computed field names and their corresponding [
ComputedFieldInfo
][pydantic.fields.ComputedFieldInfo] objects.
- __pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94394486511008', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.angle.Angle'>, 'config': {'title': 'Angle'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.angle.Angle'>>]}, 'ref': 'kittycad.models.angle.Angle:94394486484000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_angle.UnitAngle:94394486483008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'value': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Angle', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'UnitAngle'>, 'members': [UnitAngle.DEGREES, UnitAngle.RADIANS], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_angle.UnitAngle:94394486483008', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94394496976608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'CameraDragInteractionType'>, 'members': [CameraDragInteractionType.PAN, CameraDragInteractionType.ROTATE, CameraDragInteractionType.ROTATETRACKBALL, CameraDragInteractionType.ZOOM], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94394493292368', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, 'config': {'title': 'AxisDirectionPair'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>>]}, 'ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94394490155728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.axis.Axis:94394492050896', 'type': 'definition-ref'}, 'type': 'model-field'}, 'direction': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.direction.Direction:94394491047568', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AxisDirectionPair', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'Axis'>, 'members': [Axis.Y, Axis.Z], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.axis.Axis:94394492050896', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'Direction'>, 'members': [Direction.POSITIVE, Direction.NEGATIVE], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.direction.Direction:94394491047568', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.system.System'>, 'config': {'title': 'System'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.system.System'>>]}, 'ref': 'kittycad.models.system.System:94394487138928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'forward': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94394490155728', 'type': 'definition-ref'}, 'type': 'model-field'}, 'up': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:94394490155728', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'System', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'UnitLength'>, 'members': [UnitLength.CM, UnitLength.FT, UnitLength.IN, UnitLength.M, UnitLength.MM, UnitLength.YD], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.selection.OptionDefaultScene'>, 'config': {'title': 'OptionDefaultScene'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.OptionDefaultScene'>>]}, 'ref': 'kittycad.models.selection.OptionDefaultScene:94394491981664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'default_scene', 'schema': {'expected': ['default_scene'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultScene', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.OptionSceneByIndex'>, 'config': {'title': 'OptionSceneByIndex'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.OptionSceneByIndex'>>]}, 'ref': 'kittycad.models.selection.OptionSceneByIndex:94394488743200', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'scene_by_index', 'schema': {'expected': ['scene_by_index'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSceneByIndex', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.OptionSceneByName'>, 'config': {'title': 'OptionSceneByName'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.OptionSceneByName'>>]}, 'ref': 'kittycad.models.selection.OptionSceneByName:94394492015424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'scene_by_name', 'schema': {'expected': ['scene_by_name'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSceneByName', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.OptionMeshByIndex'>, 'config': {'title': 'OptionMeshByIndex'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.OptionMeshByIndex'>>]}, 'ref': 'kittycad.models.selection.OptionMeshByIndex:94394492030736', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'mesh_by_index', 'schema': {'expected': ['mesh_by_index'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionMeshByIndex', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.OptionMeshByName'>, 'config': {'title': 'OptionMeshByName'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.OptionMeshByName'>>]}, 'ref': 'kittycad.models.selection.OptionMeshByName:94394488735664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'mesh_by_name', 'schema': {'expected': ['mesh_by_name'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionMeshByName', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770019383632]", 'root_model': True, 'schema': {'choices': {'default_scene': {'schema_ref': 'kittycad.models.selection.OptionDefaultScene:94394491981664', 'type': 'definition-ref'}, 'mesh_by_index': {'schema_ref': 'kittycad.models.selection.OptionMeshByIndex:94394492030736', 'type': 'definition-ref'}, 'mesh_by_name': {'schema_ref': 'kittycad.models.selection.OptionMeshByName:94394488735664', 'type': 'definition-ref'}, 'scene_by_index': {'schema_ref': 'kittycad.models.selection.OptionSceneByIndex:94394488743200', 'type': 'definition-ref'}, 'scene_by_name': {'schema_ref': 'kittycad.models.selection.OptionSceneByName:94394492015424', 'type': 'definition-ref'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, {'cls': <enum 'FbxStorage'>, 'members': [FbxStorage.ASCII, FbxStorage.BINARY], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.fbx_storage.FbxStorage:94394492031728', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.output_format3d.OptionFbx'>, 'config': {'title': 'OptionFbx'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format3d.OptionFbx'>>]}, 'ref': 'kittycad.models.output_format3d.OptionFbx:94394491139488', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'storage': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.fbx_storage.FbxStorage:94394492031728', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'fbx', 'schema': {'expected': ['fbx'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionFbx', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'GltfPresentation'>, 'members': [GltfPresentation.COMPACT, GltfPresentation.PRETTY], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.gltf_presentation.GltfPresentation:94394492029072', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'GltfStorage'>, 'members': [GltfStorage.BINARY, GltfStorage.STANDARD, GltfStorage.EMBEDDED], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.gltf_storage.GltfStorage:94394488754416', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.output_format3d.OptionGltf'>, 'config': {'title': 'OptionGltf'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format3d.OptionGltf'>>]}, 'ref': 'kittycad.models.output_format3d.OptionGltf:94394491140480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'presentation': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.gltf_presentation.GltfPresentation:94394492029072', 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.gltf_storage.GltfStorage:94394488754416', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'gltf', 'schema': {'expected': ['gltf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionGltf', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.output_format3d.OptionObj'>, 'config': {'title': 'OptionObj'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format3d.OptionObj'>>]}, 'ref': 'kittycad.models.output_format3d.OptionObj:94394492001104', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'obj', 'schema': {'expected': ['obj'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionObj', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'PlyStorage'>, 'members': [PlyStorage.ASCII, PlyStorage.BINARY_LITTLE_ENDIAN, PlyStorage.BINARY_BIG_ENDIAN], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.ply_storage.PlyStorage:94394491982656', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.output_format3d.OptionPly'>, 'config': {'title': 'OptionPly'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format3d.OptionPly'>>]}, 'ref': 'kittycad.models.output_format3d.OptionPly:94394490131888', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770019383632]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.ply_storage.PlyStorage:94394491982656', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'ply', 'schema': {'expected': ['ply'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionPly', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.output_format3d.OptionStep'>, 'config': {'title': 'OptionStep'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format3d.OptionStep'>>]}, 'ref': 'kittycad.models.output_format3d.OptionStep:94394491244480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'step', 'schema': {'expected': ['step'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionStep', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'StlStorage'>, 'members': [StlStorage.ASCII, StlStorage.BINARY], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.stl_storage.StlStorage:94394491134080', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.output_format3d.OptionStl'>, 'config': {'title': 'OptionStl'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format3d.OptionStl'>>]}, 'ref': 'kittycad.models.output_format3d.OptionStl:94394491265920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770019383632]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.stl_storage.StlStorage:94394491134080', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'stl', 'schema': {'expected': ['stl'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionStl', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770019314128]", 'root_model': True, 'schema': {'choices': {'fbx': {'schema_ref': 'kittycad.models.output_format3d.OptionFbx:94394491139488', 'type': 'definition-ref'}, 'gltf': {'schema_ref': 'kittycad.models.output_format3d.OptionGltf:94394491140480', 'type': 'definition-ref'}, 'obj': {'schema_ref': 'kittycad.models.output_format3d.OptionObj:94394492001104', 'type': 'definition-ref'}, 'ply': {'schema_ref': 'kittycad.models.output_format3d.OptionPly:94394490131888', 'type': 'definition-ref'}, 'step': {'schema_ref': 'kittycad.models.output_format3d.OptionStep:94394491244480', 'type': 'definition-ref'}, 'stl': {'schema_ref': 'kittycad.models.output_format3d.OptionStl:94394491265920', 'type': 'definition-ref'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, {'cls': <class 'kittycad.models.transform.Transform'>, 'config': {'title': 'Transform'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.transform.Transform'>>]}, 'ref': 'kittycad.models.transform.Transform:94394496861472', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'replicate': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'rotation': {'metadata': {}, 'schema': {'default': {'angle': {'unit': 'degrees', 'value': 0.0}, 'axis': {'x': 0.0, 'y': 0.0, 'z': 1.0}, 'origin': {'type': 'local'}}, 'schema': {'schema_ref': 'kittycad.models.rotation.Rotation:94394496888336', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'scale': {'metadata': {}, 'schema': {'default': {'x': 1.0, 'y': 1.0, 'z': 1.0}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'translate': {'metadata': {}, 'schema': {'default': {'x': 0.0, 'y': 0.0, 'z': 0.0}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Transform', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.origin_type.OptionLocal'>, 'config': {'title': 'OptionLocal'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.origin_type.OptionLocal'>>]}, 'ref': 'kittycad.models.origin_type.OptionLocal:94394496848000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'local', 'schema': {'expected': ['local'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionLocal', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.origin_type.OptionGlobal'>, 'config': {'title': 'OptionGlobal'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.origin_type.OptionGlobal'>>]}, 'ref': 'kittycad.models.origin_type.OptionGlobal:94394496859088', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'global', 'schema': {'expected': ['global'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionGlobal', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.origin_type.OptionCustom'>, 'config': {'title': 'OptionCustom'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.origin_type.OptionCustom'>>]}, 'ref': 'kittycad.models.origin_type.OptionCustom:94394496860080', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'origin': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'custom', 'schema': {'expected': ['custom'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionCustom', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770014904272]", 'root_model': True, 'schema': {'choices': {'custom': {'schema_ref': 'kittycad.models.origin_type.OptionCustom:94394496860080', 'type': 'definition-ref'}, 'global': {'schema_ref': 'kittycad.models.origin_type.OptionGlobal:94394496859088', 'type': 'definition-ref'}, 'local': {'schema_ref': 'kittycad.models.origin_type.OptionLocal:94394496848000', 'type': 'definition-ref'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, {'cls': <class 'kittycad.models.rotation.Rotation'>, 'config': {'title': 'Rotation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.rotation.Rotation'>>]}, 'ref': 'kittycad.models.rotation.Rotation:94394496888336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'origin': {'metadata': {}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770014904272]", 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'Rotation', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'SceneSelectionType'>, 'members': [SceneSelectionType.REPLACE, SceneSelectionType.ADD, SceneSelectionType.REMOVE], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_selection_type.SceneSelectionType:94394496850656', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'AnnotationLineEnd'>, 'members': [AnnotationLineEnd.NONE, AnnotationLineEnd.ARROW], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94394486482016', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:94394486494784', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Color', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>, 'config': {'title': 'AnnotationLineEndOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>>]}, 'ref': 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions:94394489672544', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94394486482016', 'type': 'definition-ref'}, 'type': 'model-field'}, 'start': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:94394486482016', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AnnotationLineEndOptions', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'AnnotationTextAlignmentX'>, 'members': [AnnotationTextAlignmentX.LEFT, AnnotationTextAlignmentX.CENTER, AnnotationTextAlignmentX.RIGHT], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_x.AnnotationTextAlignmentX:94394489664272', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'AnnotationTextAlignmentY'>, 'members': [AnnotationTextAlignmentY.BOTTOM, AnnotationTextAlignmentY.CENTER, AnnotationTextAlignmentY.TOP], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_y.AnnotationTextAlignmentY:94394486497360', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, 'config': {'title': 'AnnotationTextOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>>]}, 'ref': 'kittycad.models.annotation_text_options.AnnotationTextOptions:94394489667904', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'point_size': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'text': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'x': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.annotation_text_alignment_x.AnnotationTextAlignmentX:94394489664272', 'type': 'definition-ref'}, 'type': 'model-field'}, 'y': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.annotation_text_alignment_y.AnnotationTextAlignmentY:94394486497360', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'AnnotationTextOptions', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.annotation_options.AnnotationOptions'>, 'config': {'title': 'AnnotationOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_options.AnnotationOptions'>>]}, 'ref': 'kittycad.models.annotation_options.AnnotationOptions:94394486495776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.color.Color:94394486494784', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_ends': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions:94394489672544', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_width': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'position': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'text': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.annotation_text_options.AnnotationTextOptions:94394489667904', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'AnnotationOptions', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'UnitDensity'>, 'members': [UnitDensity.LB_FT3, UnitDensity.KG_M3], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_density.UnitDensity:94394491864672', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'UnitMass'>, 'members': [UnitMass.G, UnitMass.KG, UnitMass.LB], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_mass.UnitMass:94394491882240', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'CameraMovement'>, 'members': [CameraMovement.VANTAGE, CameraMovement.NONE], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.camera_movement.CameraMovement:94394493354496', 'sub_type': 'str', 'type': 'enum'}], 'schema': {'cls': <class 'kittycad.models.web_socket_request.OptionModelingCmdReq'>, 'config': {'title': 'OptionModelingCmdReq'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.web_socket_request.OptionModelingCmdReq'>>]}, 'ref': 'kittycad.models.web_socket_request.OptionModelingCmdReq:94394509753968', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cmd': {'metadata': {}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770012486352]", 'root_model': True, 'schema': {'choices': {'add_hole_from_offset': {'cls': <class 'kittycad.models.modeling_cmd.OptionAddHoleFromOffset'>, 'config': {'title': 'OptionAddHoleFromOffset'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionAddHoleFromOffset'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionAddHoleFromOffset:94394498996688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'offset': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'add_hole_from_offset', 'schema': {'expected': ['add_hole_from_offset'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionAddHoleFromOffset', 'type': 'model-fields'}, 'type': 'model'}, 'camera_drag_end': {'cls': <class 'kittycad.models.modeling_cmd.OptionCameraDragEnd'>, 'config': {'title': 'OptionCameraDragEnd'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCameraDragEnd'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCameraDragEnd:94394497056688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94394493292368', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'camera_drag_end', 'schema': {'expected': ['camera_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionCameraDragEnd', 'type': 'model-fields'}, 'type': 'model'}, 'camera_drag_move': {'cls': <class 'kittycad.models.modeling_cmd.OptionCameraDragMove'>, 'config': {'title': 'OptionCameraDragMove'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCameraDragMove'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCameraDragMove:94394497038688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94394493292368', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'camera_drag_move', 'schema': {'expected': ['camera_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionCameraDragMove', 'type': 'model-fields'}, 'type': 'model'}, 'camera_drag_start': {'cls': <class 'kittycad.models.modeling_cmd.OptionCameraDragStart'>, 'config': {'title': 'OptionCameraDragStart'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCameraDragStart'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCameraDragStart:94394496637856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:94394493292368', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'camera_drag_start', 'schema': {'expected': ['camera_drag_start'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionCameraDragStart', 'type': 'model-fields'}, 'type': 'model'}, 'center_of_mass': {'cls': <class 'kittycad.models.modeling_cmd.OptionCenterOfMass'>, 'config': {'title': 'OptionCenterOfMass'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCenterOfMass'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCenterOfMass:94394498746208', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'center_of_mass', 'schema': {'expected': ['center_of_mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionCenterOfMass', 'type': 'model-fields'}, 'type': 'model'}, 'close_path': {'cls': <class 'kittycad.models.modeling_cmd.OptionClosePath'>, 'config': {'title': 'OptionClosePath'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionClosePath'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionClosePath:94394496629632', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'close_path', 'schema': {'expected': ['close_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionClosePath', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_control_points': {'cls': <class 'kittycad.models.modeling_cmd.OptionCurveGetControlPoints'>, 'config': {'title': 'OptionCurveGetControlPoints'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCurveGetControlPoints'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCurveGetControlPoints:94394493502080', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'curve_get_control_points', 'schema': {'expected': ['curve_get_control_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionCurveGetControlPoints', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_end_points': {'cls': <class 'kittycad.models.modeling_cmd.OptionCurveGetEndPoints'>, 'config': {'title': 'OptionCurveGetEndPoints'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCurveGetEndPoints'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCurveGetEndPoints:94394498588656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'curve_get_end_points', 'schema': {'expected': ['curve_get_end_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionCurveGetEndPoints', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_type': {'cls': <class 'kittycad.models.modeling_cmd.OptionCurveGetType'>, 'config': {'title': 'OptionCurveGetType'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCurveGetType'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCurveGetType:94394498396000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'curve_get_type', 'schema': {'expected': ['curve_get_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionCurveGetType', 'type': 'model-fields'}, 'type': 'model'}, 'curve_set_constraint': {'cls': <class 'kittycad.models.modeling_cmd.OptionCurveSetConstraint'>, 'config': {'title': 'OptionCurveSetConstraint'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionCurveSetConstraint'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionCurveSetConstraint:94394498301392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'constraint_bound': {'metadata': {}, 'schema': {'cls': <enum 'PathComponentConstraintBound'>, 'members': [PathComponentConstraintBound.UNCONSTRAINED, PathComponentConstraintBound.PARTIALLY_CONSTRAINED, PathComponentConstraintBound.FULLY_CONSTRAINED], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_component_constraint_bound.PathComponentConstraintBound:94394496374736', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'constraint_type': {'metadata': {}, 'schema': {'cls': <enum 'PathComponentConstraintType'>, 'members': [PathComponentConstraintType.UNCONSTRAINED, PathComponentConstraintType.VERTICAL, PathComponentConstraintType.HORIZONTAL, PathComponentConstraintType.EQUAL_LENGTH, PathComponentConstraintType.PARALLEL, PathComponentConstraintType.ANGLE_BETWEEN], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_component_constraint_type.PathComponentConstraintType:94394496978800', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'curve_set_constraint', 'schema': {'expected': ['curve_set_constraint'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionCurveSetConstraint', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_center_to_scene': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraCenterToScene'>, 'config': {'title': 'OptionDefaultCameraCenterToScene'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraCenterToScene'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraCenterToScene:94394498874032', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'camera_movement': {'metadata': {}, 'schema': {'default': 'vantage', 'schema': {'schema_ref': 'kittycad.models.camera_movement.CameraMovement:94394493354496', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'default_camera_center_to_scene', 'schema': {'expected': ['default_camera_center_to_scene'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraCenterToScene', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_center_to_selection': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraCenterToSelection'>, 'config': {'title': 'OptionDefaultCameraCenterToSelection'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraCenterToSelection'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraCenterToSelection:94394498831184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'camera_movement': {'metadata': {}, 'schema': {'default': 'vantage', 'schema': {'schema_ref': 'kittycad.models.camera_movement.CameraMovement:94394493354496', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'default_camera_center_to_selection', 'schema': {'expected': ['default_camera_center_to_selection'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraCenterToSelection', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_focus_on': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraFocusOn'>, 'config': {'title': 'OptionDefaultCameraFocusOn'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraFocusOn'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraFocusOn:94394498768224', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'default_camera_focus_on', 'schema': {'expected': ['default_camera_focus_on'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uuid': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraFocusOn', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_get_settings': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraGetSettings'>, 'config': {'title': 'OptionDefaultCameraGetSettings'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraGetSettings'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraGetSettings:94394497071760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'default_camera_get_settings', 'schema': {'expected': ['default_camera_get_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraGetSettings', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_get_view': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraGetView'>, 'config': {'title': 'OptionDefaultCameraGetView'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraGetView'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraGetView:94394497079424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'default_camera_get_view', 'schema': {'expected': ['default_camera_get_view'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraGetView', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_look_at': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraLookAt'>, 'config': {'title': 'OptionDefaultCameraLookAt'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraLookAt'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraLookAt:94394497110512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'default_camera_look_at', 'schema': {'expected': ['default_camera_look_at'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'up': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'vantage': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraLookAt', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_perspective_settings': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraPerspectiveSettings'>, 'config': {'title': 'OptionDefaultCameraPerspectiveSettings'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraPerspectiveSettings'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraPerspectiveSettings:94394497131168', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'fov_y': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sequence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'default_camera_perspective_settings', 'schema': {'expected': ['default_camera_perspective_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'up': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'vantage': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'z_far': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_near': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraPerspectiveSettings', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_set_orthographic': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraSetOrthographic'>, 'config': {'title': 'OptionDefaultCameraSetOrthographic'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraSetOrthographic'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraSetOrthographic:94394497451664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'default_camera_set_orthographic', 'schema': {'expected': ['default_camera_set_orthographic'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraSetOrthographic', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_set_perspective': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraSetPerspective'>, 'config': {'title': 'OptionDefaultCameraSetPerspective'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraSetPerspective'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraSetPerspective:94394498809744', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'parameters': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>, 'config': {'title': 'PerspectiveCameraParameters'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>>]}, 'ref': 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters:94394496830864', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'fov_y': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_far': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_near': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PerspectiveCameraParameters', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'default_camera_set_perspective', 'schema': {'expected': ['default_camera_set_perspective'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraSetPerspective', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_set_view': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraSetView'>, 'config': {'title': 'OptionDefaultCameraSetView'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraSetView'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraSetView:94394497087376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'default_camera_set_view', 'schema': {'expected': ['default_camera_set_view'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'view': {'metadata': {}, 'schema': {'cls': <class 'kittycad.models.camera_view_state.CameraViewState'>, 'config': {'title': 'CameraViewState'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.camera_view_state.CameraViewState'>>]}, 'ref': 'kittycad.models.camera_view_state.CameraViewState:94394493293360', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'eye_offset': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'fov_y': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'is_ortho': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'ortho_scale_enabled': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'ortho_scale_factor': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'pivot_position': {'metadata': {}, 'schema': {'items_schema': {'type': 'float'}, 'type': 'list'}, 'type': 'model-field'}, 'pivot_rotation': {'metadata': {}, 'schema': {'items_schema': {'type': 'float'}, 'type': 'list'}, 'type': 'model-field'}, 'world_coord_system': {'metadata': {}, 'schema': {'cls': <enum 'WorldCoordinateSystem'>, 'members': [WorldCoordinateSystem.RIGHT_HANDED_UP_Z, WorldCoordinateSystem.RIGHT_HANDED_UP_Y], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.world_coordinate_system.WorldCoordinateSystem:94394493341696', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'CameraViewState', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraSetView', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_zoom': {'cls': <class 'kittycad.models.modeling_cmd.OptionDefaultCameraZoom'>, 'config': {'title': 'OptionDefaultCameraZoom'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDefaultCameraZoom'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDefaultCameraZoom:94394497162544', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'magnitude': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'default_camera_zoom', 'schema': {'expected': ['default_camera_zoom'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDefaultCameraZoom', 'type': 'model-fields'}, 'type': 'model'}, 'density': {'cls': <class 'kittycad.models.modeling_cmd.OptionDensity'>, 'config': {'title': 'OptionDensity'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDensity'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDensity:94394498719872', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'material_mass': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'material_mass_unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_mass.UnitMass:94394491882240', 'type': 'definition-ref'}, 'type': 'model-field'}, 'output_unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_density.UnitDensity:94394491864672', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'density', 'schema': {'expected': ['density'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDensity', 'type': 'model-fields'}, 'type': 'model'}, 'disable_dry_run': {'cls': <class 'kittycad.models.modeling_cmd.OptionDisableDryRun'>, 'config': {'title': 'OptionDisableDryRun'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionDisableDryRun'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionDisableDryRun:94394492157232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'disable_dry_run', 'schema': {'expected': ['disable_dry_run'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDisableDryRun', 'type': 'model-fields'}, 'type': 'model'}, 'edge_lines_visible': {'cls': <class 'kittycad.models.modeling_cmd.OptionEdgeLinesVisible'>, 'config': {'title': 'OptionEdgeLinesVisible'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEdgeLinesVisible'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEdgeLinesVisible:94394497963136', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hidden': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'edge_lines_visible', 'schema': {'expected': ['edge_lines_visible'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEdgeLinesVisible', 'type': 'model-fields'}, 'type': 'model'}, 'enable_dry_run': {'cls': <class 'kittycad.models.modeling_cmd.OptionEnableDryRun'>, 'config': {'title': 'OptionEnableDryRun'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEnableDryRun'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEnableDryRun:94394498333088', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'enable_dry_run', 'schema': {'expected': ['enable_dry_run'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEnableDryRun', 'type': 'model-fields'}, 'type': 'model'}, 'enable_sketch_mode': {'cls': <class 'kittycad.models.modeling_cmd.OptionEnableSketchMode'>, 'config': {'title': 'OptionEnableSketchMode'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEnableSketchMode'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEnableSketchMode:94394498314368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'adjust_camera': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'animated': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'ortho': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'planar_normal': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'enable_sketch_mode', 'schema': {'expected': ['enable_sketch_mode'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEnableSketchMode', 'type': 'model-fields'}, 'type': 'model'}, 'engine_util_evaluate_path': {'cls': <class 'kittycad.models.modeling_cmd.OptionEngineUtilEvaluatePath'>, 'config': {'title': 'OptionEngineUtilEvaluatePath'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEngineUtilEvaluatePath'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEngineUtilEvaluatePath:94394496831856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_json': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 't': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'engine_util_evaluate_path', 'schema': {'expected': ['engine_util_evaluate_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEngineUtilEvaluatePath', 'type': 'model-fields'}, 'type': 'model'}, 'entity_circular_pattern': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityCircularPattern'>, 'config': {'title': 'OptionEntityCircularPattern'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityCircularPattern'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityCircularPattern:94394497607152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'arc_degrees': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'center': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'num_repetitions': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'rotate_duplicates': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_circular_pattern', 'schema': {'expected': ['entity_circular_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityCircularPattern', 'type': 'model-fields'}, 'type': 'model'}, 'entity_clone': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityClone'>, 'config': {'title': 'OptionEntityClone'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityClone'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityClone:94394497515120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_clone', 'schema': {'expected': ['entity_clone'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityClone', 'type': 'model-fields'}, 'type': 'model'}, 'entity_fade': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityFade'>, 'config': {'title': 'OptionEntityFade'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityFade'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityFade:94394498197936', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'duration_seconds': {'metadata': {}, 'schema': {'default': 0.4000000059604645, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'fade_in': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_fade', 'schema': {'expected': ['entity_fade'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityFade', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_all_child_uuids': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityGetAllChildUuids'>, 'config': {'title': 'OptionEntityGetAllChildUuids'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityGetAllChildUuids'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityGetAllChildUuids:94394497472432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_get_all_child_uuids', 'schema': {'expected': ['entity_get_all_child_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityGetAllChildUuids', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_child_uuid': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityGetChildUuid'>, 'config': {'title': 'OptionEntityGetChildUuid'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityGetChildUuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityGetChildUuid:94394497462608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'child_index': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_get_child_uuid', 'schema': {'expected': ['entity_get_child_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityGetChildUuid', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_distance': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityGetDistance'>, 'config': {'title': 'OptionEntityGetDistance'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityGetDistance'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityGetDistance:94394497489488', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'distance_type': {'metadata': {}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionEuclidean, OptionOnAxis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionEuclidean, OptionOnAxis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionEuclidean, OptionOnAxis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionEuclidean, OptionOnAxis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770018404176]", 'root_model': True, 'schema': {'choices': {'euclidean': {'cls': <class 'kittycad.models.distance_type.OptionEuclidean'>, 'config': {'title': 'OptionEuclidean'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.distance_type.OptionEuclidean'>>]}, 'ref': 'kittycad.models.distance_type.OptionEuclidean:94394494552464', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'euclidean', 'schema': {'expected': ['euclidean'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEuclidean', 'type': 'model-fields'}, 'type': 'model'}, 'on_axis': {'cls': <class 'kittycad.models.distance_type.OptionOnAxis'>, 'config': {'title': 'OptionOnAxis'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.distance_type.OptionOnAxis'>>]}, 'ref': 'kittycad.models.distance_type.OptionOnAxis:94394494381552', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {}, 'schema': {'cls': <enum 'GlobalAxis'>, 'members': [GlobalAxis.X, GlobalAxis.Y, GlobalAxis.Z], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.global_axis.GlobalAxis:94394494590016', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'on_axis', 'schema': {'expected': ['on_axis'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionOnAxis', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'entity_id1': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'entity_id2': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_get_distance', 'schema': {'expected': ['entity_get_distance'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityGetDistance', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_num_children': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityGetNumChildren'>, 'config': {'title': 'OptionEntityGetNumChildren'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityGetNumChildren'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityGetNumChildren:94394493993184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_get_num_children', 'schema': {'expected': ['entity_get_num_children'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityGetNumChildren', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_parent_id': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityGetParentId'>, 'config': {'title': 'OptionEntityGetParentId'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityGetParentId'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityGetParentId:94394497442992', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_get_parent_id', 'schema': {'expected': ['entity_get_parent_id'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityGetParentId', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_sketch_paths': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityGetSketchPaths'>, 'config': {'title': 'OptionEntityGetSketchPaths'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityGetSketchPaths'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityGetSketchPaths:94394497480944', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_get_sketch_paths', 'schema': {'expected': ['entity_get_sketch_paths'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityGetSketchPaths', 'type': 'model-fields'}, 'type': 'model'}, 'entity_linear_pattern': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityLinearPattern'>, 'config': {'title': 'OptionEntityLinearPattern'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityLinearPattern'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityLinearPattern:94394497590656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'num_repetitions': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'spacing': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_linear_pattern', 'schema': {'expected': ['entity_linear_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityLinearPattern', 'type': 'model-fields'}, 'type': 'model'}, 'entity_linear_pattern_transform': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityLinearPatternTransform'>, 'config': {'title': 'OptionEntityLinearPatternTransform'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityLinearPatternTransform'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityLinearPatternTransform:94394497522192', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'transform': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'schema_ref': 'kittycad.models.transform.Transform:94394496861472', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'transforms': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'items_schema': {'schema_ref': 'kittycad.models.transform.Transform:94394496861472', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_linear_pattern_transform', 'schema': {'expected': ['entity_linear_pattern_transform'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityLinearPatternTransform', 'type': 'model-fields'}, 'type': 'model'}, 'entity_make_helix': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityMakeHelix'>, 'config': {'title': 'OptionEntityMakeHelix'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityMakeHelix'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityMakeHelix:94394497626096', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cylinder_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'is_clockwise': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'length': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'revolutions': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'start_angle': {'metadata': {}, 'schema': {'default': {'unit': 'degrees', 'value': 0.0}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_make_helix', 'schema': {'expected': ['entity_make_helix'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityMakeHelix', 'type': 'model-fields'}, 'type': 'model'}, 'entity_make_helix_from_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityMakeHelixFromEdge'>, 'config': {'title': 'OptionEntityMakeHelixFromEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityMakeHelixFromEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityMakeHelixFromEdge:94394497674864', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'is_clockwise': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'length': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'radius': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'revolutions': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'start_angle': {'metadata': {}, 'schema': {'default': {'unit': 'degrees', 'value': 0.0}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_make_helix_from_edge', 'schema': {'expected': ['entity_make_helix_from_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityMakeHelixFromEdge', 'type': 'model-fields'}, 'type': 'model'}, 'entity_make_helix_from_params': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityMakeHelixFromParams'>, 'config': {'title': 'OptionEntityMakeHelixFromParams'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityMakeHelixFromParams'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityMakeHelixFromParams:94394497644528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'center': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'is_clockwise': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'length': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'radius': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'revolutions': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'start_angle': {'metadata': {}, 'schema': {'default': {'unit': 'degrees', 'value': 0.0}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_make_helix_from_params', 'schema': {'expected': ['entity_make_helix_from_params'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityMakeHelixFromParams', 'type': 'model-fields'}, 'type': 'model'}, 'entity_mirror': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityMirror'>, 'config': {'title': 'OptionEntityMirror'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityMirror'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityMirror:94394496854000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'point': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_mirror', 'schema': {'expected': ['entity_mirror'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityMirror', 'type': 'model-fields'}, 'type': 'model'}, 'entity_mirror_across_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntityMirrorAcrossEdge'>, 'config': {'title': 'OptionEntityMirrorAcrossEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntityMirrorAcrossEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntityMirrorAcrossEdge:94394497717952', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_mirror_across_edge', 'schema': {'expected': ['entity_mirror_across_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntityMirrorAcrossEdge', 'type': 'model-fields'}, 'type': 'model'}, 'entity_set_opacity': {'cls': <class 'kittycad.models.modeling_cmd.OptionEntitySetOpacity'>, 'config': {'title': 'OptionEntitySetOpacity'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionEntitySetOpacity'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionEntitySetOpacity:94394498188480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'opacity': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'entity_set_opacity', 'schema': {'expected': ['entity_set_opacity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionEntitySetOpacity', 'type': 'model-fields'}, 'type': 'model'}, 'export': {'cls': <class 'kittycad.models.modeling_cmd.OptionExport'>, 'config': {'title': 'OptionExport'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionExport'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionExport:94394497317776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770019314128]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'export', 'schema': {'expected': ['export'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionExport', 'type': 'model-fields'}, 'type': 'model'}, 'export2d': {'cls': <class 'kittycad.models.modeling_cmd.OptionExport2D'>, 'config': {'title': 'OptionExport2D'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionExport2D'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionExport2D:94394497170096', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[OptionDxf, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[OptionDxf, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[OptionDxf, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[OptionDxf, FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770016398672]", 'root_model': True, 'schema': {'choices': {'dxf': {'cls': <class 'kittycad.models.output_format2d.OptionDxf'>, 'config': {'title': 'OptionDxf'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format2d.OptionDxf'>>]}, 'ref': 'kittycad.models.output_format2d.OptionDxf:94394496278848', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'storage': {'metadata': {}, 'schema': {'cls': <class 'kittycad.models.output_format2d.DxfData'>, 'config': {'title': 'DxfData'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format2d.DxfData'>>]}, 'ref': 'kittycad.models.output_format2d.DxfData:94394496686672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {}, 'model_name': 'DxfData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'dxf', 'schema': {'expected': ['dxf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionDxf', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'export2d', 'schema': {'expected': ['export2d'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionExport2D', 'type': 'model-fields'}, 'type': 'model'}, 'export3d': {'cls': <class 'kittycad.models.modeling_cmd.OptionExport3D'>, 'config': {'title': 'OptionExport3D'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionExport3D'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionExport3D:94394497192560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770019314128]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'export3d', 'schema': {'expected': ['export3d'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionExport3D', 'type': 'model-fields'}, 'type': 'model'}, 'extend_path': {'cls': <class 'kittycad.models.modeling_cmd.OptionExtendPath'>, 'config': {'title': 'OptionExtendPath'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionExtendPath'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionExtendPath:94394496431072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'segment': {'metadata': {}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770016470480]", 'root_model': True, 'schema': {'choices': {'arc': {'cls': <class 'kittycad.models.path_segment.OptionArc'>, 'config': {'title': 'OptionArc'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.OptionArc'>>]}, 'ref': 'kittycad.models.path_segment.OptionArc:94394496685360', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}, 'end': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'radius': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'relative': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'start': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'arc', 'schema': {'expected': ['arc'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionArc', 'type': 'model-fields'}, 'type': 'model'}, 'arc_to': {'cls': <class 'kittycad.models.path_segment.OptionArcTo'>, 'config': {'title': 'OptionArcTo'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.OptionArcTo'>>]}, 'ref': 'kittycad.models.path_segment.OptionArcTo:94394491438736', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'interior': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'arc_to', 'schema': {'expected': ['arc_to'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionArcTo', 'type': 'model-fields'}, 'type': 'model'}, 'bezier': {'cls': <class 'kittycad.models.path_segment.OptionBezier'>, 'config': {'title': 'OptionBezier'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.OptionBezier'>>]}, 'ref': 'kittycad.models.path_segment.OptionBezier:94394494619424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'control1': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'control2': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'end': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'bezier', 'schema': {'expected': ['bezier'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionBezier', 'type': 'model-fields'}, 'type': 'model'}, 'line': {'cls': <class 'kittycad.models.path_segment.OptionLine'>, 'config': {'title': 'OptionLine'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.OptionLine'>>]}, 'ref': 'kittycad.models.path_segment.OptionLine:94394496375728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'line', 'schema': {'expected': ['line'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionLine', 'type': 'model-fields'}, 'type': 'model'}, 'tangential_arc': {'cls': <class 'kittycad.models.path_segment.OptionTangentialArc'>, 'config': {'title': 'OptionTangentialArc'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.OptionTangentialArc'>>]}, 'ref': 'kittycad.models.path_segment.OptionTangentialArc:94394494020112', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'offset': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'radius': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'tangential_arc', 'schema': {'expected': ['tangential_arc'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionTangentialArc', 'type': 'model-fields'}, 'type': 'model'}, 'tangential_arc_to': {'cls': <class 'kittycad.models.path_segment.OptionTangentialArcTo'>, 'config': {'title': 'OptionTangentialArcTo'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.OptionTangentialArcTo'>>]}, 'ref': 'kittycad.models.path_segment.OptionTangentialArcTo:94394493021376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle_snap_increment': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'to': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'tangential_arc_to', 'schema': {'expected': ['tangential_arc_to'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionTangentialArcTo', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'extend_path', 'schema': {'expected': ['extend_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionExtendPath', 'type': 'model-fields'}, 'type': 'model'}, 'extrude': {'cls': <class 'kittycad.models.modeling_cmd.OptionExtrude'>, 'config': {'title': 'OptionExtrude'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionExtrude'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionExtrude:94394496516672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'distance': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'faces': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.extruded_face_info.ExtrudedFaceInfo'>, 'config': {'title': 'ExtrudedFaceInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.extruded_face_info.ExtrudedFaceInfo'>>]}, 'ref': 'kittycad.models.extruded_face_info.ExtrudedFaceInfo:94394494929120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'bottom': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sides': {'metadata': {}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.side_face.SideFace'>, 'config': {'title': 'SideFace'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.side_face.SideFace'>>]}, 'ref': 'kittycad.models.side_face.SideFace:94394495069696', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'SideFace', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'top': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ExtrudedFaceInfo', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'target': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'extrude', 'schema': {'expected': ['extrude'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionExtrude', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_center': {'cls': <class 'kittycad.models.modeling_cmd.OptionFaceGetCenter'>, 'config': {'title': 'OptionFaceGetCenter'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionFaceGetCenter'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionFaceGetCenter:94394498156368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'face_get_center', 'schema': {'expected': ['face_get_center'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionFaceGetCenter', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_gradient': {'cls': <class 'kittycad.models.modeling_cmd.OptionFaceGetGradient'>, 'config': {'title': 'OptionFaceGetGradient'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionFaceGetGradient'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionFaceGetGradient:94394498164656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'face_get_gradient', 'schema': {'expected': ['face_get_gradient'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uv': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionFaceGetGradient', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_position': {'cls': <class 'kittycad.models.modeling_cmd.OptionFaceGetPosition'>, 'config': {'title': 'OptionFaceGetPosition'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionFaceGetPosition'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionFaceGetPosition:94394498141648', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'face_get_position', 'schema': {'expected': ['face_get_position'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uv': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionFaceGetPosition', 'type': 'model-fields'}, 'type': 'model'}, 'face_is_planar': {'cls': <class 'kittycad.models.modeling_cmd.OptionFaceIsPlanar'>, 'config': {'title': 'OptionFaceIsPlanar'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionFaceIsPlanar'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionFaceIsPlanar:94394498134000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'face_is_planar', 'schema': {'expected': ['face_is_planar'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionFaceIsPlanar', 'type': 'model-fields'}, 'type': 'model'}, 'get_entity_type': {'cls': <class 'kittycad.models.modeling_cmd.OptionGetEntityType'>, 'config': {'title': 'OptionGetEntityType'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionGetEntityType'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionGetEntityType:94394498008992', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'get_entity_type', 'schema': {'expected': ['get_entity_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionGetEntityType', 'type': 'model-fields'}, 'type': 'model'}, 'get_num_objects': {'cls': <class 'kittycad.models.modeling_cmd.OptionGetNumObjects'>, 'config': {'title': 'OptionGetNumObjects'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionGetNumObjects'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionGetNumObjects:94394498945968', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'get_num_objects', 'schema': {'expected': ['get_num_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionGetNumObjects', 'type': 'model-fields'}, 'type': 'model'}, 'get_sketch_mode_plane': {'cls': <class 'kittycad.models.modeling_cmd.OptionGetSketchModePlane'>, 'config': {'title': 'OptionGetSketchModePlane'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionGetSketchModePlane'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionGetSketchModePlane:94394498293472', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'get_sketch_mode_plane', 'schema': {'expected': ['get_sketch_mode_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionGetSketchModePlane', 'type': 'model-fields'}, 'type': 'model'}, 'handle_mouse_drag_end': {'cls': <class 'kittycad.models.modeling_cmd.OptionHandleMouseDragEnd'>, 'config': {'title': 'OptionHandleMouseDragEnd'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionHandleMouseDragEnd'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionHandleMouseDragEnd:94394498559152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'handle_mouse_drag_end', 'schema': {'expected': ['handle_mouse_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionHandleMouseDragEnd', 'type': 'model-fields'}, 'type': 'model'}, 'handle_mouse_drag_move': {'cls': <class 'kittycad.models.modeling_cmd.OptionHandleMouseDragMove'>, 'config': {'title': 'OptionHandleMouseDragMove'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionHandleMouseDragMove'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionHandleMouseDragMove:94394498543312', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sequence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'handle_mouse_drag_move', 'schema': {'expected': ['handle_mouse_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionHandleMouseDragMove', 'type': 'model-fields'}, 'type': 'model'}, 'handle_mouse_drag_start': {'cls': <class 'kittycad.models.modeling_cmd.OptionHandleMouseDragStart'>, 'config': {'title': 'OptionHandleMouseDragStart'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionHandleMouseDragStart'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionHandleMouseDragStart:94394498529680', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'handle_mouse_drag_start', 'schema': {'expected': ['handle_mouse_drag_start'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionHandleMouseDragStart', 'type': 'model-fields'}, 'type': 'model'}, 'highlight_set_entities': {'cls': <class 'kittycad.models.modeling_cmd.OptionHighlightSetEntities'>, 'config': {'title': 'OptionHighlightSetEntities'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionHighlightSetEntities'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionHighlightSetEntities:94394497843232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'highlight_set_entities', 'schema': {'expected': ['highlight_set_entities'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionHighlightSetEntities', 'type': 'model-fields'}, 'type': 'model'}, 'highlight_set_entity': {'cls': <class 'kittycad.models.modeling_cmd.OptionHighlightSetEntity'>, 'config': {'title': 'OptionHighlightSetEntity'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionHighlightSetEntity'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionHighlightSetEntity:94394497826576', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selected_at_window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'highlight_set_entity', 'schema': {'expected': ['highlight_set_entity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionHighlightSetEntity', 'type': 'model-fields'}, 'type': 'model'}, 'import_files': {'cls': <class 'kittycad.models.modeling_cmd.OptionImportFiles'>, 'config': {'title': 'OptionImportFiles'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionImportFiles'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionImportFiles:94394498618736', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'files': {'metadata': {}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.import_file.ImportFile'>, 'config': {'title': 'ImportFile'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.import_file.ImportFile'>>]}, 'ref': 'kittycad.models.import_file.ImportFile:94394495676688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {}, 'schema': {'type': 'bytes'}, 'type': 'model-field'}, 'path': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ImportFile', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'generic_origin': <class 'pydantic.root_model.RootModel'>, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94394490156720[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139770025825616]", 'root_model': True, 'schema': {'choices': {'fbx': {'cls': <class 'kittycad.models.input_format3d.OptionFbx'>, 'config': {'title': 'OptionFbx'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionFbx'>>]}, 'ref': 'kittycad.models.input_format3d.OptionFbx:94394491083408', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'fbx', 'schema': {'expected': ['fbx'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionFbx', 'type': 'model-fields'}, 'type': 'model'}, 'gltf': {'cls': <class 'kittycad.models.input_format3d.OptionGltf'>, 'config': {'title': 'OptionGltf'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionGltf'>>]}, 'ref': 'kittycad.models.input_format3d.OptionGltf:94394492068672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'gltf', 'schema': {'expected': ['gltf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionGltf', 'type': 'model-fields'}, 'type': 'model'}, 'obj': {'cls': <class 'kittycad.models.input_format3d.OptionObj'>, 'config': {'title': 'OptionObj'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionObj'>>]}, 'ref': 'kittycad.models.input_format3d.OptionObj:94394486102608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'obj', 'schema': {'expected': ['obj'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionObj', 'type': 'model-fields'}, 'type': 'model'}, 'ply': {'cls': <class 'kittycad.models.input_format3d.OptionPly'>, 'config': {'title': 'OptionPly'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionPly'>>]}, 'ref': 'kittycad.models.input_format3d.OptionPly:94394492455904', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'ply', 'schema': {'expected': ['ply'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionPly', 'type': 'model-fields'}, 'type': 'model'}, 'sldprt': {'cls': <class 'kittycad.models.input_format3d.OptionSldprt'>, 'config': {'title': 'OptionSldprt'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionSldprt'>>]}, 'ref': 'kittycad.models.input_format3d.OptionSldprt:94394492454912', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'split_closed_faces': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'sldprt', 'schema': {'expected': ['sldprt'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSldprt', 'type': 'model-fields'}, 'type': 'model'}, 'step': {'cls': <class 'kittycad.models.input_format3d.OptionStep'>, 'config': {'title': 'OptionStep'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionStep'>>]}, 'ref': 'kittycad.models.input_format3d.OptionStep:94394492453920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'split_closed_faces': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'step', 'schema': {'expected': ['step'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionStep', 'type': 'model-fields'}, 'type': 'model'}, 'stl': {'cls': <class 'kittycad.models.input_format3d.OptionStl'>, 'config': {'title': 'OptionStl'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format3d.OptionStl'>>]}, 'ref': 'kittycad.models.input_format3d.OptionStl:94394490188624', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.system.System:94394487138928', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'stl', 'schema': {'expected': ['stl'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionStl', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'import_files', 'schema': {'expected': ['import_files'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionImportFiles', 'type': 'model-fields'}, 'type': 'model'}, 'loft': {'cls': <class 'kittycad.models.modeling_cmd.OptionLoft'>, 'config': {'title': 'OptionLoft'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionLoft'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionLoft:94394496613424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'base_curve_index': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'bez_approximate_rational': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'section_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'tolerance': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'loft', 'schema': {'expected': ['loft'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'v_degree': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'OptionLoft', 'type': 'model-fields'}, 'type': 'model'}, 'make_axes_gizmo': {'cls': <class 'kittycad.models.modeling_cmd.OptionMakeAxesGizmo'>, 'config': {'title': 'OptionMakeAxesGizmo'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMakeAxesGizmo'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMakeAxesGizmo:94394498474800', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'clobber': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'gizmo_mode': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'make_axes_gizmo', 'schema': {'expected': ['make_axes_gizmo'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionMakeAxesGizmo', 'type': 'model-fields'}, 'type': 'model'}, 'make_offset_path': {'cls': <class 'kittycad.models.modeling_cmd.OptionMakeOffsetPath'>, 'config': {'title': 'OptionMakeOffsetPath'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMakeOffsetPath'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMakeOffsetPath:94394497698256', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_id': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'offset': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'make_offset_path', 'schema': {'expected': ['make_offset_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionMakeOffsetPath', 'type': 'model-fields'}, 'type': 'model'}, 'make_plane': {'cls': <class 'kittycad.models.modeling_cmd.OptionMakePlane'>, 'config': {'title': 'OptionMakePlane'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMakePlane'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMakePlane:94394498209856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'clobber': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'hide': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'origin': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'size': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'make_plane', 'schema': {'expected': ['make_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'x_axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'y_axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionMakePlane', 'type': 'model-fields'}, 'type': 'model'}, 'mass': {'cls': <class 'kittycad.models.modeling_cmd.OptionMass'>, 'config': {'title': 'OptionMass'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMass'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMass:94394498706048', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'material_density': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'material_density_unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_density.UnitDensity:94394491864672', 'type': 'definition-ref'}, 'type': 'model-field'}, 'output_unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_mass.UnitMass:94394491882240', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'mass', 'schema': {'expected': ['mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionMass', 'type': 'model-fields'}, 'type': 'model'}, 'mouse_click': {'cls': <class 'kittycad.models.modeling_cmd.OptionMouseClick'>, 'config': {'title': 'OptionMouseClick'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMouseClick'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMouseClick:94394498273280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'mouse_click', 'schema': {'expected': ['mouse_click'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionMouseClick', 'type': 'model-fields'}, 'type': 'model'}, 'mouse_move': {'cls': <class 'kittycad.models.modeling_cmd.OptionMouseMove'>, 'config': {'title': 'OptionMouseMove'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMouseMove'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMouseMove:94394498257104', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sequence': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'mouse_move', 'schema': {'expected': ['mouse_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionMouseMove', 'type': 'model-fields'}, 'type': 'model'}, 'move_path_pen': {'cls': <class 'kittycad.models.modeling_cmd.OptionMovePathPen'>, 'config': {'title': 'OptionMovePathPen'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionMovePathPen'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionMovePathPen:94394496417152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'to': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'move_path_pen', 'schema': {'expected': ['move_path_pen'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionMovePathPen', 'type': 'model-fields'}, 'type': 'model'}, 'new_annotation': {'cls': <class 'kittycad.models.modeling_cmd.OptionNewAnnotation'>, 'config': {'title': 'OptionNewAnnotation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionNewAnnotation'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionNewAnnotation:94394497852416', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'annotation_type': {'metadata': {}, 'schema': {'cls': <enum 'AnnotationType'>, 'members': [AnnotationType.T2D, AnnotationType.T3D], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_type.AnnotationType:94394489725776', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'clobber': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'options': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.annotation_options.AnnotationOptions:94394486495776', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'new_annotation', 'schema': {'expected': ['new_annotation'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionNewAnnotation', 'type': 'model-fields'}, 'type': 'model'}, 'object_bring_to_front': {'cls': <class 'kittycad.models.modeling_cmd.OptionObjectBringToFront'>, 'config': {'title': 'OptionObjectBringToFront'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionObjectBringToFront'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionObjectBringToFront:94394497980640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'object_bring_to_front', 'schema': {'expected': ['object_bring_to_front'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionObjectBringToFront', 'type': 'model-fields'}, 'type': 'model'}, 'object_set_material_params_pbr': {'cls': <class 'kittycad.models.modeling_cmd.OptionObjectSetMaterialParamsPbr'>, 'config': {'title': 'OptionObjectSetMaterialParamsPbr'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionObjectSetMaterialParamsPbr'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionObjectSetMaterialParamsPbr:94394497989152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'ambient_occlusion': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'color': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.color.Color:94394486494784', 'type': 'definition-ref'}, 'type': 'model-field'}, 'metalness': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'roughness': {'metadata': {}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'object_set_material_params_pbr', 'schema': {'expected': ['object_set_material_params_pbr'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionObjectSetMaterialParamsPbr', 'type': 'model-fields'}, 'type': 'model'}, 'object_visible': {'cls': <class 'kittycad.models.modeling_cmd.OptionObjectVisible'>, 'config': {'title': 'OptionObjectVisible'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionObjectVisible'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionObjectVisible:94394497971408', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hidden': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'object_visible', 'schema': {'expected': ['object_visible'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionObjectVisible', 'type': 'model-fields'}, 'type': 'model'}, 'orient_to_face': {'cls': <class 'kittycad.models.modeling_cmd.OptionOrientToFace'>, 'config': {'title': 'OptionOrientToFace'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionOrientToFace'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionOrientToFace:94394498899536', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'animated': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'face_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'padding': {'metadata': {}, 'schema': {'default': 0.0, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'orient_to_face', 'schema': {'expected': ['orient_to_face'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionOrientToFace', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_curve_uuid': {'cls': <class 'kittycad.models.modeling_cmd.OptionPathGetCurveUuid'>, 'config': {'title': 'OptionPathGetCurveUuid'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPathGetCurveUuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPathGetCurveUuid:94394498502848', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'path_get_curve_uuid', 'schema': {'expected': ['path_get_curve_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionPathGetCurveUuid', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_curve_uuids_for_vertices': {'cls': <class 'kittycad.models.modeling_cmd.OptionPathGetCurveUuidsForVertices'>, 'config': {'title': 'OptionPathGetCurveUuidsForVertices'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPathGetCurveUuidsForVertices'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPathGetCurveUuidsForVertices:94394498492592', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'path_get_curve_uuids_for_vertices', 'schema': {'expected': ['path_get_curve_uuids_for_vertices'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'vertex_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'OptionPathGetCurveUuidsForVertices', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_info': {'cls': <class 'kittycad.models.modeling_cmd.OptionPathGetInfo'>, 'config': {'title': 'OptionPathGetInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPathGetInfo'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPathGetInfo:94394498484160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'path_get_info', 'schema': {'expected': ['path_get_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionPathGetInfo', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_sketch_target_uuid': {'cls': <class 'kittycad.models.modeling_cmd.OptionPathGetSketchTargetUuid'>, 'config': {'title': 'OptionPathGetSketchTargetUuid'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPathGetSketchTargetUuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPathGetSketchTargetUuid:94394498521104', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'path_get_sketch_target_uuid', 'schema': {'expected': ['path_get_sketch_target_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionPathGetSketchTargetUuid', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_vertex_uuids': {'cls': <class 'kittycad.models.modeling_cmd.OptionPathGetVertexUuids'>, 'config': {'title': 'OptionPathGetVertexUuids'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPathGetVertexUuids'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPathGetVertexUuids:94394498512592', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'path_get_vertex_uuids', 'schema': {'expected': ['path_get_vertex_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionPathGetVertexUuids', 'type': 'model-fields'}, 'type': 'model'}, 'plane_intersect_and_project': {'cls': <class 'kittycad.models.modeling_cmd.OptionPlaneIntersectAndProject'>, 'config': {'title': 'OptionPlaneIntersectAndProject'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPlaneIntersectAndProject'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPlaneIntersectAndProject:94394498581888', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'plane_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'plane_intersect_and_project', 'schema': {'expected': ['plane_intersect_and_project'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionPlaneIntersectAndProject', 'type': 'model-fields'}, 'type': 'model'}, 'plane_set_color': {'cls': <class 'kittycad.models.modeling_cmd.OptionPlaneSetColor'>, 'config': {'title': 'OptionPlaneSetColor'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionPlaneSetColor'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionPlaneSetColor:94394498232720', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.color.Color:94394486494784', 'type': 'definition-ref'}, 'type': 'model-field'}, 'plane_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'plane_set_color', 'schema': {'expected': ['plane_set_color'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionPlaneSetColor', 'type': 'model-fields'}, 'type': 'model'}, 'project_entity_to_plane': {'cls': <class 'kittycad.models.modeling_cmd.OptionProjectEntityToPlane'>, 'config': {'title': 'OptionProjectEntityToPlane'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionProjectEntityToPlane'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionProjectEntityToPlane:94394498437616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'plane_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'project_entity_to_plane', 'schema': {'expected': ['project_entity_to_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'use_plane_coords': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}}, 'model_name': 'OptionProjectEntityToPlane', 'type': 'model-fields'}, 'type': 'model'}, 'project_points_to_plane': {'cls': <class 'kittycad.models.modeling_cmd.OptionProjectPointsToPlane'>, 'config': {'title': 'OptionProjectPointsToPlane'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionProjectPointsToPlane'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionProjectPointsToPlane:94394498449040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'plane_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'points': {'metadata': {}, 'schema': {'items_schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'project_points_to_plane', 'schema': {'expected': ['project_points_to_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'use_plane_coords': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}}, 'model_name': 'OptionProjectPointsToPlane', 'type': 'model-fields'}, 'type': 'model'}, 'reconfigure_stream': {'cls': <class 'kittycad.models.modeling_cmd.OptionReconfigureStream'>, 'config': {'title': 'OptionReconfigureStream'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionReconfigureStream'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionReconfigureStream:94394498604704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'bitrate': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'fps': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'height': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'reconfigure_stream', 'schema': {'expected': ['reconfigure_stream'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'width': {'metadata': {}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'OptionReconfigureStream', 'type': 'model-fields'}, 'type': 'model'}, 'remove_scene_objects': {'cls': <class 'kittycad.models.modeling_cmd.OptionRemoveSceneObjects'>, 'config': {'title': 'OptionRemoveSceneObjects'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionRemoveSceneObjects'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionRemoveSceneObjects:94394498572752', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'remove_scene_objects', 'schema': {'expected': ['remove_scene_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionRemoveSceneObjects', 'type': 'model-fields'}, 'type': 'model'}, 'revolve': {'cls': <class 'kittycad.models.modeling_cmd.OptionRevolve'>, 'config': {'title': 'OptionRevolve'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionRevolve'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionRevolve:94394496555936', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'axis': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'axis_is_2d': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'origin': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'target': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'revolve', 'schema': {'expected': ['revolve'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionRevolve', 'type': 'model-fields'}, 'type': 'model'}, 'revolve_about_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionRevolveAboutEdge'>, 'config': {'title': 'OptionRevolveAboutEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionRevolveAboutEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionRevolveAboutEdge:94394496595856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:94394486484000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'revolve_about_edge', 'schema': {'expected': ['revolve_about_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionRevolveAboutEdge', 'type': 'model-fields'}, 'type': 'model'}, 'scene_clear_all': {'cls': <class 'kittycad.models.modeling_cmd.OptionSceneClearAll'>, 'config': {'title': 'OptionSceneClearAll'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSceneClearAll'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSceneClearAll:94394497809776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'scene_clear_all', 'schema': {'expected': ['scene_clear_all'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSceneClearAll', 'type': 'model-fields'}, 'type': 'model'}, 'select_add': {'cls': <class 'kittycad.models.modeling_cmd.OptionSelectAdd'>, 'config': {'title': 'OptionSelectAdd'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSelectAdd'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSelectAdd:94394497790352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'select_add', 'schema': {'expected': ['select_add'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSelectAdd', 'type': 'model-fields'}, 'type': 'model'}, 'select_clear': {'cls': <class 'kittycad.models.modeling_cmd.OptionSelectClear'>, 'config': {'title': 'OptionSelectClear'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSelectClear'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSelectClear:94394498931088', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'select_clear', 'schema': {'expected': ['select_clear'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSelectClear', 'type': 'model-fields'}, 'type': 'model'}, 'select_get': {'cls': <class 'kittycad.models.modeling_cmd.OptionSelectGet'>, 'config': {'title': 'OptionSelectGet'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSelectGet'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSelectGet:94394498937840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'select_get', 'schema': {'expected': ['select_get'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSelectGet', 'type': 'model-fields'}, 'type': 'model'}, 'select_remove': {'cls': <class 'kittycad.models.modeling_cmd.OptionSelectRemove'>, 'config': {'title': 'OptionSelectRemove'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSelectRemove'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSelectRemove:94394497800064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'select_remove', 'schema': {'expected': ['select_remove'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSelectRemove', 'type': 'model-fields'}, 'type': 'model'}, 'select_replace': {'cls': <class 'kittycad.models.modeling_cmd.OptionSelectReplace'>, 'config': {'title': 'OptionSelectReplace'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSelectReplace'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSelectReplace:94394497817696', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'select_replace', 'schema': {'expected': ['select_replace'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSelectReplace', 'type': 'model-fields'}, 'type': 'model'}, 'select_with_point': {'cls': <class 'kittycad.models.modeling_cmd.OptionSelectWithPoint'>, 'config': {'title': 'OptionSelectWithPoint'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSelectWithPoint'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSelectWithPoint:94394497727984', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selected_at_window': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:94394496976608', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection_type': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.scene_selection_type.SceneSelectionType:94394496850656', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'select_with_point', 'schema': {'expected': ['select_with_point'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSelectWithPoint', 'type': 'model-fields'}, 'type': 'model'}, 'send_object': {'cls': <class 'kittycad.models.modeling_cmd.OptionSendObject'>, 'config': {'title': 'OptionSendObject'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSendObject'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSendObject:94394498179376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'front': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'send_object', 'schema': {'expected': ['send_object'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSendObject', 'type': 'model-fields'}, 'type': 'model'}, 'set_background_color': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetBackgroundColor'>, 'config': {'title': 'OptionSetBackgroundColor'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetBackgroundColor'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetBackgroundColor:94394498346720', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.color.Color:94394486494784', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_background_color', 'schema': {'expected': ['set_background_color'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetBackgroundColor', 'type': 'model-fields'}, 'type': 'model'}, 'set_current_tool_properties': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetCurrentToolProperties'>, 'config': {'title': 'OptionSetCurrentToolProperties'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetCurrentToolProperties'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetCurrentToolProperties:94394498361904', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.color.Color:94394486494784', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_current_tool_properties', 'schema': {'expected': ['set_current_tool_properties'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetCurrentToolProperties', 'type': 'model-fields'}, 'type': 'model'}, 'set_default_system_properties': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetDefaultSystemProperties'>, 'config': {'title': 'OptionSetDefaultSystemProperties'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetDefaultSystemProperties'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetDefaultSystemProperties:94394498379040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.color.Color:94394486494784', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_default_system_properties', 'schema': {'expected': ['set_default_system_properties'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetDefaultSystemProperties', 'type': 'model-fields'}, 'type': 'model'}, 'set_grid_reference_plane': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetGridReferencePlane'>, 'config': {'title': 'OptionSetGridReferencePlane'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetGridReferencePlane'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetGridReferencePlane:94394499007152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'grid_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'reference_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_grid_reference_plane', 'schema': {'expected': ['set_grid_reference_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetGridReferencePlane', 'type': 'model-fields'}, 'type': 'model'}, 'set_object_transform': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetObjectTransform'>, 'config': {'title': 'OptionSetObjectTransform'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetObjectTransform'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetObjectTransform:94394498953136', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'transforms': {'metadata': {}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.component_transform.ComponentTransform'>, 'config': {'title': 'ComponentTransform'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.component_transform.ComponentTransform'>>]}, 'ref': 'kittycad.models.component_transform.ComponentTransform:94394493491632', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'rotate_angle_axis': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <class 'kittycad.models.transform_by_for_point4d.TransformByForPoint4d'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'rotate_rpy': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <class 'kittycad.models.transform_by_for_point3d.TransformByForPoint3d'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'scale': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <class 'kittycad.models.transform_by_for_point3d.TransformByForPoint3d'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'translate': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <class 'kittycad.models.transform_by_for_point3d.TransformByForPoint3d'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'ComponentTransform', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_object_transform', 'schema': {'expected': ['set_object_transform'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetObjectTransform', 'type': 'model-fields'}, 'type': 'model'}, 'set_scene_units': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetSceneUnits'>, 'config': {'title': 'OptionSetSceneUnits'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetSceneUnits'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetSceneUnits:94394498695920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'set_scene_units', 'schema': {'expected': ['set_scene_units'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'unit': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:94394491082416', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'OptionSetSceneUnits', 'type': 'model-fields'}, 'type': 'model'}, 'set_selection_filter': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetSelectionFilter'>, 'config': {'title': 'OptionSetSelectionFilter'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetSelectionFilter'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetSelectionFilter:94394498785776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'filter': {'metadata': {}, 'schema': {'items_schema': {'cls': <enum 'EntityType'>, 'members': [EntityType.ENTITY, EntityType.OBJECT, EntityType.PATH, EntityType.CURVE, EntityType.SOLID2D, EntityType.SOLID3D, EntityType.EDGE, EntityType.FACE, EntityType.PLANE, EntityType.VERTEX], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.entity_type.EntityType:94394494836016', 'sub_type': 'str', 'type': 'enum'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_selection_filter', 'schema': {'expected': ['set_selection_filter'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetSelectionFilter', 'type': 'model-fields'}, 'type': 'model'}, 'set_selection_type': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetSelectionType'>, 'config': {'title': 'OptionSetSelectionType'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetSelectionType'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetSelectionType:94394498776800', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selection_type': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.scene_selection_type.SceneSelectionType:94394496850656', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_selection_type', 'schema': {'expected': ['set_selection_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetSelectionType', 'type': 'model-fields'}, 'type': 'model'}, 'set_tool': {'cls': <class 'kittycad.models.modeling_cmd.OptionSetTool'>, 'config': {'title': 'OptionSetTool'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSetTool'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSetTool:94394498248528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'tool': {'metadata': {}, 'schema': {'cls': <enum 'SceneToolType'>, 'members': [SceneToolType.CAMERA_REVOLVE, SceneToolType.SELECT, SceneToolType.MOVE, SceneToolType.SKETCH_LINE, SceneToolType.SKETCH_TANGENTIAL_ARC, SceneToolType.SKETCH_CURVE, SceneToolType.SKETCH_CURVE_MOD], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_tool_type.SceneToolType:94394496858096', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'set_tool', 'schema': {'expected': ['set_tool'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSetTool', 'type': 'model-fields'}, 'type': 'model'}, 'sketch_mode_disable': {'cls': <class 'kittycad.models.modeling_cmd.OptionSketchModeDisable'>, 'config': {'title': 'OptionSketchModeDisable'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSketchModeDisable'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSketchModeDisable:94394498286624', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'sketch_mode_disable', 'schema': {'expected': ['sketch_mode_disable'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSketchModeDisable', 'type': 'model-fields'}, 'type': 'model'}, 'solid2d_add_hole': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid2DAddHole'>, 'config': {'title': 'OptionSolid2DAddHole'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid2DAddHole'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid2DAddHole:94394498026976', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hole_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid2d_add_hole', 'schema': {'expected': ['solid2d_add_hole'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid2DAddHole', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_fillet_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DFilletEdge'>, 'config': {'title': 'OptionSolid3DFilletEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DFilletEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DFilletEdge:94394498098672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cut_type': {'metadata': {}, 'schema': {'default': 'fillet', 'schema': {'cls': <enum 'CutType'>, 'members': [CutType.FILLET, CutType.CHAMFER], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.cut_type.CutType:94394494376144', 'sub_type': 'str', 'type': 'enum'}, 'type': 'default'}, 'type': 'model-field'}, 'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'radius': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_fillet_edge', 'schema': {'expected': ['solid3d_fillet_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DFilletEdge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_all_edge_faces': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetAllEdgeFaces'>, 'config': {'title': 'OptionSolid3DGetAllEdgeFaces'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetAllEdgeFaces'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetAllEdgeFaces:94394498017520', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_all_edge_faces', 'schema': {'expected': ['solid3d_get_all_edge_faces'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetAllEdgeFaces', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_all_opposite_edges': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetAllOppositeEdges'>, 'config': {'title': 'OptionSolid3DGetAllOppositeEdges'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetAllOppositeEdges'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetAllOppositeEdges:94394498036176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'along_vector': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94394486511008', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_all_opposite_edges', 'schema': {'expected': ['solid3d_get_all_opposite_edges'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetAllOppositeEdges', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_common_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetCommonEdge'>, 'config': {'title': 'OptionSolid3DGetCommonEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetCommonEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetCommonEdge:94394498088528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_common_edge', 'schema': {'expected': ['solid3d_get_common_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetCommonEdge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_extrusion_face_info': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetExtrusionFaceInfo'>, 'config': {'title': 'OptionSolid3DGetExtrusionFaceInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetExtrusionFaceInfo'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetExtrusionFaceInfo:94394498921376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_extrusion_face_info', 'schema': {'expected': ['solid3d_get_extrusion_face_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetExtrusionFaceInfo', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_next_adjacent_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetNextAdjacentEdge'>, 'config': {'title': 'OptionSolid3DGetNextAdjacentEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetNextAdjacentEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetNextAdjacentEdge:94394498065344', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_next_adjacent_edge', 'schema': {'expected': ['solid3d_get_next_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetNextAdjacentEdge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_opposite_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetOppositeEdge'>, 'config': {'title': 'OptionSolid3DGetOppositeEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetOppositeEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetOppositeEdge:94394498054048', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_opposite_edge', 'schema': {'expected': ['solid3d_get_opposite_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetOppositeEdge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_prev_adjacent_edge': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DGetPrevAdjacentEdge'>, 'config': {'title': 'OptionSolid3DGetPrevAdjacentEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DGetPrevAdjacentEdge'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DGetPrevAdjacentEdge:94394498077072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_get_prev_adjacent_edge', 'schema': {'expected': ['solid3d_get_prev_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DGetPrevAdjacentEdge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_shell_face': {'cls': <class 'kittycad.models.modeling_cmd.OptionSolid3DShellFace'>, 'config': {'title': 'OptionSolid3DShellFace'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSolid3DShellFace'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSolid3DShellFace:94394496581552', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'hollow': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'object_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'shell_thickness': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'solid3d_shell_face', 'schema': {'expected': ['solid3d_shell_face'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSolid3DShellFace', 'type': 'model-fields'}, 'type': 'model'}, 'start_path': {'cls': <class 'kittycad.models.modeling_cmd.OptionStartPath'>, 'config': {'title': 'OptionStartPath'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionStartPath'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionStartPath:94394496759152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {}, 'schema': {'default': 'start_path', 'schema': {'expected': ['start_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionStartPath', 'type': 'model-fields'}, 'type': 'model'}, 'surface_area': {'cls': <class 'kittycad.models.modeling_cmd.OptionSurfaceArea'>, 'config': {'title': 'OptionSurfaceArea'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSurfaceArea'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSurfaceArea:94394498757040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {}, 'schema': {'cls': <enum 'UnitArea'>, 'members': [UnitArea.CM2, UnitArea.DM2, UnitArea.FT2, UnitArea.IN2, UnitArea.KM2, UnitArea.M2, UnitArea.MM2, UnitArea.YD2], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_area.UnitArea:94394491849504', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'surface_area', 'schema': {'expected': ['surface_area'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSurfaceArea', 'type': 'model-fields'}, 'type': 'model'}, 'sweep': {'cls': <class 'kittycad.models.modeling_cmd.OptionSweep'>, 'config': {'title': 'OptionSweep'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionSweep'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionSweep:94394496542352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sectional': {'metadata': {}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'target': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'trajectory': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'sweep', 'schema': {'expected': ['sweep'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionSweep', 'type': 'model-fields'}, 'type': 'model'}, 'take_snapshot': {'cls': <class 'kittycad.models.modeling_cmd.OptionTakeSnapshot'>, 'config': {'title': 'OptionTakeSnapshot'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionTakeSnapshot'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionTakeSnapshot:94394498465888', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'format': {'metadata': {}, 'schema': {'cls': <enum 'ImageFormat'>, 'members': [ImageFormat.PNG, ImageFormat.JPEG], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.image_format.ImageFormat:94394495673920', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'take_snapshot', 'schema': {'expected': ['take_snapshot'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionTakeSnapshot', 'type': 'model-fields'}, 'type': 'model'}, 'update_annotation': {'cls': <class 'kittycad.models.modeling_cmd.OptionUpdateAnnotation'>, 'config': {'title': 'OptionUpdateAnnotation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionUpdateAnnotation'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionUpdateAnnotation:94394497912048', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'annotation_id': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'options': {'metadata': {}, 'schema': {'schema_ref': 'kittycad.models.annotation_options.AnnotationOptions:94394486495776', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'update_annotation', 'schema': {'expected': ['update_annotation'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionUpdateAnnotation', 'type': 'model-fields'}, 'type': 'model'}, 'view_isometric': {'cls': <class 'kittycad.models.modeling_cmd.OptionViewIsometric'>, 'config': {'title': 'OptionViewIsometric'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionViewIsometric'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionViewIsometric:94394498912448', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'padding': {'metadata': {}, 'schema': {'default': 0.0, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'view_isometric', 'schema': {'expected': ['view_isometric'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionViewIsometric', 'type': 'model-fields'}, 'type': 'model'}, 'volume': {'cls': <class 'kittycad.models.modeling_cmd.OptionVolume'>, 'config': {'title': 'OptionVolume'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionVolume'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionVolume:94394498734336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {}, 'schema': {'cls': <enum 'UnitVolume'>, 'members': [UnitVolume.CM3, UnitVolume.FT3, UnitVolume.IN3, UnitVolume.M3, UnitVolume.YD3, UnitVolume.USFLOZ, UnitVolume.USGAL, UnitVolume.L, UnitVolume.ML], 'metadata': {'pydantic_js_functions': [<function GenerateSchema._enum_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_volume.UnitVolume:94394491895888', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'volume', 'schema': {'expected': ['volume'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionVolume', 'type': 'model-fields'}, 'type': 'model'}, 'zoom_to_fit': {'cls': <class 'kittycad.models.modeling_cmd.OptionZoomToFit'>, 'config': {'title': 'OptionZoomToFit'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.OptionZoomToFit'>>]}, 'ref': 'kittycad.models.modeling_cmd.OptionZoomToFit:94394498884000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'animated': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'object_ids': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'padding': {'metadata': {}, 'schema': {'default': 0.0, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'zoom_to_fit', 'schema': {'expected': ['zoom_to_fit'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionZoomToFit', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'cmd_id': {'metadata': {}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {}, 'schema': {'default': 'modeling_cmd_req', 'schema': {'expected': ['modeling_cmd_req'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'OptionModelingCmdReq', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
The core schema of the model.
- __pydantic_custom_init__: ClassVar[bool] = False[source]
Whether the model has a custom
__init__
method.
- __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
Metadata containing the decorators defined on the model. This replaces
Model.__validators__
andModel.__root_validators__
from Pydantic V1.
- __pydantic_extra__: dict[str, Any] | None[source]
A dictionary containing extra values, if [
extra
][pydantic.config.ConfigDict.extra] is set to'allow'
.
- __pydantic_fields__: ClassVar[Dict[str, FieldInfo]] = {'cmd': FieldInfo(annotation=RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'cmd_id': FieldInfo(annotation=ModelingCmdId, required=True), 'type': FieldInfo(annotation=Literal['modeling_cmd_req'], required=False, default='modeling_cmd_req')}[source]
A dictionary of field names and their corresponding [
FieldInfo
][pydantic.fields.FieldInfo] objects. This replacesModel.__fields__
from Pydantic V1.
- __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
- classmethod __pydantic_init_subclass__(**kwargs)[source]
This is intended to behave just like
__init_subclass__
, but is called byModelMetaclass
only after the class is actually fully initialized. In particular, attributes likemodel_fields
will be present when this is called.This is necessary because
__init_subclass__
will always be called bytype.__new__
, and it would require a prohibitively large refactor to theModelMetaclass
to ensure thattype.__new__
was called in such a manner that the class would already be sufficiently initialized.This will receive the same
kwargs
that would be passed to the standard__init_subclass__
, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.
- __pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None[source]
Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None[source]
The name of the post-init method for the model, if defined.
- __pydantic_private__: dict[str, Any] | None[source]
Values of private attributes set on the model instance.
- __pydantic_root_model__: ClassVar[bool] = False[source]
Whether the model is a [
RootModel
][pydantic.root_model.RootModel].
- __pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model( ModelSerializer { class: Py( 0x000055d9ef38fe70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "cmd_id": SerField { key_py: Py( 0x00007f1ebdf6da10, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "cmd": SerField { key_py: Py( 0x00007f1ec254ce70, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9ee9546b0, ), serializer: TaggedUnion( TaggedUnionSerializer { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: { "object_bring_to_front": 49, "entity_set_opacity": 65, "select_remove": 40, "project_points_to_plane": 84, "set_selection_type": 107, "make_offset_path": 121, "camera_drag_end": 13, "entity_get_distance": 28, "set_scene_units": 100, "enable_sketch_mode": 75, "center_of_mass": 104, "set_default_system_properties": 80, "path_get_curve_uuid": 89, "solid3d_shell_face": 7, "mouse_move": 70, "solid3d_fillet_edge": 59, "object_set_material_params_pbr": 50, "set_background_color": 78, "curve_get_type": 81, "path_get_vertex_uuids": 90, "face_get_center": 62, "set_tool": 69, "handle_mouse_drag_move": 93, "export3d": 21, "entity_get_sketch_paths": 27, "remove_scene_objects": 95, "sketch_mode_disable": 72, "add_hole_from_offset": 122, "highlight_set_entities": 44, "entity_linear_pattern_transform": 30, "path_get_info": 87, "select_replace": 42, "solid3d_get_all_opposite_edges": 54, "camera_drag_move": 12, "face_is_planar": 60, "plane_intersect_and_project": 96, "close_path": 10, "set_selection_filter": 108, "move_path_pen": 2, "entity_fade": 66, "entity_circular_pattern": 32, "handle_mouse_drag_end": 94, "curve_get_control_points": 82, "mass": 101, "density": 102, "default_camera_perspective_settings": 18, "export2d": 20, "import_files": 99, "object_visible": 48, "revolve": 6, "default_camera_center_to_scene": 112, "entity_make_helix": 33, "face_get_position": 61, "send_object": 64, "entity_get_all_child_uuids": 26, "start_path": 1, "curve_get_end_points": 97, "project_entity_to_plane": 83, "entity_mirror_across_edge": 37, "default_camera_focus_on": 106, "entity_linear_pattern": 31, "default_camera_set_perspective": 110, "solid3d_get_next_adjacent_edge": 56, "orient_to_face": 114, "path_get_curve_uuids_for_vertices": 88, "make_axes_gizmo": 86, "take_snapshot": 85, "entity_get_num_children": 24, "extrude": 4, "camera_drag_start": 11, "select_with_point": 38, "curve_set_constraint": 74, "get_entity_type": 51, "mouse_click": 71, "edge_lines_visible": 47, "set_current_tool_properties": 79, "default_camera_get_settings": 14, "solid3d_get_common_edge": 58, "reconfigure_stream": 98, "volume": 103, "zoom_to_fit": 113, "solid3d_get_extrusion_face_info": 116, "solid3d_get_opposite_edge": 55, "default_camera_get_view": 15, "default_camera_set_view": 16, "entity_get_parent_id": 23, "solid3d_get_prev_adjacent_edge": 57, "set_grid_reference_plane": 123, "loft": 9, "surface_area": 105, "enable_dry_run": 76, "revolve_about_edge": 8, "default_camera_set_orthographic": 109, "get_num_objects": 119, "export": 22, "scene_clear_all": 41, "select_clear": 117, "path_get_sketch_target_uuid": 91, "entity_get_child_uuid": 25, "view_isometric": 115, "engine_util_evaluate_path": 0, "update_annotation": 46, "face_get_gradient": 63, "plane_set_color": 68, "handle_mouse_drag_start": 92, "solid3d_get_all_edge_faces": 52, "get_sketch_mode_plane": 73, "disable_dry_run": 77, "extend_path": 3, "select_add": 39, "default_camera_look_at": 17, "entity_make_helix_from_edge": 35, "make_plane": 67, "sweep": 5, "solid2d_add_hole": 53, "select_get": 118, "default_camera_center_to_selection": 111, "default_camera_zoom": 19, "set_object_transform": 120, "entity_make_helix_from_params": 34, "entity_mirror": 36, "highlight_set_entity": 43, "new_annotation": 45, "entity_clone": 29, }, choices: [ Model( ModelSerializer { class: Py( 0x000055d9ee73d170, ), serializer: Fields( GeneralFieldsSerializer { fields: { "t": SerField { key_py: Py( 0x00007f1ec2f08778, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49ed0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "engine_util_evaluate_path", }, expected_py: None, name: "literal['engine_util_evaluate_path']", }, ), }, ), ), required: true, }, "path_json": SerField { key_py: Py( 0x00007f1ebe2f74f0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionEngineUtilEvaluatePath", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee72b570, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed64c30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "start_path", }, expected_py: None, name: "literal['start_path']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionStartPath", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee6d7d80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path": SerField { key_py: Py( 0x00007f1ec2f05240, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "to": SerField { key_py: Py( 0x00007f1ec211c720, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee60e30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "move_path_pen", }, expected_py: None, name: "literal['move_path_pen']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionMovePathPen", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee6db3e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf66ed30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "extend_path", }, expected_py: None, name: "literal['extend_path']", }, ), }, ), ), required: true, }, "path": SerField { key_py: Py( 0x00007f1ec2f05240, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "segment": SerField { key_py: Py( 0x00007f1ec1f551d0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9ee729160, ), serializer: TaggedUnion( TaggedUnionSerializer { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: { "arc": 1, "bezier": 2, "tangential_arc_to": 4, "arc_to": 5, "tangential_arc": 3, "line": 0, }, choices: [ Model( ModelSerializer { class: Py( 0x000055d9ee6cdbb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "relative": SerField { key_py: Py( 0x00007f1ec157be30, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "end": SerField { key_py: Py( 0x00007f1ec2f02590, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2f040b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "line", }, expected_py: None, name: "literal['line']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionLine", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee719530, ), serializer: Fields( GeneralFieldsSerializer { fields: { "start": SerField { key_py: Py( 0x00007f1ec2f06338, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "end": SerField { key_py: Py( 0x00007f1ec2f02590, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f1ec2820180, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "radius": SerField { key_py: Py( 0x00007f1ebe1163d0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "relative": SerField { key_py: Py( 0x00007f1ec157be30, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec0268f60, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "arc", }, expected_py: None, name: "literal['arc']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "OptionArc", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee520f20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "relative": SerField { key_py: Py( 0x00007f1ec157be30, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "control1": SerField { key_py: Py( 0x00007f1ebe27b0f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec0c6f270, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "bezier", }, expected_py: None, name: "literal['bezier']", }, ), }, ), ), required: true, }, "control2": SerField { key_py: Py( 0x00007f1ebe13d4f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "end": SerField { key_py: Py( 0x00007f1ec2f02590, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionBezier", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee48ea10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "radius": SerField { key_py: Py( 0x00007f1ebe1163d0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe13d6f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "tangential_arc", }, expected_py: None, name: "literal['tangential_arc']", }, ), }, ), ), required: true, }, "offset": SerField { key_py: Py( 0x00007f1ec2f04dd0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionTangentialArc", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee39acc0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe186f70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "tangential_arc_to", }, expected_py: None, name: "literal['tangential_arc_to']", }, ), }, ), ), required: true, }, "angle_snap_increment": SerField { key_py: Py( 0x00007f1ebe13d870, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "to": SerField { key_py: Py( 0x00007f1ec211c720, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionTangentialArcTo", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee218690, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe5f4600, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "arc_to", }, expected_py: None, name: "literal['arc_to']", }, ), }, ), ), required: true, }, "end": SerField { key_py: Py( 0x00007f1ec2f02590, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "interior": SerField { key_py: Py( 0x00007f1ebe187070, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "relative": SerField { key_py: Py( 0x00007f1ec157be30, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionArcTo", }, ), ], name: "TaggedUnion[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionExtendPath", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee6f0240, ), serializer: Fields( GeneralFieldsSerializer { fields: { "faces": SerField { key_py: Py( 0x00007f1ebe5f55f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x000055d9ee56c8e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "bottom": SerField { key_py: Py( 0x00007f1ec1b73600, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "sides": SerField { key_py: Py( 0x00007f1ebeb656b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x000055d9ee58ee00, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "SideFace", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[SideFace]", }, ), ), required: true, }, "top": SerField { key_py: Py( 0x00007f1ec2f06a18, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "ExtrudedFaceInfo", }, ), }, ), }, ), ), required: true, }, "distance": SerField { key_py: Py( 0x00007f1ec1f842f0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf267450, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "extrude", }, expected_py: None, name: "literal['extrude']", }, ), }, ), ), required: true, }, "target": SerField { key_py: Py( 0x00007f1ec2f066d8, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionExtrude", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee6f6690, ), serializer: Fields( GeneralFieldsSerializer { fields: { "trajectory": SerField { key_py: Py( 0x00007f1ebe2ffbf0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f1ebe2ffbb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "sectional": SerField { key_py: Py( 0x00007f1ebe2ffb70, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf2881e0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "sweep", }, expected_py: None, name: "literal['sweep']", }, ), }, ), ), required: true, }, "target": SerField { key_py: Py( 0x00007f1ec2f066d8, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionSweep", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee6f9ba0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "axis": SerField { key_py: Py( 0x00007f1ebf25cea0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "axis_is_2d": SerField { key_py: Py( 0x00007f1ebe2ffcb0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "target": SerField { key_py: Py( 0x00007f1ec2f066d8, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "origin": SerField { key_py: Py( 0x00007f1ec2f050a8, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf26de90, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "revolve", }, expected_py: None, name: "literal['revolve']", }, ), }, ), ), required: true, }, "angle": SerField { key_py: Py( 0x00007f1ec0d7d080, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f1ebe2ffbb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 7, }, ), has_extra: false, root_model: false, name: "OptionRevolve", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee6fffb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "shell_thickness": SerField { key_py: Py( 0x00007f1ebe2ffdf0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "hollow": SerField { key_py: Py( 0x00007f1ebe5f6160, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2eb99e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed64970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_shell_face", }, expected_py: None, name: "literal['solid3d_shell_face']", }, ), }, ), ), required: true, }, "face_ids": SerField { key_py: Py( 0x00007f1ebe2ffdb0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionSolid3DShellFace", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee703790, ), serializer: Fields( GeneralFieldsSerializer { fields: { "target": SerField { key_py: Py( 0x00007f1ec2f066d8, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee62b70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "revolve_about_edge", }, expected_py: None, name: "literal['revolve_about_edge']", }, ), }, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f1ebe2ffbb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "angle": SerField { key_py: Py( 0x00007f1ec0d7d080, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionRevolveAboutEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee707c30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "section_ids": SerField { key_py: Py( 0x00007f1ec0a932b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "bez_approximate_rational": SerField { key_py: Py( 0x00007f1ebe2d88a0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f1ebe2ffbb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "v_degree": SerField { key_py: Py( 0x00007f1ebe1002b0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "base_curve_index": SerField { key_py: Py( 0x00007f1ebe1001f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf269740, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "loft", }, expected_py: None, name: "literal['loft']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "OptionLoft", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee70bb80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf564030, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "close_path", }, expected_py: None, name: "literal['close_path']", }, ), }, ), ), required: true, }, "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionClosePath", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee70dba0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "interaction": SerField { key_py: Py( 0x00007f1ec1f78b70, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebefa5e30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "camera_drag_start", }, expected_py: None, name: "literal['camera_drag_start']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionCameraDragStart", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee76f960, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebefa6970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "camera_drag_move", }, expected_py: None, name: "literal['camera_drag_move']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "interaction": SerField { key_py: Py( 0x00007f1ec1f78b70, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f1ec2f05e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionCameraDragMove", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee773fb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "interaction": SerField { key_py: Py( 0x00007f1ec1f78b70, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebefa43b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "camera_drag_end", }, expected_py: None, name: "literal['camera_drag_end']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionCameraDragEnd", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee777a90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49890, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_get_settings", }, expected_py: None, name: "literal['default_camera_get_settings']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraGetSettings", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee779880, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed5d530, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_get_view", }, expected_py: None, name: "literal['default_camera_get_view']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraGetView", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee77b790, ), serializer: Fields( GeneralFieldsSerializer { fields: { "view": SerField { key_py: Py( 0x00007f1ec1fa6520, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9ee3dd330, ), serializer: Fields( GeneralFieldsSerializer { fields: { "ortho_scale_factor": SerField { key_py: Py( 0x00007f1ebe35d170, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "pivot_rotation": SerField { key_py: Py( 0x00007f1ebe35d1f0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[float]", }, ), ), required: true, }, "pivot_position": SerField { key_py: Py( 0x00007f1ebe35d1b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[float]", }, ), ), required: true, }, "fov_y": SerField { key_py: Py( 0x00007f1ebeddfde0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "eye_offset": SerField { key_py: Py( 0x00007f1ebe35c3f0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "is_ortho": SerField { key_py: Py( 0x00007f1ebe35d030, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "ortho_scale_enabled": SerField { key_py: Py( 0x00007f1ebe35d0b0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "world_coord_system": SerField { key_py: Py( 0x00007f1ebe35e270, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee3e9000, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 8, }, ), has_extra: false, root_model: false, name: "CameraViewState", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed5fc30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_set_view", }, expected_py: None, name: "literal['default_camera_set_view']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraSetView", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7811f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "sequence": SerField { key_py: Py( 0x00007f1ec2f05e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed5fab0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_look_at", }, expected_py: None, name: "literal['default_camera_look_at']", }, ), }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f1ec2820180, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "up": SerField { key_py: Py( 0x00007f1ec0d2eeb0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "vantage": SerField { key_py: Py( 0x00007f1ebebe5230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraLookAt", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7862a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "z_near": SerField { key_py: Py( 0x00007f1ebe5f7d80, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "z_far": SerField { key_py: Py( 0x00007f1ebe5f7c90, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "vantage": SerField { key_py: Py( 0x00007f1ebebe5230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f1ec2820180, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "fov_y": SerField { key_py: Py( 0x00007f1ebeddfde0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49a70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_perspective_settings", }, expected_py: None, name: "literal['default_camera_perspective_settings']", }, ), }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f1ec2f05e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "up": SerField { key_py: Py( 0x00007f1ec0d2eeb0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 8, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraPerspectiveSettings", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee78dd30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed5fb30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_zoom", }, expected_py: None, name: "literal['default_camera_zoom']", }, ), }, ), ), required: true, }, "magnitude": SerField { key_py: Py( 0x00007f1ec0c2ec70, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraZoom", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee78fab0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee66430, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "export2d", }, expected_py: None, name: "literal['export2d']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "format": SerField { key_py: Py( 0x00007f1ec2f02e10, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9ee61c9d0, ), serializer: TaggedUnion( TaggedUnionSerializer { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: { "dxf": 0, }, choices: [ Model( ModelSerializer { class: Py( 0x000055d9ee6b6140, ), serializer: Fields( GeneralFieldsSerializer { fields: { "storage": SerField { key_py: Py( 0x00007f1ec0c69170, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9ee719a50, ), serializer: Fields( GeneralFieldsSerializer { fields: {}, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 0, }, ), has_extra: false, root_model: false, name: "DxfData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeb6b4b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "dxf", }, expected_py: None, name: "literal['dxf']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDxf", }, ), ], name: "TaggedUnion[OptionDxf]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[OptionDxf, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionExport2D", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee795270, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee67ef0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "export3d", }, expected_py: None, name: "literal['export3d']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "format": SerField { key_py: Py( 0x00007f1ec2f02e10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionExport3D", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7b3b90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec1844840, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "export", }, expected_py: None, name: "literal['export']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "format": SerField { key_py: Py( 0x00007f1ec2f02e10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionExport", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7d24b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70930, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_parent_id", }, expected_py: None, name: "literal['entity_get_parent_id']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionEntityGetParentId", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee4880e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70730, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_num_children", }, expected_py: None, name: "literal['entity_get_num_children']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionEntityGetNumChildren", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7d7150, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "child_index": SerField { key_py: Py( 0x00007f1ebe1119f0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70470, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_child_uuid", }, expected_py: None, name: "literal['entity_get_child_uuid']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionEntityGetChildUuid", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7d97b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee4a010, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_all_child_uuids", }, expected_py: None, name: "literal['entity_get_all_child_uuids']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionEntityGetAllChildUuids", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7db8f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70af0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_sketch_paths", }, expected_py: None, name: "literal['entity_get_sketch_paths']", }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionEntityGetSketchPaths", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7dda50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id2": SerField { key_py: Py( 0x00007f1ebe111eb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee705b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_distance", }, expected_py: None, name: "literal['entity_get_distance']", }, ), }, ), ), required: true, }, "distance_type": SerField { key_py: Py( 0x00007f1ebee715b0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9ee4e8310, ), serializer: TaggedUnion( TaggedUnionSerializer { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: { "euclidean": 0, "on_axis": 1, }, choices: [ Model( ModelSerializer { class: Py( 0x000055d9ee510990, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe4d8ab0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "euclidean", }, expected_py: None, name: "literal['euclidean']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionEuclidean", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee4e6df0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "axis": SerField { key_py: Py( 0x00007f1ebf25cea0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee519c40, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed24330, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "on_axis", }, expected_py: None, name: "literal['on_axis']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionOnAxis", }, ), ], name: "TaggedUnion[OptionEuclidean, OptionOnAxis]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionEuclidean, OptionOnAxis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "entity_id1": SerField { key_py: Py( 0x00007f1ebe111e70, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionEntityGetDistance", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7e3e70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee701f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_clone", }, expected_py: None, name: "literal['entity_clone']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionEntityClone", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7e5a10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee4a060, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_linear_pattern_transform", }, expected_py: None, name: "literal['entity_linear_pattern_transform']", }, ), }, ), ), required: true, }, "transforms": SerField { key_py: Py( 0x00007f1ec1b6a7f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe1bf740, ), ), serializer: List( ListSerializer { item_serializer: List( ListSerializer { item_serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[list[definition-ref]]", }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "transform": SerField { key_py: Py( 0x00007f1ec19fceb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe1c6280, ), ), serializer: List( ListSerializer { item_serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[definition-ref]", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionEntityLinearPatternTransform", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7f6580, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "num_repetitions": SerField { key_py: Py( 0x00007f1ebe1121f0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "spacing": SerField { key_py: Py( 0x00007f1ec0cf5bf0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70bf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_linear_pattern", }, expected_py: None, name: "literal['entity_linear_pattern']", }, ), }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f1ebf25cea0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionEntityLinearPattern", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7fa5f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "arc_degrees": SerField { key_py: Py( 0x00007f1ebe1123b0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f1ec2820180, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "num_repetitions": SerField { key_py: Py( 0x00007f1ebe1121f0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70130, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_circular_pattern", }, expected_py: None, name: "literal['entity_circular_pattern']", }, ), }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f1ebf25cea0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "rotate_duplicates": SerField { key_py: Py( 0x00007f1ebe112470, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 7, }, ), has_extra: false, root_model: false, name: "OptionEntityCircularPattern", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7feff0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "length": SerField { key_py: Py( 0x00007f1ec2f04020, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "revolutions": SerField { key_py: Py( 0x00007f1ebe1126b0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "start_angle": SerField { key_py: Py( 0x00007f1ebe112730, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe2400c0, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "cylinder_id": SerField { key_py: Py( 0x00007f1ebe112630, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee70fb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_make_helix", }, expected_py: None, name: "literal['entity_make_helix']", }, ), }, ), ), required: true, }, "is_clockwise": SerField { key_py: Py( 0x00007f1ebe112670, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "OptionEntityMakeHelix", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8037f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "start_angle": SerField { key_py: Py( 0x00007f1ebe112730, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe1c7280, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f1ebf25cea0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "is_clockwise": SerField { key_py: Py( 0x00007f1ebe112670, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "length": SerField { key_py: Py( 0x00007f1ec2f04020, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f1ec2820180, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "radius": SerField { key_py: Py( 0x00007f1ebe1163d0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee4a100, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_make_helix_from_params", }, expected_py: None, name: "literal['entity_make_helix_from_params']", }, ), }, ), ), required: true, }, "revolutions": SerField { key_py: Py( 0x00007f1ebe1126b0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 8, }, ), has_extra: false, root_model: false, name: "OptionEntityMakeHelixFromParams", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee80ae70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "is_clockwise": SerField { key_py: Py( 0x00007f1ebe112670, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "radius": SerField { key_py: Py( 0x00007f1ebe1163d0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "revolutions": SerField { key_py: Py( 0x00007f1ebe1126b0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "length": SerField { key_py: Py( 0x00007f1ec2f04020, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "start_angle": SerField { key_py: Py( 0x00007f1ebe112730, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe1d11c0, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee4a150, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_make_helix_from_edge", }, expected_py: None, name: "literal['entity_make_helix_from_edge']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 7, }, ), has_extra: false, root_model: false, name: "OptionEntityMakeHelixFromEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7427f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "axis": SerField { key_py: Py( 0x00007f1ebf25cea0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee65170, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_mirror", }, expected_py: None, name: "literal['entity_mirror']", }, ), }, ), ), required: true, }, "ids": SerField { key_py: Py( 0x00007f1ec1f17c90, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "point": SerField { key_py: Py( 0x00007f1ec0b141e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionEntityMirror", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8156c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee4a1f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_mirror_across_edge", }, expected_py: None, name: "literal['entity_mirror_across_edge']", }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "ids": SerField { key_py: Py( 0x00007f1ec1f17c90, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionEntityMirrorAcrossEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee817df0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "selection_type": SerField { key_py: Py( 0x00007f1ebe112db0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63530, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_with_point", }, expected_py: None, name: "literal['select_with_point']", }, ), }, ), ), required: true, }, "selected_at_window": SerField { key_py: Py( 0x00007f1ebe112d70, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSelectWithPoint", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee827190, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entities": SerField { key_py: Py( 0x00007f1ec0b97130, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63270, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_add", }, expected_py: None, name: "literal['select_add']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSelectAdd", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee829780, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee633f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_remove", }, expected_py: None, name: "literal['select_remove']", }, ), }, ), ), required: true, }, "entities": SerField { key_py: Py( 0x00007f1ec0b97130, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSelectRemove", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee82bd70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63070, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "scene_clear_all", }, expected_py: None, name: "literal['scene_clear_all']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionSceneClearAll", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee82dc60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63470, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_replace", }, expected_py: None, name: "literal['select_replace']", }, ), }, ), ), required: true, }, "entities": SerField { key_py: Py( 0x00007f1ec0b97130, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSelectReplace", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee82ff10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "selected_at_window": SerField { key_py: Py( 0x00007f1ebe112d70, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f1ec2f05e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee666f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "highlight_set_entity", }, expected_py: None, name: "literal['highlight_set_entity']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionHighlightSetEntity", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee834020, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entities": SerField { key_py: Py( 0x00007f1ec0b97130, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee667f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "highlight_set_entities", }, expected_py: None, name: "literal['highlight_set_entities']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionHighlightSetEntities", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee836400, ), serializer: Fields( GeneralFieldsSerializer { fields: { "annotation_type": SerField { key_py: Py( 0x00007f1ec1f50830, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee076350, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "clobber": SerField { key_py: Py( 0x00007f1ebe117ea0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee60eb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "new_annotation", }, expected_py: None, name: "literal['new_annotation']", }, ), }, ), ), required: true, }, "options": SerField { key_py: Py( 0x00007f1ec2f05048, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionNewAnnotation", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee844cf0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "annotation_id": SerField { key_py: Py( 0x00007f1ebe137df0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "options": SerField { key_py: Py( 0x00007f1ec2f05048, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed86ff0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "update_annotation", }, expected_py: None, name: "literal['update_annotation']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionUpdateAnnotation", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee851480, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee71470, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "edge_lines_visible", }, expected_py: None, name: "literal['edge_lines_visible']", }, ), }, ), ), required: true, }, "hidden": SerField { key_py: Py( 0x00007f1ec1793120, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionEdgeLinesVisible", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8534d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "hidden": SerField { key_py: Py( 0x00007f1ec1793120, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee61270, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "object_visible", }, expected_py: None, name: "literal['object_visible']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionObjectVisible", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8558e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee61130, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "object_bring_to_front", }, expected_py: None, name: "literal['object_bring_to_front']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionObjectBringToFront", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee857a20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "metalness": SerField { key_py: Py( 0x00007f1ebe13c5f0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78030, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "object_set_material_params_pbr", }, expected_py: None, name: "literal['object_set_material_params_pbr']", }, ), }, ), ), required: true, }, "color": SerField { key_py: Py( 0x00007f1ec21d84e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "ambient_occlusion": SerField { key_py: Py( 0x00007f1ebe13c5b0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "roughness": SerField { key_py: Py( 0x00007f1ebe13c670, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "OptionObjectSetMaterialParamsPbr", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee85c7a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee66f30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "get_entity_type", }, expected_py: None, name: "literal['get_entity_type']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionGetEntityType", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee85e8f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78850, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_all_edge_faces", }, expected_py: None, name: "literal['solid3d_get_all_edge_faces']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetAllEdgeFaces", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee860de0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "hole_id": SerField { key_py: Py( 0x00007f1ebe138d80, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed64330, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid2d_add_hole", }, expected_py: None, name: "literal['solid2d_add_hole']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSolid2DAddHole", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8631d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "along_vector": SerField { key_py: Py( 0x00007f1ebe13cb30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee788a0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_all_opposite_edges", }, expected_py: None, name: "literal['solid3d_get_all_opposite_edges']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetAllOppositeEdges", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8677a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78a80, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_opposite_edge", }, expected_py: None, name: "literal['solid3d_get_opposite_edge']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetOppositeEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee86a3c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee789e0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_next_adjacent_edge", }, expected_py: None, name: "literal['solid3d_get_next_adjacent_edge']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetNextAdjacentEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee86d190, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78ad0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_prev_adjacent_edge", }, expected_py: None, name: "literal['solid3d_get_prev_adjacent_edge']", }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetPrevAdjacentEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee86fe50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_ids": SerField { key_py: Py( 0x00007f1ebe2ffdb0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed64630, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_common_edge", }, expected_py: None, name: "literal['solid3d_get_common_edge']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetCommonEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8725f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "cut_type": SerField { key_py: Py( 0x00007f1ebee1d470, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebec01d70, ), ), serializer: Enum( EnumSerializer { class: Py( 0x000055d9ee4e58d0, ), serializer: Some( Str( StrSerializer, ), ), }, ), }, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f1ebe2ffbb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed643f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_fillet_edge", }, expected_py: None, name: "literal['solid3d_fillet_edge']", }, ), }, ), ), required: true, }, "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "radius": SerField { key_py: Py( 0x00007f1ebe1163d0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 7, }, ), has_extra: false, root_model: false, name: "OptionSolid3DFilletEdge", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee87aff0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee67770, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_is_planar", }, expected_py: None, name: "literal['face_is_planar']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionFaceIsPlanar", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee87cdd0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee677f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_position", }, expected_py: None, name: "literal['face_get_position']", }, ), }, ), ), required: true, }, "uv": SerField { key_py: Py( 0x00007f1ebe13a190, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionFaceGetPosition", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee880750, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee67970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_center", }, expected_py: None, name: "literal['face_get_center']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionFaceGetCenter", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8827b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee678b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_gradient", }, expected_py: None, name: "literal['face_get_gradient']", }, ), }, ), ), required: true, }, "uv": SerField { key_py: Py( 0x00007f1ebe13a190, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionFaceGetGradient", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee886130, ), serializer: Fields( GeneralFieldsSerializer { fields: { "front": SerField { key_py: Py( 0x00007f1ebe13a640, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63630, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "send_object", }, expected_py: None, name: "literal['send_object']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSendObject", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8884c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee655b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_set_opacity", }, expected_py: None, name: "literal['entity_set_opacity']", }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "opacity": SerField { key_py: Py( 0x00007f1ec1514ab0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionEntitySetOpacity", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee88a9b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "fade_in": SerField { key_py: Py( 0x00007f1ebe13ab20, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "duration_seconds": SerField { key_py: Py( 0x00007f1ebe13dbb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebecf6f50, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee702f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_fade", }, expected_py: None, name: "literal['entity_fade']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionEntityFade", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee88d840, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee602f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "make_plane", }, expected_py: None, name: "literal['make_plane']", }, ), }, ), ), required: true, }, "size": SerField { key_py: Py( 0x00007f1ec2f060c0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "origin": SerField { key_py: Py( 0x00007f1ec2f050a8, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "x_axis": SerField { key_py: Py( 0x00007f1ebeb654d0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "y_axis": SerField { key_py: Py( 0x00007f1ebeb64f60, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "hide": SerField { key_py: Py( 0x00007f1ec1e3a850, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Bool( BoolSerializer, ), }, ), }, ), ), required: true, }, "clobber": SerField { key_py: Py( 0x00007f1ebe117ea0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 7, }, ), has_extra: false, root_model: false, name: "OptionMakePlane", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee893190, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee624b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "plane_set_color", }, expected_py: None, name: "literal['plane_set_color']", }, ), }, ), ), required: true, }, "plane_id": SerField { key_py: Py( 0x00007f1ebe13df30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "color": SerField { key_py: Py( 0x00007f1ec21d84e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionPlaneSetColor", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee896f50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63f70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_tool", }, expected_py: None, name: "literal['set_tool']", }, ), }, ), ), required: true, }, "tool": SerField { key_py: Py( 0x00007f1ebe13b390, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee7437f0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetTool", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8990d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee60db0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mouse_move", }, expected_py: None, name: "literal['mouse_move']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f1ec2f05e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionMouseMove", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee89d000, ), serializer: Fields( GeneralFieldsSerializer { fields: { "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee60d30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mouse_click", }, expected_py: None, name: "literal['mouse_click']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionMouseClick", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8a0420, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed64230, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "sketch_mode_disable", }, expected_py: None, name: "literal['sketch_mode_disable']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionSketchModeDisable", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8a1ee0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee66df0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "get_sketch_mode_plane", }, expected_py: None, name: "literal['get_sketch_mode_plane']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionGetSketchModePlane", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8a3dd0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf5645b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_set_constraint", }, expected_py: None, name: "literal['curve_set_constraint']", }, ), }, ), ), required: true, }, "constraint_bound": SerField { key_py: Py( 0x00007f1ebe13e8b0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee6cd7d0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "constraint_type": SerField { key_py: Py( 0x00007f1ebe13e930, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee760f70, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionCurveSetConstraint", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8a7080, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee71230, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "enable_sketch_mode", }, expected_py: None, name: "literal['enable_sketch_mode']", }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "planar_normal": SerField { key_py: Py( 0x00007f1ebe13ec30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "ortho": SerField { key_py: Py( 0x00007f1ebeddff30, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "animated": SerField { key_py: Py( 0x00007f1ebe13ebb0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "adjust_camera": SerField { key_py: Py( 0x00007f1ebe13eb70, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "OptionEnableSketchMode", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8ab9a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee712f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "enable_dry_run", }, expected_py: None, name: "literal['enable_dry_run']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionEnableDryRun", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee2c7d30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed5f5f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "disable_dry_run", }, expected_py: None, name: "literal['disable_dry_run']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionDisableDryRun", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8aeee0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "color": SerField { key_py: Py( 0x00007f1ec21d84e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_background_color", }, expected_py: None, name: "literal['set_background_color']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetBackgroundColor", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8b2a30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "color": SerField { key_py: Py( 0x00007f1ec21d84e0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee786c0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_current_tool_properties", }, expected_py: None, name: "literal['set_current_tool_properties']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetCurrentToolProperties", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8b6d20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "color": SerField { key_py: Py( 0x00007f1ec21d84e0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78760, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_default_system_properties", }, expected_py: None, name: "literal['set_default_system_properties']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetDefaultSystemProperties", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8baf60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf564430, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_type", }, expected_py: None, name: "literal['curve_get_type']", }, ), }, ), ), required: true, }, "curve_id": SerField { key_py: Py( 0x00007f1ebe437bf0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionCurveGetType", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee410280, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee496b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_control_points", }, expected_py: None, name: "literal['curve_get_control_points']", }, ), }, ), ), required: true, }, "curve_id": SerField { key_py: Py( 0x00007f1ebe437bf0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionCurveGetControlPoints", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8c51f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "use_plane_coords": SerField { key_py: Py( 0x00007f1ebe13f870, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f1ebe494bb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee62770, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "project_entity_to_plane", }, expected_py: None, name: "literal['project_entity_to_plane']", }, ), }, ), ), required: true, }, "plane_id": SerField { key_py: Py( 0x00007f1ebe13df30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionProjectEntityToPlane", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8c7e90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "points": SerField { key_py: Py( 0x00007f1ebe140ed0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[definition-ref]", }, ), ), required: true, }, "plane_id": SerField { key_py: Py( 0x00007f1ebe13df30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee62870, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "project_points_to_plane", }, expected_py: None, name: "literal['project_points_to_plane']", }, ), }, ), ), required: true, }, "use_plane_coords": SerField { key_py: Py( 0x00007f1ebe13f870, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionProjectPointsToPlane", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8cc060, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed65270, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "take_snapshot", }, expected_py: None, name: "literal['take_snapshot']", }, ), }, ), ), required: true, }, "format": SerField { key_py: Py( 0x00007f1ec2f02e10, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee622640, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionTakeSnapshot", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8ce330, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee601b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "make_axes_gizmo", }, expected_py: None, name: "literal['make_axes_gizmo']", }, ), }, ), ), required: true, }, "gizmo_mode": SerField { key_py: Py( 0x00007f1ebe13fc70, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "clobber": SerField { key_py: Py( 0x00007f1ebe117ea0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionMakeAxesGizmo", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8d07c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee61cf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_info", }, expected_py: None, name: "literal['path_get_info']", }, ), }, ), ), required: true, }, "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionPathGetInfo", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8d28b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "vertex_ids": SerField { key_py: Py( 0x00007f1ebe13ffb0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78300, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_curve_uuids_for_vertices", }, expected_py: None, name: "literal['path_get_curve_uuids_for_vertices']", }, ), }, ), ), required: true, }, "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionPathGetCurveUuidsForVertices", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8d50c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee61bf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_curve_uuid", }, expected_py: None, name: "literal['path_get_curve_uuid']", }, ), }, ), ), required: true, }, "index": SerField { key_py: Py( 0x00007f1ec2820240, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionPathGetCurveUuid", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8d76d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee61e70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_vertex_uuids", }, expected_py: None, name: "literal['path_get_vertex_uuids']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionPathGetVertexUuids", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8d9810, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee783a0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_sketch_target_uuid", }, expected_py: None, name: "literal['path_get_sketch_target_uuid']", }, ), }, ), ), required: true, }, "path_id": SerField { key_py: Py( 0x00007f1ebeb65620, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionPathGetSketchTargetUuid", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8db990, ), serializer: Fields( GeneralFieldsSerializer { fields: { "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee668f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "handle_mouse_drag_start", }, expected_py: None, name: "literal['handle_mouse_drag_start']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionHandleMouseDragStart", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8deed0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee669f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "handle_mouse_drag_move", }, expected_py: None, name: "literal['handle_mouse_drag_move']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f1ec2f05e10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionHandleMouseDragMove", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8e2cb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee66af0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "handle_mouse_drag_end", }, expected_py: None, name: "literal['handle_mouse_drag_end']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionHandleMouseDragEnd", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8e61d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_ids": SerField { key_py: Py( 0x00007f1ebe184eb0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee62a70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "remove_scene_objects", }, expected_py: None, name: "literal['remove_scene_objects']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionRemoveSceneObjects", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8e8580, ), serializer: Fields( GeneralFieldsSerializer { fields: { "plane_id": SerField { key_py: Py( 0x00007f1ebe13df30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee784e0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "plane_intersect_and_project", }, expected_py: None, name: "literal['plane_intersect_and_project']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f1ec1843870, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionPlaneIntersectAndProject", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8e9ff0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "curve_id": SerField { key_py: Py( 0x00007f1ebe437bf0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf567230, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_end_points", }, expected_py: None, name: "literal['curve_get_end_points']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionCurveGetEndPoints", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8edea0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "fps": SerField { key_py: Py( 0x00007f1ebe1428b0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "height": SerField { key_py: Py( 0x00007f1ec1845140, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee62970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "reconfigure_stream", }, expected_py: None, name: "literal['reconfigure_stream']", }, ), }, ), ), required: true, }, "bitrate": SerField { key_py: Py( 0x00007f1ebe1427c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "width": SerField { key_py: Py( 0x00007f1ec2823810, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionReconfigureStream", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8f1570, ), serializer: Fields( GeneralFieldsSerializer { fields: { "format": SerField { key_py: Py( 0x00007f1ec2f02e10, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055d9edd050a0, ), serializer: TaggedUnion( TaggedUnionSerializer { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: { "sldprt": 4, "stl": 6, "fbx": 0, "step": 5, "gltf": 1, "obj": 2, "ply": 3, }, choices: [ Model( ModelSerializer { class: Py( 0x000055d9ee1c1a90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeec8f30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "fbx", }, expected_py: None, name: "literal['fbx']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionFbx", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee2b2340, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeec9110, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "gltf", }, expected_py: None, name: "literal['gltf']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionGltf", }, ), Model( ModelSerializer { class: Py( 0x000055d9edd01a50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "units": SerField { key_py: Py( 0x00007f1ec1db39c0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f1ebeec9a40, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2f04d70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "obj", }, expected_py: None, name: "literal['obj']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionObj", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee310be0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "units": SerField { key_py: Py( 0x00007f1ec1db39c0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeec92c0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "ply", }, expected_py: None, name: "literal['ply']", }, ), }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f1ebeec9a40, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionPly", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee310800, ), serializer: Fields( GeneralFieldsSerializer { fields: { "split_closed_faces": SerField { key_py: Py( 0x00007f1ebeccc5b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2eb99e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeec94d0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "sldprt", }, expected_py: None, name: "literal['sldprt']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSldprt", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee310420, ), serializer: Fields( GeneralFieldsSerializer { fields: { "split_closed_faces": SerField { key_py: Py( 0x00007f1ebeccc5b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2eb99e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2f06460, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "step", }, expected_py: None, name: "literal['step']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionStep", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee0e7350, ), serializer: Fields( GeneralFieldsSerializer { fields: { "units": SerField { key_py: Py( 0x00007f1ec1db39c0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeec94a0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "stl", }, expected_py: None, name: "literal['stl']", }, ), }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f1ebeec9a40, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionStl", }, ), ], name: "TaggedUnion[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "files": SerField { key_py: Py( 0x00007f1ec2912400, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x000055d9ee623110, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f1ec2f01ed0, ), alias: None, alias_py: None, serializer: Some( Bytes( BytesSerializer { bytes_mode: Utf8, }, ), ), required: true, }, "path": SerField { key_py: Py( 0x00007f1ec2f05240, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "ImportFile", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[ImportFile]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee660f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "import_files", }, expected_py: None, name: "literal['import_files']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionImportFiles", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee9042f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63cf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_scene_units", }, expected_py: None, name: "literal['set_scene_units']", }, ), }, ), ), required: true, }, "unit": SerField { key_py: Py( 0x00007f1ec1842550, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetSceneUnits", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee906a80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "output_unit": SerField { key_py: Py( 0x00007f1ebebb86b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "material_density": SerField { key_py: Py( 0x00007f1ebebb8970, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebf269aa0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mass", }, expected_py: None, name: "literal['mass']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "material_density_unit": SerField { key_py: Py( 0x00007f1ebebb89f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionMass", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee90a080, ), serializer: Fields( GeneralFieldsSerializer { fields: { "output_unit": SerField { key_py: Py( 0x00007f1ebebb86b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "material_mass_unit": SerField { key_py: Py( 0x00007f1ebecc8130, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "material_mass": SerField { key_py: Py( 0x00007f1ebecc80b0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec00d7660, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "density", }, expected_py: None, name: "literal['density']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 5, }, ), has_extra: false, root_model: false, name: "OptionDensity", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee90d900, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2f06e78, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "volume", }, expected_py: None, name: "literal['volume']", }, ), }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f1ebebb86b0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee288050, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionVolume", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee910760, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebefa4430, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "center_of_mass", }, expected_py: None, name: "literal['center_of_mass']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f1ebebb86b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionCenterOfMass", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee9131b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed651f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "surface_area", }, expected_py: None, name: "literal['surface_area']", }, ), }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f1ebebb86b0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055d9ee27cb20, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f1ebf0f9ab0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSurfaceArea", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee915d60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed5e730, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_focus_on", }, expected_py: None, name: "literal['default_camera_focus_on']", }, ), }, ), ), required: true, }, "uuid": SerField { key_py: Py( 0x00007f1ec192c5a0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraFocusOn", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee917ee0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63eb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_selection_type", }, expected_py: None, name: "literal['set_selection_type']", }, ), }, ), ), required: true, }, "selection_type": SerField { key_py: Py( 0x00007f1ebe112db0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetSelectionType", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee91a1f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "filter": SerField { key_py: Py( 0x00007f1ec2f02c48, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Enum( EnumSerializer { class: Py( 0x000055d9ee555d30, ), serializer: Some( Str( StrSerializer, ), ), }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[enum]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63db0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_selection_filter", }, expected_py: None, name: "literal['set_selection_filter']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionSetSelectionFilter", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee7d4690, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49b60, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_set_orthographic", }, expected_py: None, name: "literal['default_camera_set_orthographic']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraSetOrthographic", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee91ff90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49c00, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_set_perspective", }, expected_py: None, name: "literal['default_camera_set_perspective']", }, ), }, ), ), required: true, }, "parameters": SerField { key_py: Py( 0x00007f1ec2197b30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x000055d9ee73cd90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "fov_y": SerField { key_py: Py( 0x00007f1ebeddfde0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "z_far": SerField { key_py: Py( 0x00007f1ebe5f7c90, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "z_near": SerField { key_py: Py( 0x00007f1ebe5f7d80, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "PerspectiveCameraParameters", }, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraSetPerspective", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee925350, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49840, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_center_to_selection", }, expected_py: None, name: "literal['default_camera_center_to_selection']", }, ), }, ), ), required: true, }, "camera_movement": SerField { key_py: Py( 0x00007f1ebefa7030, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebebe5230, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraCenterToSelection", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee92fab0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee49700, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_center_to_scene", }, expected_py: None, name: "literal['default_camera_center_to_scene']", }, ), }, ), ), required: true, }, "camera_movement": SerField { key_py: Py( 0x00007f1ebefa7030, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebebe5230, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionDefaultCameraCenterToScene", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee9321a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed87bb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "zoom_to_fit", }, expected_py: None, name: "literal['zoom_to_fit']", }, ), }, ), ), required: true, }, "padding": SerField { key_py: Py( 0x00007f1ec21d9680, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebecf7290, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, "animated": SerField { key_py: Py( 0x00007f1ebe13ebb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2eb99e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "object_ids": SerField { key_py: Py( 0x00007f1ebe184eb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebe0f5d00, ), ), serializer: List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionZoomToFit", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee935e50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "animated": SerField { key_py: Py( 0x00007f1ebe13ebb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2eb99e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "padding": SerField { key_py: Py( 0x00007f1ec21d9680, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebecf7290, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee617f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "orient_to_face", }, expected_py: None, name: "literal['orient_to_face']", }, ), }, ), ), required: true, }, "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionOrientToFace", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee9390c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebed87670, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "view_isometric", }, expected_py: None, name: "literal['view_isometric']", }, ), }, ), ), required: true, }, "padding": SerField { key_py: Py( 0x00007f1ec21d9680, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebecf7290, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "OptionViewIsometric", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee93b3a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge_id": SerField { key_py: Py( 0x00007f1ebe5f6460, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78940, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_extrusion_face_info", }, expected_py: None, name: "literal['solid3d_get_extrusion_face_info']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSolid3DGetExtrusionFaceInfo", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee93d990, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee632f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_clear", }, expected_py: None, name: "literal['select_clear']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionSelectClear", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee93f3f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63370, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_get", }, expected_py: None, name: "literal['select_get']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionSelectGet", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee9413b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee66eb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "get_num_objects", }, expected_py: None, name: "literal['get_num_objects']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "OptionGetNumObjects", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee942fb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee63c30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_object_transform", }, expected_py: None, name: "literal['set_object_transform']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "transforms": SerField { key_py: Py( 0x00007f1ec1b6a7f0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x000055d9ee40d9b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "translate": SerField { key_py: Py( 0x00007f1ec2f06af0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "scale": SerField { key_py: Py( 0x00007f1ec1515170, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "rotate_angle_axis": SerField { key_py: Py( 0x00007f1ebe373670, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "rotate_rpy": SerField { key_py: Py( 0x00007f1ebe3736f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "ComponentTransform", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[ComponentTransform]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSetObjectTransform", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee8109d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "offset": SerField { key_py: Py( 0x00007f1ec2f04dd0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee60270, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "make_offset_path", }, expected_py: None, name: "literal['make_offset_path']", }, ), }, ), ), required: true, }, "face_id": SerField { key_py: Py( 0x00007f1ebeddda10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ec2ed0400, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "OptionMakeOffsetPath", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee94d9d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebeddaab0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "add_hole_from_offset", }, expected_py: None, name: "literal['add_hole_from_offset']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f1ec0d43c30, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "offset": SerField { key_py: Py( 0x00007f1ec2f04dd0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionAddHoleFromOffset", }, ), Model( ModelSerializer { class: Py( 0x000055d9ee9502b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "reference_id": SerField { key_py: Py( 0x00007f1ebe187270, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee78800, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_grid_reference_plane", }, expected_py: None, name: "literal['set_grid_reference_plane']", }, ), }, ), ), required: true, }, "grid_id": SerField { key_py: Py( 0x00007f1ebe189d70, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionSetGridReferencePlane", }, ), ], name: "TaggedUnion[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f1ec2f06bf0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f1ebee60bb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "modeling_cmd_req", }, expected_py: None, name: "literal['modeling_cmd_req']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "OptionModelingCmdReq", }, ), definitions=[Model(ModelSerializer { class: Py(0x55d9ee2a8f10), serializer: Fields(GeneralFieldsSerializer { fields: {"index": SerField { key_py: Py(0x7f1ec2820240), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebed5e870)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"mesh_by_index"}, expected_py: None, name: "literal['mesh_by_index']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionMeshByIndex" }), Enum(EnumSerializer { class: Py(0x55d9ee2a92f0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee1ee380), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebeec94a0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"stl"}, expected_py: None, name: "literal['stl']" }) })), required: true }, "units": SerField { key_py: Py(0x7f1ec1db39c0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "coords": SerField { key_py: Py(0x7f1ebeec9a40), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "storage": SerField { key_py: Py(0x7f1ec0c69170), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "selection": SerField { key_py: Py(0x7f1ebee635b0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "OptionStl" }), Model(ModelSerializer { class: Py(0x55d9edd5ec20), serializer: Fields(GeneralFieldsSerializer { fields: {"unit": SerField { key_py: Py(0x7f1ec1842550), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "value": SerField { key_py: Py(0x7f1ec2f06de8), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "Angle" }), Enum(EnumSerializer { class: Py(0x55d9ee1c16b0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9edf86520), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebec85070)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"scene_by_index"}, expected_py: None, name: "literal['scene_by_index']" }) })), required: true }, "index": SerField { key_py: Py(0x7f1ec2820240), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionSceneByIndex" }), Model(ModelSerializer { class: Py(0x55d9edf84b90), serializer: TaggedUnion(TaggedUnionSerializer { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f1ec2f06bf0), path: LookupPath([S("type", Py(0x7f1ec2f06bf0))]) }), lookup: {"mesh_by_index": 3, "default_scene": 0, "mesh_by_name": 4, "scene_by_name": 2, "scene_by_index": 1}, choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "TaggedUnion[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), Model(ModelSerializer { class: Py(0x55d9ee0d95b0), serializer: Fields(GeneralFieldsSerializer { fields: {"selection": SerField { key_py: Py(0x7f1ebee635b0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "units": SerField { key_py: Py(0x7f1ec1db39c0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "coords": SerField { key_py: Py(0x7f1ebeec9a40), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "storage": SerField { key_py: Py(0x7f1ec0c69170), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebeec92c0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"ply"}, expected_py: None, name: "literal['ply']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "OptionPly" }), Enum(EnumSerializer { class: Py(0x55d9ee067310), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55d9ee280660), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55d9edf890f0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee19dff0), serializer: TaggedUnion(TaggedUnionSerializer { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f1ec2f06bf0), path: LookupPath([S("type", Py(0x7f1ec2f06bf0))]) }), lookup: {"ply": 3, "stl": 5, "gltf": 1, "obj": 2, "step": 4, "fbx": 0}, choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "TaggedUnion[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), Model(ModelSerializer { class: Py(0x55d9ee1cf980), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebeec9110)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"gltf"}, expected_py: None, name: "literal['gltf']" }) })), required: true }, "presentation": SerField { key_py: Py(0x7f1ebec87730), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "storage": SerField { key_py: Py(0x7f1ec0c69170), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "OptionGltf" }), Enum(EnumSerializer { class: Py(0x55d9ee2addd0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee069360), serializer: Fields(GeneralFieldsSerializer { fields: {"start": SerField { key_py: Py(0x7f1ec2f06338), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "end": SerField { key_py: Py(0x7f1ec2f02590), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "AnnotationLineEndOptions" }), Model(ModelSerializer { class: Py(0x55d9ee744520), serializer: Fields(GeneralFieldsSerializer { fields: {"scale": SerField { key_py: Py(0x7f1ec1515170), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebedda940)), serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) })), required: true }, "translate": SerField { key_py: Py(0x7f1ec2f06af0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebe147280)), serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) })), required: true }, "rotation": SerField { key_py: Py(0x7f1ec0b896b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebe185c40)), serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) })), required: true }, "replicate": SerField { key_py: Py(0x7f1ec0d88ef0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2eb99c0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Transform" }), Model(ModelSerializer { class: Py(0x55d9ee743fb0), serializer: Fields(GeneralFieldsSerializer { fields: {"origin": SerField { key_py: Py(0x7f1ec2f050a8), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebe5f6730)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"custom"}, expected_py: None, name: "literal['custom']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionCustom" }), Model(ModelSerializer { class: Py(0x55d9ee068140), serializer: Fields(GeneralFieldsSerializer { fields: {"point_size": SerField { key_py: Py(0x7f1ebe323cf0), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }, "text": SerField { key_py: Py(0x7f1ec2f068e8), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "y": SerField { key_py: Py(0x7f1ec2f08868), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "x": SerField { key_py: Py(0x7f1ec2f08838), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "AnnotationTextOptions" }), Model(ModelSerializer { class: Py(0x55d9ee743000), serializer: TaggedUnion(TaggedUnionSerializer { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f1ec2f06bf0), path: LookupPath([S("type", Py(0x7f1ec2f06bf0))]) }), lookup: {"local": 0, "global": 1, "custom": 2}, choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "TaggedUnion[definition-ref, definition-ref, definition-ref]" }), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), Model(ModelSerializer { class: Py(0x55d9edf847b0), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebed5cd30)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"mesh_by_name"}, expected_py: None, name: "literal['mesh_by_name']" }) })), required: true }, "name": SerField { key_py: Py(0x7f1ec2f04968), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionMeshByName" }), Model(ModelSerializer { class: Py(0x55d9ee743bd0), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2109320)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"global"}, expected_py: None, name: "literal['global']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 1 }), has_extra: false, root_model: false, name: "OptionGlobal" }), Enum(EnumSerializer { class: Py(0x55d9ee2a8890), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9edd61640), serializer: Fields(GeneralFieldsSerializer { fields: {"a": SerField { key_py: Py(0x7f1ec2f083e8), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "r": SerField { key_py: Py(0x7f1ec2f08718), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "b": SerField { key_py: Py(0x7f1ec2f08418), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "g": SerField { key_py: Py(0x7f1ec2f08508), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Color" }), Enum(EnumSerializer { class: Py(0x55d9edd62050), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9edd61a20), serializer: Fields(GeneralFieldsSerializer { fields: {"color": SerField { key_py: Py(0x7f1ec21d84e0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2ed0400)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "position": SerField { key_py: Py(0x7f1ec19b8030), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2ed0400)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "text": SerField { key_py: Py(0x7f1ec2f068e8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2ed0400)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "line_width": SerField { key_py: Py(0x7f1ebe321f30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2ed0400)), serializer: Nullable(NullableSerializer { serializer: Float(FloatSerializer { inf_nan_mode: Null }) }) })), required: true }, "line_ends": SerField { key_py: Py(0x7f1ebe321fb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2ed0400)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "AnnotationOptions" }), Enum(EnumSerializer { class: Py(0x55d9ee3ec200), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee7606e0), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f1ec2f08868), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f1ec2f08838), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "Point2d" }), Enum(EnumSerializer { class: Py(0x55d9ee1b8e90), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee29cf60), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebec86430)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"default_scene"}, expected_py: None, name: "literal['default_scene']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 1 }), has_extra: false, root_model: false, name: "OptionDefaultScene" }), Model(ModelSerializer { class: Py(0x55d9ee2a5340), serializer: Fields(GeneralFieldsSerializer { fields: {"name": SerField { key_py: Py(0x7f1ec2f04968), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebec87530)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"scene_by_name"}, expected_py: None, name: "literal['scene_by_name']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionSceneByName" }), Model(ModelSerializer { class: Py(0x55d9ee2a1b50), serializer: Fields(GeneralFieldsSerializer { fields: {"coords": SerField { key_py: Py(0x7f1ebeec9a40), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2f04d70)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"obj"}, expected_py: None, name: "literal['obj']" }) })), required: true }, "units": SerField { key_py: Py(0x7f1ec1db39c0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "OptionObj" }), Model(ModelSerializer { class: Py(0x55d9eddfea70), serializer: Fields(GeneralFieldsSerializer { fields: {"forward": SerField { key_py: Py(0x7f1ebf289500), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "up": SerField { key_py: Py(0x7f1ec0d2eeb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "System" }), Model(ModelSerializer { class: Py(0x55d9ee0df2d0), serializer: Fields(GeneralFieldsSerializer { fields: {"axis": SerField { key_py: Py(0x7f1ebf25cea0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "direction": SerField { key_py: Py(0x7f1ec1a17770), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "AxisDirectionPair" }), Enum(EnumSerializer { class: Py(0x55d9edd5e840), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee1e8fc0), serializer: Fields(GeneralFieldsSerializer { fields: {"coords": SerField { key_py: Py(0x7f1ebeec9a40), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec2f06460)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"step"}, expected_py: None, name: "literal['step']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionStep" }), Enum(EnumSerializer { class: Py(0x55d9ee1ce080), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee741080), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ec1ed0ea0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"local"}, expected_py: None, name: "literal['local']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 1 }), has_extra: false, root_model: false, name: "OptionLocal" }), Model(ModelSerializer { class: Py(0x55d9ee74ae10), serializer: Fields(GeneralFieldsSerializer { fields: {"angle": SerField { key_py: Py(0x7f1ec0d7d080), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "axis": SerField { key_py: Py(0x7f1ebf25cea0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "origin": SerField { key_py: Py(0x7f1ec2f050a8), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Rotation" }), Enum(EnumSerializer { class: Py(0x55d9ee284b00), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9ee1cf5a0), serializer: Fields(GeneralFieldsSerializer { fields: {"storage": SerField { key_py: Py(0x7f1ec0c69170), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "type": SerField { key_py: Py(0x7f1ec2f06bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f1ebeec8f30)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"fbx"}, expected_py: None, name: "literal['fbx']" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "OptionFbx" }), Enum(EnumSerializer { class: Py(0x55d9ee29d340), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55d9edd655a0), serializer: Fields(GeneralFieldsSerializer { fields: {"x": SerField { key_py: Py(0x7f1ec2f08838), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "y": SerField { key_py: Py(0x7f1ec2f08868), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f1ec2f08898), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" }), Enum(EnumSerializer { class: Py(0x55d9ee741ae0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55d9edd5e460), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55d9ee3dcf50), serializer: Some(Str(StrSerializer)) })])[source]
The
pydantic-core
SchemaSerializer
used to dump instances of the model.
- __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="OptionModelingCmdReq", validator=Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cmd", lookup_key: Simple { key: "cmd", py_key: Py( 0x00007f1ebd754c90, ), path: LookupPath( [ S( "cmd", Py( 0x00007f1ebd754cc0, ), ), ], ), }, name_py: Py( 0x00007f1ec254ce70, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "object_bring_to_front": 49, "select_get": 118, "select_replace": 42, "make_plane": 67, "default_camera_perspective_settings": 18, "path_get_vertex_uuids": 90, "send_object": 64, "solid3d_get_all_edge_faces": 52, "face_get_gradient": 63, "set_scene_units": 100, "export2d": 20, "entity_get_num_children": 24, "project_entity_to_plane": 83, "camera_drag_move": 12, "mouse_move": 70, "solid3d_get_extrusion_face_info": 116, "select_with_point": 38, "default_camera_set_perspective": 110, "default_camera_get_view": 15, "entity_make_helix": 33, "move_path_pen": 2, "zoom_to_fit": 113, "face_get_position": 61, "curve_get_end_points": 97, "mouse_click": 71, "path_get_info": 87, "volume": 103, "orient_to_face": 114, "revolve": 6, "center_of_mass": 104, "update_annotation": 46, "face_is_planar": 60, "extrude": 4, "entity_get_child_uuid": 25, "default_camera_set_view": 16, "plane_set_color": 68, "new_annotation": 45, "handle_mouse_drag_end": 94, "object_set_material_params_pbr": 50, "entity_get_all_child_uuids": 26, "solid3d_get_next_adjacent_edge": 56, "solid3d_get_all_opposite_edges": 54, "object_visible": 48, "solid2d_add_hole": 53, "highlight_set_entities": 44, "make_offset_path": 121, "set_default_system_properties": 80, "start_path": 1, "engine_util_evaluate_path": 0, "sketch_mode_disable": 72, "path_get_curve_uuid": 89, "view_isometric": 115, "highlight_set_entity": 43, "get_sketch_mode_plane": 73, "take_snapshot": 85, "set_grid_reference_plane": 123, "entity_linear_pattern_transform": 30, "loft": 9, "set_selection_filter": 108, "default_camera_look_at": 17, "close_path": 10, "solid3d_fillet_edge": 59, "make_axes_gizmo": 86, "entity_fade": 66, "entity_linear_pattern": 31, "handle_mouse_drag_move": 93, "set_selection_type": 107, "default_camera_center_to_scene": 112, "entity_circular_pattern": 32, "path_get_sketch_target_uuid": 91, "entity_clone": 29, "edge_lines_visible": 47, "enable_sketch_mode": 75, "remove_scene_objects": 95, "set_tool": 69, "curve_get_type": 81, "solid3d_shell_face": 7, "export": 22, "disable_dry_run": 77, "solid3d_get_common_edge": 58, "export3d": 21, "set_background_color": 78, "entity_set_opacity": 65, "reconfigure_stream": 98, "solid3d_get_opposite_edge": 55, "project_points_to_plane": 84, "solid3d_get_prev_adjacent_edge": 57, "set_object_transform": 120, "entity_make_helix_from_edge": 35, "get_entity_type": 51, "enable_dry_run": 76, "entity_make_helix_from_params": 34, "mass": 101, "default_camera_zoom": 19, "camera_drag_end": 13, "import_files": 99, "select_add": 39, "select_remove": 40, "add_hole_from_offset": 122, "scene_clear_all": 41, "default_camera_center_to_selection": 111, "revolve_about_edge": 8, "select_clear": 117, "curve_set_constraint": 74, "camera_drag_start": 11, "handle_mouse_drag_start": 92, "entity_get_sketch_paths": 27, "sweep": 5, "entity_get_parent_id": 23, "face_get_center": 62, "set_current_tool_properties": 79, "path_get_curve_uuids_for_vertices": 88, "surface_area": 105, "default_camera_focus_on": 106, "entity_get_distance": 28, "default_camera_get_settings": 14, "curve_get_control_points": 82, "default_camera_set_orthographic": 109, "density": 102, "entity_mirror_across_edge": 37, "plane_intersect_and_project": 96, "get_num_objects": 119, "entity_mirror": 36, "extend_path": 3, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735a40, ), ), values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_json", lookup_key: Simple { key: "path_json", py_key: Py( 0x00007f1ebd70bd30, ), path: LookupPath( [ S( "path_json", Py( 0x00007f1ebd708eb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2f74f0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "t", lookup_key: Simple { key: "t", py_key: Py( 0x00007f1ec2f08778, ), path: LookupPath( [ S( "t", Py( 0x00007f1ec2f08778, ), ), ], ), }, name_py: Py( 0x00007f1ec2f08778, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8e8330, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8e8270, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49ed0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "engine_util_evaluate_path": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebdb06880, ), ), values: [ Py( 0x00007f1ebee49ed0, ), ], }, expected_repr: "'engine_util_evaluate_path'", name: "literal['engine_util_evaluate_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['engine_util_evaluate_path']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEngineUtilEvaluatePath", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee73d170, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEngineUtilEvaluatePath", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8e8150, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8e81b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed64c30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "start_path": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85f000, ), ), values: [ Py( 0x00007f1ebed64c30, ), ], }, expected_repr: "'start_path'", name: "literal['start_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['start_path']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionStartPath", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee72b570, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionStartPath", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path", lookup_key: Simple { key: "path", py_key: Py( 0x00007f1ebd8e82d0, ), path: LookupPath( [ S( "path", Py( 0x00007f1ebd8e81e0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05240, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd751980, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "to", lookup_key: Simple { key: "to", py_key: Py( 0x00007f1ebd8e8210, ), path: LookupPath( [ S( "to", Py( 0x00007f1ebd8e82a0, ), ), ], ), }, name_py: Py( 0x00007f1ec211c720, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8e8240, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8e8090, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee60e30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "move_path_pen": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebdb07c80, ), ), values: [ Py( 0x00007f1ebee60e30, ), ], }, expected_repr: "'move_path_pen'", name: "literal['move_path_pen']", }, ), validate_default: false, copy_default: false, name: "default[literal['move_path_pen']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionMovePathPen", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6d7d80, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMovePathPen", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path", lookup_key: Simple { key: "path", py_key: Py( 0x00007f1ebd8e80c0, ), path: LookupPath( [ S( "path", Py( 0x00007f1ebd8e8060, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05240, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd769380, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "segment", lookup_key: Simple { key: "segment", py_key: Py( 0x00007f1ebd8ea8e0, ), path: LookupPath( [ S( "segment", Py( 0x00007f1ebd8ea910, ), ), ], ), }, name_py: Py( 0x00007f1ec1f551d0, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "tangential_arc": 3, "arc": 1, "bezier": 2, "tangential_arc_to": 4, "arc_to": 5, "line": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85c2c0, ), ), values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f1ebd8e8030, ), path: LookupPath( [ S( "end", Py( 0x00007f1ebd8e9f50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02590, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f1ebd70b2b0, ), path: LookupPath( [ S( "relative", Py( 0x00007f1ebd70b370, ), ), ], ), }, name_py: Py( 0x00007f1ec157be30, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8e9f80, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8e9fb0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2f040b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "line": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85d900, ), ), values: [ Py( 0x00007f1ec2f040b0, ), ], }, expected_repr: "'line'", name: "literal['line']", }, ), validate_default: false, copy_default: false, name: "default[literal['line']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionLine", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6cdbb0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionLine", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f1ebd8e9fe0, ), path: LookupPath( [ S( "center", Py( 0x00007f1ebd8ea010, ), ), ], ), }, name_py: Py( 0x00007f1ec2820180, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f1ebd8ea040, ), path: LookupPath( [ S( "end", Py( 0x00007f1ebd8ea070, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02590, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f1ebd8ea0a0, ), path: LookupPath( [ S( "radius", Py( 0x00007f1ebd8ea0d0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1163d0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd75b240, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f1ebd708df0, ), path: LookupPath( [ S( "relative", Py( 0x00007f1ebd70b030, ), ), ], ), }, name_py: Py( 0x00007f1ec157be30, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "start", lookup_key: Simple { key: "start", py_key: Py( 0x00007f1ebd8ea100, ), path: LookupPath( [ S( "start", Py( 0x00007f1ebd8ea130, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06338, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ea160, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ea550, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec0268f60, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "arc": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd751ac0, ), ), values: [ Py( 0x00007f1ec0268f60, ), ], }, expected_repr: "'arc'", name: "literal['arc']", }, ), validate_default: false, copy_default: false, name: "default[literal['arc']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionArc", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee719530, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionArc", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "control1", lookup_key: Simple { key: "control1", py_key: Py( 0x00007f1ebd70b3b0, ), path: LookupPath( [ S( "control1", Py( 0x00007f1ebd70b170, ), ), ], ), }, name_py: Py( 0x00007f1ebe27b0f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "control2", lookup_key: Simple { key: "control2", py_key: Py( 0x00007f1ebd70b570, ), path: LookupPath( [ S( "control2", Py( 0x00007f1ebd70b330, ), ), ], ), }, name_py: Py( 0x00007f1ebe13d4f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f1ebd8ea580, ), path: LookupPath( [ S( "end", Py( 0x00007f1ebd8ea5b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02590, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f1ebd70b4b0, ), path: LookupPath( [ S( "relative", Py( 0x00007f1ebd70b930, ), ), ], ), }, name_py: Py( 0x00007f1ec157be30, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ea5e0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ea610, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec0c6f270, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "bezier": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85cf40, ), ), values: [ Py( 0x00007f1ec0c6f270, ), ], }, expected_repr: "'bezier'", name: "literal['bezier']", }, ), validate_default: false, copy_default: false, name: "default[literal['bezier']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionBezier", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee520f20, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionBezier", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "offset", lookup_key: Simple { key: "offset", py_key: Py( 0x00007f1ebd8ea640, ), path: LookupPath( [ S( "offset", Py( 0x00007f1ebd8ea670, ), ), ], ), }, name_py: Py( 0x00007f1ec2f04dd0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f1ebd8ea6a0, ), path: LookupPath( [ S( "radius", Py( 0x00007f1ebd8ea6d0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1163d0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd75bbc0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ea700, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ea730, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe13d6f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "tangential_arc": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85dec0, ), ), values: [ Py( 0x00007f1ebe13d6f0, ), ], }, expected_repr: "'tangential_arc'", name: "literal['tangential_arc']", }, ), validate_default: false, copy_default: false, name: "default[literal['tangential_arc']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionTangentialArc", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee48ea10, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionTangentialArc", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "angle_snap_increment", lookup_key: Simple { key: "angle_snap_increment", py_key: Py( 0x00007f1ebd70aff0, ), path: LookupPath( [ S( "angle_snap_increment", Py( 0x00007f1ebda23cb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13d870, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), name: "nullable[Angle]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Angle]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "to", lookup_key: Simple { key: "to", py_key: Py( 0x00007f1ebd8ea760, ), path: LookupPath( [ S( "to", Py( 0x00007f1ebd8ea790, ), ), ], ), }, name_py: Py( 0x00007f1ec211c720, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ea7c0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ea7f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe186f70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "tangential_arc_to": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85e400, ), ), values: [ Py( 0x00007f1ebe186f70, ), ], }, expected_repr: "'tangential_arc_to'", name: "literal['tangential_arc_to']", }, ), validate_default: false, copy_default: false, name: "default[literal['tangential_arc_to']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionTangentialArcTo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee39acc0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionTangentialArcTo", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f1ebd8ea820, ), path: LookupPath( [ S( "end", Py( 0x00007f1ebd8ea850, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02590, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "interior", lookup_key: Simple { key: "interior", py_key: Py( 0x00007f1ebda23730, ), path: LookupPath( [ S( "interior", Py( 0x00007f1ebd9ba5f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe187070, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f1ebdc3acf0, ), path: LookupPath( [ S( "relative", Py( 0x00007f1ebd8cb0f0, ), ), ], ), }, name_py: Py( 0x00007f1ec157be30, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ea880, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ea8b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe5f4600, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "arc_to": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85eb00, ), ), values: [ Py( 0x00007f1ebe5f4600, ), ], }, expected_repr: "'arc_to'", name: "literal['arc_to']", }, ), validate_default: false, copy_default: false, name: "default[literal['arc_to']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionArcTo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee218690, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionArcTo", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'line', 'arc', 'bezier', 'tangential_arc', 'tangential_arc_to', 'arc_to'", discriminator_repr: "'type'", name: "tagged-union[OptionLine,OptionArc,OptionBezier,OptionTangentialArc,OptionTangentialArcTo,OptionArcTo]", }, ), class: Py( 0x000055d9ee729160, ), generic_origin: Some( Py( 0x000055d9ee0df6b0, ), ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f1ec0cae3d0, ), name: "RootModel[Annotated[Union[OptionLine, OptionArc, OptionBezier, OptionTangentialArc, OptionTangentialArcTo, OptionArcTo], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ea940, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ea970, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf66ed30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "extend_path": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85db80, ), ), values: [ Py( 0x00007f1ebf66ed30, ), ], }, expected_repr: "'extend_path'", name: "literal['extend_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['extend_path']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionExtendPath", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6db3e0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionExtendPath", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "distance", lookup_key: Simple { key: "distance", py_key: Py( 0x00007f1ebd8caeb0, ), path: LookupPath( [ S( "distance", Py( 0x00007f1ebd8cb9b0, ), ), ], ), }, name_py: Py( 0x00007f1ec1f842f0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd76a040, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "faces", lookup_key: Simple { key: "faces", py_key: Py( 0x00007f1ebd8eab80, ), path: LookupPath( [ S( "faces", Py( 0x00007f1ebd8eabb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f55f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "bottom", lookup_key: Simple { key: "bottom", py_key: Py( 0x00007f1ebd8ea9a0, ), path: LookupPath( [ S( "bottom", Py( 0x00007f1ebd8ea9d0, ), ), ], ), }, name_py: Py( 0x00007f1ec1b73600, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "sides", lookup_key: Simple { key: "sides", py_key: Py( 0x00007f1ebd8eaac0, ), path: LookupPath( [ S( "sides", Py( 0x00007f1ebd8eaaf0, ), ), ], ), }, name_py: Py( 0x00007f1ebeb656b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd8eaa00, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd8eaa30, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd8eaa60, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd8eaa90, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "SideFace", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee58ee00, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "SideFace", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "top", lookup_key: Simple { key: "top", py_key: Py( 0x00007f1ebd8eab20, ), path: LookupPath( [ S( "top", Py( 0x00007f1ebd8eab50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06a18, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "ExtrudedFaceInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee56c8e0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "ExtrudedFaceInfo", }, ), name: "nullable[ExtrudedFaceInfo]", }, ), validate_default: false, copy_default: false, name: "default[nullable[ExtrudedFaceInfo]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f1ebd8eabe0, ), path: LookupPath( [ S( "target", Py( 0x00007f1ebd8eac10, ), ), ], ), }, name_py: Py( 0x00007f1ec2f066d8, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd76a040, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eac40, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eac70, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf267450, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "extrude": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85ce40, ), ), values: [ Py( 0x00007f1ebf267450, ), ], }, expected_repr: "'extrude'", name: "literal['extrude']", }, ), validate_default: false, copy_default: false, name: "default[literal['extrude']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionExtrude", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6f0240, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionExtrude", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sectional", lookup_key: Simple { key: "sectional", py_key: Py( 0x00007f1ebd8caff0, ), path: LookupPath( [ S( "sectional", Py( 0x00007f1ebd8cb030, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffb70, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f1ebd8eaca0, ), path: LookupPath( [ S( "target", Py( 0x00007f1ebd8eacd0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f066d8, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd76a700, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f1ebd8cb6b0, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f1ebd8cbfb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffbb0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd76a700, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "trajectory", lookup_key: Simple { key: "trajectory", py_key: Py( 0x00007f1ebd8c9b70, ), path: LookupPath( [ S( "trajectory", Py( 0x00007f1ebd8cae70, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffbf0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd76a700, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ead00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ead30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf2881e0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "sweep": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85d4c0, ), ), values: [ Py( 0x00007f1ebf2881e0, ), ], }, expected_repr: "'sweep'", name: "literal['sweep']", }, ), validate_default: false, copy_default: false, name: "default[literal['sweep']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSweep", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6f6690, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSweep", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "angle", lookup_key: Simple { key: "angle", py_key: Py( 0x00007f1ebd8ead60, ), path: LookupPath( [ S( "angle", Py( 0x00007f1ebd8ead90, ), ), ], ), }, name_py: Py( 0x00007f1ec0d7d080, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f1ebd8eadc0, ), path: LookupPath( [ S( "axis", Py( 0x00007f1ebd8eadf0, ), ), ], ), }, name_py: Py( 0x00007f1ebf25cea0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "axis_is_2d", lookup_key: Simple { key: "axis_is_2d", py_key: Py( 0x00007f1ebd8c9a70, ), path: LookupPath( [ S( "axis_is_2d", Py( 0x00007f1ebd8cadf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffcb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py( 0x00007f1ebd8eae20, ), path: LookupPath( [ S( "origin", Py( 0x00007f1ebd8eae50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f050a8, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f1ebd8eae80, ), path: LookupPath( [ S( "target", Py( 0x00007f1ebd8eaeb0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f066d8, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd76aec0, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f1ebd8cac30, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f1ebd8cbcb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffbb0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd76aec0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eaee0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eaf10, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf26de90, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "revolve": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85dd80, ), ), values: [ Py( 0x00007f1ebf26de90, ), ], }, expected_repr: "'revolve'", name: "literal['revolve']", }, ), validate_default: false, copy_default: false, name: "default[literal['revolve']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionRevolve", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6f9ba0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionRevolve", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "face_ids", lookup_key: Simple { key: "face_ids", py_key: Py( 0x00007f1ebd8cabf0, ), path: LookupPath( [ S( "face_ids", Py( 0x00007f1ebd8caf30, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffdb0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "hollow", lookup_key: Simple { key: "hollow", py_key: Py( 0x00007f1ebd8eaf40, ), path: LookupPath( [ S( "hollow", Py( 0x00007f1ebd8eaf70, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6160, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2eb99e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd8c80b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd8c8670, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "shell_thickness", lookup_key: Simple { key: "shell_thickness", py_key: Py( 0x00007f1ebd8cae30, ), path: LookupPath( [ S( "shell_thickness", Py( 0x00007f1ebd8cacb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffdf0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd76b500, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eafa0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eafd0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed64970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_shell_face": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85f340, ), ), values: [ Py( 0x00007f1ebed64970, ), ], }, expected_repr: "'solid3d_shell_face'", name: "literal['solid3d_shell_face']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_shell_face']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DShellFace", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6fffb0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DShellFace", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "angle", lookup_key: Simple { key: "angle", py_key: Py( 0x00007f1ebd8eb000, ), path: LookupPath( [ S( "angle", Py( 0x00007f1ebd8eb030, ), ), ], ), }, name_py: Py( 0x00007f1ec0d7d080, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd8eb060, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd8eb090, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f1ebd8eb0c0, ), path: LookupPath( [ S( "target", Py( 0x00007f1ebd8eb0f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f066d8, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd76bb40, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f1ebd8cac70, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f1ebd7477f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffbb0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd76bb40, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb120, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb150, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee62b70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "revolve_about_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85e880, ), ), values: [ Py( 0x00007f1ebee62b70, ), ], }, expected_repr: "'revolve_about_edge'", name: "literal['revolve_about_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['revolve_about_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionRevolveAboutEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee703790, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionRevolveAboutEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "base_curve_index", lookup_key: Simple { key: "base_curve_index", py_key: Py( 0x00007f1ebd7463b0, ), path: LookupPath( [ S( "base_curve_index", Py( 0x00007f1ebd7462f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1001f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "bez_approximate_rational", lookup_key: Simple { key: "bez_approximate_rational", py_key: Py( 0x00007f1ebd8db230, ), path: LookupPath( [ S( "bez_approximate_rational", Py( 0x00007f1ebd8d9b10, ), ), ], ), }, name_py: Py( 0x00007f1ebe2d88a0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "section_ids", lookup_key: Simple { key: "section_ids", py_key: Py( 0x00007f1ebd744d30, ), path: LookupPath( [ S( "section_ids", Py( 0x00007f1ebd746470, ), ), ], ), }, name_py: Py( 0x00007f1ec0a932b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f1ebd7464b0, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f1ebd746530, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffbb0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7702c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb180, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb1b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf269740, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "loft": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9cb2c0, ), ), values: [ Py( 0x00007f1ebf269740, ), ], }, expected_repr: "'loft'", name: "literal['loft']", }, ), validate_default: false, copy_default: false, name: "default[literal['loft']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "v_degree", lookup_key: Simple { key: "v_degree", py_key: Py( 0x00007f1ebd746370, ), path: LookupPath( [ S( "v_degree", Py( 0x00007f1ebd7463f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1002b0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, ], model_name: "OptionLoft", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee707c30, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionLoft", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd8eb1e0, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd8eb210, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb240, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb270, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf564030, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "close_path": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c8ac0, ), ), values: [ Py( 0x00007f1ebf564030, ), ], }, expected_repr: "'close_path'", name: "literal['close_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['close_path']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionClosePath", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee70bb80, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionClosePath", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "interaction", lookup_key: Simple { key: "interaction", py_key: Py( 0x00007f1ebd746230, ), path: LookupPath( [ S( "interaction", Py( 0x00007f1ebd746eb0, ), ), ], ), }, name_py: Py( 0x00007f1ec1f78b70, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb2a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb2d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebefa5e30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "camera_drag_start": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7683c0, ), ), values: [ Py( 0x00007f1ebefa5e30, ), ], }, expected_repr: "'camera_drag_start'", name: "literal['camera_drag_start']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_start']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd8eb300, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd8eb330, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionCameraDragStart", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee70dba0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCameraDragStart", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "interaction", lookup_key: Simple { key: "interaction", py_key: Py( 0x00007f1ebd747ef0, ), path: LookupPath( [ S( "interaction", Py( 0x00007f1ebd747bf0, ), ), ], ), }, name_py: Py( 0x00007f1ec1f78b70, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f1ebd7474f0, ), path: LookupPath( [ S( "sequence", Py( 0x00007f1ebd747eb0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb360, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb390, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebefa6970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "camera_drag_move": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e3a00, ), ), values: [ Py( 0x00007f1ebefa6970, ), ], }, expected_repr: "'camera_drag_move'", name: "literal['camera_drag_move']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_move']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd8eb3c0, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd8eb3f0, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionCameraDragMove", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee76f960, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCameraDragMove", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "interaction", lookup_key: Simple { key: "interaction", py_key: Py( 0x00007f1ebd747730, ), path: LookupPath( [ S( "interaction", Py( 0x00007f1ebd746e30, ), ), ], ), }, name_py: Py( 0x00007f1ec1f78b70, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb420, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb450, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebefa43b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "camera_drag_end": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e1b40, ), ), values: [ Py( 0x00007f1ebefa43b0, ), ], }, expected_repr: "'camera_drag_end'", name: "literal['camera_drag_end']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_end']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd8eb480, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd8eb4b0, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionCameraDragEnd", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee773fb0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCameraDragEnd", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb4e0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb510, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49890, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_get_settings": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e02c0, ), ), values: [ Py( 0x00007f1ebee49890, ), ], }, expected_repr: "'default_camera_get_settings'", name: "literal['default_camera_get_settings']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_get_settings']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraGetSettings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee777a90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraGetSettings", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb540, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb570, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed5d530, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_get_view": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e1cc0, ), ), values: [ Py( 0x00007f1ebed5d530, ), ], }, expected_repr: "'default_camera_get_view'", name: "literal['default_camera_get_view']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_get_view']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraGetView", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee779880, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraGetView", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb5a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb5d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed5fc30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_set_view": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e0540, ), ), values: [ Py( 0x00007f1ebed5fc30, ), ], }, expected_repr: "'default_camera_set_view'", name: "literal['default_camera_set_view']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_set_view']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "view", lookup_key: Simple { key: "view", py_key: Py( 0x00007f1ebd8eb660, ), path: LookupPath( [ S( "view", Py( 0x00007f1ebd8eb690, ), ), ], ), }, name_py: Py( 0x00007f1ec1fa6520, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "eye_offset", lookup_key: Simple { key: "eye_offset", py_key: Py( 0x00007f1ebd746f30, ), path: LookupPath( [ S( "eye_offset", Py( 0x00007f1ebd747430, ), ), ], ), }, name_py: Py( 0x00007f1ebe35c3f0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "fov_y", lookup_key: Simple { key: "fov_y", py_key: Py( 0x00007f1ebd8eb600, ), path: LookupPath( [ S( "fov_y", Py( 0x00007f1ebd8eb630, ), ), ], ), }, name_py: Py( 0x00007f1ebeddfde0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "is_ortho", lookup_key: Simple { key: "is_ortho", py_key: Py( 0x00007f1ebd747df0, ), path: LookupPath( [ S( "is_ortho", Py( 0x00007f1ebd747b70, ), ), ], ), }, name_py: Py( 0x00007f1ebe35d030, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "ortho_scale_enabled", lookup_key: Simple { key: "ortho_scale_enabled", py_key: Py( 0x00007f1ebd745c70, ), path: LookupPath( [ S( "ortho_scale_enabled", Py( 0x00007f1ebd746fb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe35d0b0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "ortho_scale_factor", lookup_key: Simple { key: "ortho_scale_factor", py_key: Py( 0x00007f1ebd746e70, ), path: LookupPath( [ S( "ortho_scale_factor", Py( 0x00007f1ebd746d30, ), ), ], ), }, name_py: Py( 0x00007f1ebe35d170, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "pivot_position", lookup_key: Simple { key: "pivot_position", py_key: Py( 0x00007f1ebd746df0, ), path: LookupPath( [ S( "pivot_position", Py( 0x00007f1ebd746ef0, ), ), ], ), }, name_py: Py( 0x00007f1ebe35d1b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "pivot_rotation", lookup_key: Simple { key: "pivot_rotation", py_key: Py( 0x00007f1ebd747f70, ), path: LookupPath( [ S( "pivot_rotation", Py( 0x00007f1ebd746db0, ), ), ], ), }, name_py: Py( 0x00007f1ebe35d1f0, ), validator: List( ListValidator { strict: false, item_validator: Some( Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "world_coord_system", lookup_key: Simple { key: "world_coord_system", py_key: Py( 0x00007f1ebda235f0, ), path: LookupPath( [ S( "world_coord_system", Py( 0x00007f1ebd747f30, ), ), ], ), }, name_py: Py( 0x00007f1ebe35e270, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee3e9000, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "right_handed_up_z": 0, "right_handed_up_y": 1, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e0080, ), ), values: [ Py( 0x00007f1ebe3004d0, ), Py( 0x00007f1ebe300530, ), ], }, missing: None, expected_repr: "'right_handed_up_z' or 'right_handed_up_y'", strict: false, class_repr: "WorldCoordinateSystem", name: "str-enum[WorldCoordinateSystem]", }, ), frozen: false, }, ], model_name: "CameraViewState", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee3dd330, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "CameraViewState", }, ), frozen: false, }, ], model_name: "OptionDefaultCameraSetView", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee77b790, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraSetView", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f1ebd8eb6c0, ), path: LookupPath( [ S( "center", Py( 0x00007f1ebd8eb6f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2820180, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f1ebd747fb0, ), path: LookupPath( [ S( "sequence", Py( 0x00007f1ebd747af0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb720, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb750, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed5fab0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_look_at": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e1a80, ), ), values: [ Py( 0x00007f1ebed5fab0, ), ], }, expected_repr: "'default_camera_look_at'", name: "literal['default_camera_look_at']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_look_at']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py( 0x00007f1ebd8eb780, ), path: LookupPath( [ S( "up", Py( 0x00007f1ebd8eb7b0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d2eeb0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "vantage", lookup_key: Simple { key: "vantage", py_key: Py( 0x00007f1ebd8eb7e0, ), path: LookupPath( [ S( "vantage", Py( 0x00007f1ebd8eb810, ), ), ], ), }, name_py: Py( 0x00007f1ebebe5230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "OptionDefaultCameraLookAt", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7811f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraLookAt", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f1ebd8eb840, ), path: LookupPath( [ S( "center", Py( 0x00007f1ebd8eb870, ), ), ], ), }, name_py: Py( 0x00007f1ec2820180, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "fov_y", lookup_key: Simple { key: "fov_y", py_key: Py( 0x00007f1ebd8eb8a0, ), path: LookupPath( [ S( "fov_y", Py( 0x00007f1ebd8eb8d0, ), ), ], ), }, name_py: Py( 0x00007f1ebeddfde0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f1ebd7471f0, ), path: LookupPath( [ S( "sequence", Py( 0x00007f1ebd7470f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8eb900, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8eb930, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49a70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_perspective_settings": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9e3a40, ), ), values: [ Py( 0x00007f1ebee49a70, ), ], }, expected_repr: "'default_camera_perspective_settings'", name: "literal['default_camera_perspective_settings']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_perspective_settings']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py( 0x00007f1ebd8eb960, ), path: LookupPath( [ S( "up", Py( 0x00007f1ebd8eb990, ), ), ], ), }, name_py: Py( 0x00007f1ec0d2eeb0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "vantage", lookup_key: Simple { key: "vantage", py_key: Py( 0x00007f1ebd8eb9c0, ), path: LookupPath( [ S( "vantage", Py( 0x00007f1ebd8eb9f0, ), ), ], ), }, name_py: Py( 0x00007f1ebebe5230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "z_far", lookup_key: Simple { key: "z_far", py_key: Py( 0x00007f1ebd8eba20, ), path: LookupPath( [ S( "z_far", Py( 0x00007f1ebd8eba50, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f7c90, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "z_near", lookup_key: Simple { key: "z_near", py_key: Py( 0x00007f1ebd8eba80, ), path: LookupPath( [ S( "z_near", Py( 0x00007f1ebd8ebab0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f7d80, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraPerspectiveSettings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7862a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraPerspectiveSettings", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "magnitude", lookup_key: Simple { key: "magnitude", py_key: Py( 0x00007f1ebd747d70, ), path: LookupPath( [ S( "magnitude", Py( 0x00007f1ebd747e70, ), ), ], ), }, name_py: Py( 0x00007f1ec0c2ec70, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebae0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebb10, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed5fb30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_zoom": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c81c0, ), ), values: [ Py( 0x00007f1ebed5fb30, ), ], }, expected_repr: "'default_camera_zoom'", name: "literal['default_camera_zoom']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_zoom']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraZoom", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee78dd30, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraZoom", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd747cf0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd747db0, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "format", lookup_key: Simple { key: "format", py_key: Py( 0x00007f1ebd8ebc00, ), path: LookupPath( [ S( "format", Py( 0x00007f1ebd8ebc30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02e10, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "dxf": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9cbe80, ), ), values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py( 0x00007f1ebd8ebb40, ), path: LookupPath( [ S( "storage", Py( 0x00007f1ebd8ebb70, ), ), ], ), }, name_py: Py( 0x00007f1ec0c69170, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [], model_name: "DxfData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee719a50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "DxfData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebba0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebbd0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeb6b4b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "dxf": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7584c0, ), ), values: [ Py( 0x00007f1ebeb6b4b0, ), ], }, expected_repr: "'dxf'", name: "literal['dxf']", }, ), validate_default: false, copy_default: false, name: "default[literal['dxf']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDxf", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee6b6140, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDxf", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'dxf'", discriminator_repr: "'type'", name: "tagged-union[OptionDxf]", }, ), class: Py( 0x000055d9ee61c9d0, ), generic_origin: Some( Py( 0x000055d9ee0df6b0, ), ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f1ec0cae3d0, ), name: "RootModel[Annotated[OptionDxf, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebc60, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebc90, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee66430, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "export2d": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9cb240, ), ), values: [ Py( 0x00007f1ebee66430, ), ], }, expected_repr: "'export2d'", name: "literal['export2d']", }, ), validate_default: false, copy_default: false, name: "default[literal['export2d']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionExport2D", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee78fab0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionExport2D", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd747e30, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd747c70, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "format", lookup_key: Simple { key: "format", py_key: Py( 0x00007f1ebd8ebcc0, ), path: LookupPath( [ S( "format", Py( 0x00007f1ebd8ebcf0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02e10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebd20, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebd50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee67ef0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "export3d": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9cba40, ), ), values: [ Py( 0x00007f1ebee67ef0, ), ], }, expected_repr: "'export3d'", name: "literal['export3d']", }, ), validate_default: false, copy_default: false, name: "default[literal['export3d']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionExport3D", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee795270, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionExport3D", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd747d30, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd747c30, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "format", lookup_key: Simple { key: "format", py_key: Py( 0x00007f1ebd8ebd80, ), path: LookupPath( [ S( "format", Py( 0x00007f1ebd8ebdb0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02e10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebde0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebe10, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec1844840, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "export": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c9480, ), ), values: [ Py( 0x00007f1ec1844840, ), ], }, expected_repr: "'export'", name: "literal['export']", }, ), validate_default: false, copy_default: false, name: "default[literal['export']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionExport", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7b3b90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionExport", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd747cb0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd747170, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebe40, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebe70, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70930, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_parent_id": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c9340, ), ), values: [ Py( 0x00007f1ebee70930, ), ], }, expected_repr: "'entity_get_parent_id'", name: "literal['entity_get_parent_id']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_parent_id']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityGetParentId", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7d24b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityGetParentId", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd747070, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd746d70, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebea0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebed0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70730, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_num_children": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9cac00, ), ), values: [ Py( 0x00007f1ebee70730, ), ], }, expected_repr: "'entity_get_num_children'", name: "literal['entity_get_num_children']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_num_children']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityGetNumChildren", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee4880e0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityGetNumChildren", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "child_index", lookup_key: Simple { key: "child_index", py_key: Py( 0x00007f1ebd747a70, ), path: LookupPath( [ S( "child_index", Py( 0x00007f1ebd747b30, ), ), ], ), }, name_py: Py( 0x00007f1ebe1119f0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd747bb0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd7479f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebf00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebf30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70470, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_child_uuid": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd759c00, ), ), values: [ Py( 0x00007f1ebee70470, ), ], }, expected_repr: "'entity_get_child_uuid'", name: "literal['entity_get_child_uuid']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_child_uuid']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityGetChildUuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7d7150, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityGetChildUuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd747ab0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd747670, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebf60, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd8ebf90, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee4a010, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_all_child_uuids": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9caa40, ), ), values: [ Py( 0x00007f1ebee4a010, ), ], }, expected_repr: "'entity_get_all_child_uuids'", name: "literal['entity_get_all_child_uuids']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_all_child_uuids']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityGetAllChildUuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7d97b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityGetAllChildUuids", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd7477b0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd7475b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd8ebfc0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c030, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70af0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_sketch_paths": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c8e00, ), ), values: [ Py( 0x00007f1ebee70af0, ), ], }, expected_repr: "'entity_get_sketch_paths'", name: "literal['entity_get_sketch_paths']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_sketch_paths']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityGetSketchPaths", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7db8f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityGetSketchPaths", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "distance_type", lookup_key: Simple { key: "distance_type", py_key: Py( 0x00007f1ebd747630, ), path: LookupPath( [ S( "distance_type", Py( 0x00007f1ebd747470, ), ), ], ), }, name_py: Py( 0x00007f1ebee715b0, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "on_axis": 1, "euclidean": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c8480, ), ), values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c060, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c090, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe4d8ab0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "euclidean": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c9b40, ), ), values: [ Py( 0x00007f1ebe4d8ab0, ), ], }, expected_repr: "'euclidean'", name: "literal['euclidean']", }, ), validate_default: false, copy_default: false, name: "default[literal['euclidean']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEuclidean", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee510990, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEuclidean", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f1ebd75c0c0, ), path: LookupPath( [ S( "axis", Py( 0x00007f1ebd75c0f0, ), ), ], ), }, name_py: Py( 0x00007f1ebf25cea0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee519c40, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "y": 1, "z": 2, "x": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c9f80, ), ), values: [ Py( 0x00007f1ebe3e7350, ), Py( 0x00007f1ebe3e73b0, ), Py( 0x00007f1ebe3e7410, ), ], }, missing: None, expected_repr: "'x', 'y' or 'z'", strict: false, class_repr: "GlobalAxis", name: "str-enum[GlobalAxis]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c120, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c150, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed24330, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "on_axis": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c9300, ), ), values: [ Py( 0x00007f1ebed24330, ), ], }, expected_repr: "'on_axis'", name: "literal['on_axis']", }, ), validate_default: false, copy_default: false, name: "default[literal['on_axis']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionOnAxis", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee4e6df0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionOnAxis", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'euclidean', 'on_axis'", discriminator_repr: "'type'", name: "tagged-union[OptionEuclidean,OptionOnAxis]", }, ), class: Py( 0x000055d9ee4e8310, ), generic_origin: Some( Py( 0x000055d9ee0df6b0, ), ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f1ec0cae3d0, ), name: "RootModel[Annotated[Union[OptionEuclidean, OptionOnAxis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "entity_id1", lookup_key: Simple { key: "entity_id1", py_key: Py( 0x00007f1ebd7475f0, ), path: LookupPath( [ S( "entity_id1", Py( 0x00007f1ebd7476b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe111e70, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "entity_id2", lookup_key: Simple { key: "entity_id2", py_key: Py( 0x00007f1ebd747370, ), path: LookupPath( [ S( "entity_id2", Py( 0x00007f1ebd7474b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe111eb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c180, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c1b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee705b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_distance": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd9c9dc0, ), ), values: [ Py( 0x00007f1ebee705b0, ), ], }, expected_repr: "'entity_get_distance'", name: "literal['entity_get_distance']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_distance']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityGetDistance", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7dda50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityGetDistance", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd746970, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd745b70, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c1e0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c210, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee701f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_clone": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd768d40, ), ), values: [ Py( 0x00007f1ebee701f0, ), ], }, expected_repr: "'entity_clone'", name: "literal['entity_clone']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_clone']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityClone", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7e3e70, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityClone", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd747570, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd7476f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "transform", lookup_key: Simple { key: "transform", py_key: Py( 0x00007f1ebd7472f0, ), path: LookupPath( [ S( "transform", Py( 0x00007f1ebd7473b0, ), ), ], ), }, name_py: Py( 0x00007f1ec19fceb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe1c6280, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "Transform", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[Transform]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[Transform]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "transforms", lookup_key: Simple { key: "transforms", py_key: Py( 0x00007f1ebd7472b0, ), path: LookupPath( [ S( "transforms", Py( 0x00007f1ebd747530, ), ), ], ), }, name_py: Py( 0x00007f1ec1b6a7f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe1bf740, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "Transform", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[Transform]", ), fail_fast: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[list[Transform]]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[list[Transform]]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c240, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c270, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee4a060, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_linear_pattern_transform": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745bc0, ), ), values: [ Py( 0x00007f1ebee4a060, ), ], }, expected_repr: "'entity_linear_pattern_transform'", name: "literal['entity_linear_pattern_transform']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_linear_pattern_transform']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityLinearPatternTransform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7e5a10, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityLinearPatternTransform", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f1ebd75c2a0, ), path: LookupPath( [ S( "axis", Py( 0x00007f1ebd75c2d0, ), ), ], ), }, name_py: Py( 0x00007f1ebf25cea0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd745cf0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd7465f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "num_repetitions", lookup_key: Simple { key: "num_repetitions", py_key: Py( 0x00007f1ebd7471b0, ), path: LookupPath( [ S( "num_repetitions", Py( 0x00007f1ebd747270, ), ), ], ), }, name_py: Py( 0x00007f1ebe1121f0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "spacing", lookup_key: Simple { key: "spacing", py_key: Py( 0x00007f1ebd75c300, ), path: LookupPath( [ S( "spacing", Py( 0x00007f1ebd75c330, ), ), ], ), }, name_py: Py( 0x00007f1ec0cf5bf0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd77f0c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c360, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c390, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70bf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_linear_pattern": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd747400, ), ), values: [ Py( 0x00007f1ebee70bf0, ), ], }, expected_repr: "'entity_linear_pattern'", name: "literal['entity_linear_pattern']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_linear_pattern']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityLinearPattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7f6580, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityLinearPattern", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "arc_degrees", lookup_key: Simple { key: "arc_degrees", py_key: Py( 0x00007f1ebd745b30, ), path: LookupPath( [ S( "arc_degrees", Py( 0x00007f1ebd745bf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1123b0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f1ebd75c3c0, ), path: LookupPath( [ S( "axis", Py( 0x00007f1ebd75c3f0, ), ), ], ), }, name_py: Py( 0x00007f1ebf25cea0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f1ebd75c420, ), path: LookupPath( [ S( "center", Py( 0x00007f1ebd75c450, ), ), ], ), }, name_py: Py( 0x00007f1ec2820180, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd745af0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd747230, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "num_repetitions", lookup_key: Simple { key: "num_repetitions", py_key: Py( 0x00007f1ebd746ff0, ), path: LookupPath( [ S( "num_repetitions", Py( 0x00007f1ebd746c70, ), ), ], ), }, name_py: Py( 0x00007f1ebe1121f0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "rotate_duplicates", lookup_key: Simple { key: "rotate_duplicates", py_key: Py( 0x00007f1ebd745ff0, ), path: LookupPath( [ S( "rotate_duplicates", Py( 0x00007f1ebd7459f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112470, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c480, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c4b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70130, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_circular_pattern": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745ac0, ), ), values: [ Py( 0x00007f1ebee70130, ), ], }, expected_repr: "'entity_circular_pattern'", name: "literal['entity_circular_pattern']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_circular_pattern']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityCircularPattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7fa5f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityCircularPattern", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cylinder_id", lookup_key: Simple { key: "cylinder_id", py_key: Py( 0x00007f1ebd745c30, ), path: LookupPath( [ S( "cylinder_id", Py( 0x00007f1ebd747130, ), ), ], ), }, name_py: Py( 0x00007f1ebe112630, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "is_clockwise", lookup_key: Simple { key: "is_clockwise", py_key: Py( 0x00007f1ebd745a70, ), path: LookupPath( [ S( "is_clockwise", Py( 0x00007f1ebd746bf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112670, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "length", lookup_key: Simple { key: "length", py_key: Py( 0x00007f1ebd75c4e0, ), path: LookupPath( [ S( "length", Py( 0x00007f1ebd75c510, ), ), ], ), }, name_py: Py( 0x00007f1ec2f04020, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd77ff40, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "revolutions", lookup_key: Simple { key: "revolutions", py_key: Py( 0x00007f1ebd7468f0, ), path: LookupPath( [ S( "revolutions", Py( 0x00007f1ebd7461b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1126b0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "start_angle", lookup_key: Simple { key: "start_angle", py_key: Py( 0x00007f1ebd746f70, ), path: LookupPath( [ S( "start_angle", Py( 0x00007f1ebd747030, ), ), ], ), }, name_py: Py( 0x00007f1ebe112730, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe2400c0, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), validate_default: false, copy_default: true, name: "default[Angle]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c540, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c570, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee70fb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_make_helix": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7470c0, ), ), values: [ Py( 0x00007f1ebee70fb0, ), ], }, expected_repr: "'entity_make_helix'", name: "literal['entity_make_helix']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_make_helix']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityMakeHelix", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7feff0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityMakeHelix", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f1ebd75c5a0, ), path: LookupPath( [ S( "axis", Py( 0x00007f1ebd75c5d0, ), ), ], ), }, name_py: Py( 0x00007f1ebf25cea0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f1ebd75c600, ), path: LookupPath( [ S( "center", Py( 0x00007f1ebd75c630, ), ), ], ), }, name_py: Py( 0x00007f1ec2820180, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "is_clockwise", lookup_key: Simple { key: "is_clockwise", py_key: Py( 0x00007f1ebd744c70, ), path: LookupPath( [ S( "is_clockwise", Py( 0x00007f1ebd746cf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112670, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "length", lookup_key: Simple { key: "length", py_key: Py( 0x00007f1ebd75c660, ), path: LookupPath( [ S( "length", Py( 0x00007f1ebd75c690, ), ), ], ), }, name_py: Py( 0x00007f1ec2f04020, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7848c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f1ebd75c6c0, ), path: LookupPath( [ S( "radius", Py( 0x00007f1ebd75c6f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1163d0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7848c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "revolutions", lookup_key: Simple { key: "revolutions", py_key: Py( 0x00007f1ebd746870, ), path: LookupPath( [ S( "revolutions", Py( 0x00007f1ebd746570, ), ), ], ), }, name_py: Py( 0x00007f1ebe1126b0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "start_angle", lookup_key: Simple { key: "start_angle", py_key: Py( 0x00007f1ebd745df0, ), path: LookupPath( [ S( "start_angle", Py( 0x00007f1ebd746b70, ), ), ], ), }, name_py: Py( 0x00007f1ebe112730, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe1c7280, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), validate_default: false, copy_default: true, name: "default[Angle]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c720, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c750, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee4a100, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_make_helix_from_params": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746c40, ), ), values: [ Py( 0x00007f1ebee4a100, ), ], }, expected_repr: "'entity_make_helix_from_params'", name: "literal['entity_make_helix_from_params']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_make_helix_from_params']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityMakeHelixFromParams", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8037f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityMakeHelixFromParams", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75c780, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75c7b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "is_clockwise", lookup_key: Simple { key: "is_clockwise", py_key: Py( 0x00007f1ebd746cb0, ), path: LookupPath( [ S( "is_clockwise", Py( 0x00007f1ebd746af0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112670, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "length", lookup_key: Simple { key: "length", py_key: Py( 0x00007f1ebd75c7e0, ), path: LookupPath( [ S( "length", Py( 0x00007f1ebd75c810, ), ), ], ), }, name_py: Py( 0x00007f1ec2f04020, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7851c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), name: "nullable[function-after[LengthUnit(), float]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[function-after[LengthUnit(), float]]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f1ebd75c840, ), path: LookupPath( [ S( "radius", Py( 0x00007f1ebd75c870, ), ), ], ), }, name_py: Py( 0x00007f1ebe1163d0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7851c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "revolutions", lookup_key: Simple { key: "revolutions", py_key: Py( 0x00007f1ebd746bb0, ), path: LookupPath( [ S( "revolutions", Py( 0x00007f1ebd746a70, ), ), ], ), }, name_py: Py( 0x00007f1ebe1126b0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "start_angle", lookup_key: Simple { key: "start_angle", py_key: Py( 0x00007f1ebd746b30, ), path: LookupPath( [ S( "start_angle", Py( 0x00007f1ebd7469f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112730, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe1d11c0, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), validate_default: false, copy_default: true, name: "default[Angle]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75c8a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75c8d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee4a150, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_make_helix_from_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746ac0, ), ), values: [ Py( 0x00007f1ebee4a150, ), ], }, expected_repr: "'entity_make_helix_from_edge'", name: "literal['entity_make_helix_from_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_make_helix_from_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityMakeHelixFromEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee80ae70, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityMakeHelixFromEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f1ebd75c900, ), path: LookupPath( [ S( "axis", Py( 0x00007f1ebd75c930, ), ), ], ), }, name_py: Py( 0x00007f1ebf25cea0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "ids", lookup_key: Simple { key: "ids", py_key: Py( 0x00007f1ebd75c960, ), path: LookupPath( [ S( "ids", Py( 0x00007f1ebd75c990, ), ), ], ), }, name_py: Py( 0x00007f1ec1f17c90, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "point", lookup_key: Simple { key: "point", py_key: Py( 0x00007f1ebd75c9c0, ), path: LookupPath( [ S( "point", Py( 0x00007f1ebd75c9f0, ), ), ], ), }, name_py: Py( 0x00007f1ec0b141e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ca20, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ca50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee65170, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_mirror": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7469c0, ), ), values: [ Py( 0x00007f1ebee65170, ), ], }, expected_repr: "'entity_mirror'", name: "literal['entity_mirror']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_mirror']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityMirror", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7427f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityMirror", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75ca80, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75cab0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "ids", lookup_key: Simple { key: "ids", py_key: Py( 0x00007f1ebd75cae0, ), path: LookupPath( [ S( "ids", Py( 0x00007f1ebd75cb10, ), ), ], ), }, name_py: Py( 0x00007f1ec1f17c90, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cb40, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cb70, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee4a1f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_mirror_across_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746a40, ), ), values: [ Py( 0x00007f1ebee4a1f0, ), ], }, expected_repr: "'entity_mirror_across_edge'", name: "literal['entity_mirror_across_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_mirror_across_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityMirrorAcrossEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8156c0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityMirrorAcrossEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "selected_at_window", lookup_key: Simple { key: "selected_at_window", py_key: Py( 0x00007f1ebd746430, ), path: LookupPath( [ S( "selected_at_window", Py( 0x00007f1ebd745d70, ), ), ], ), }, name_py: Py( 0x00007f1ebe112d70, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "selection_type", lookup_key: Simple { key: "selection_type", py_key: Py( 0x00007f1ebd746670, ), path: LookupPath( [ S( "selection_type", Py( 0x00007f1ebd7468b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112db0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cba0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cbd0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63530, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_with_point": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746940, ), ), values: [ Py( 0x00007f1ebee63530, ), ], }, expected_repr: "'select_with_point'", name: "literal['select_with_point']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_with_point']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSelectWithPoint", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee817df0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSelectWithPoint", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f1ebd7467b0, ), path: LookupPath( [ S( "entities", Py( 0x00007f1ebd746830, ), ), ], ), }, name_py: Py( 0x00007f1ec0b97130, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cc00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cc30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63270, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_add": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746700, ), ), values: [ Py( 0x00007f1ebee63270, ), ], }, expected_repr: "'select_add'", name: "literal['select_add']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_add']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSelectAdd", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee827190, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSelectAdd", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f1ebd746770, ), path: LookupPath( [ S( "entities", Py( 0x00007f1ebd746630, ), ), ], ), }, name_py: Py( 0x00007f1ec0b97130, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cc60, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cc90, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee633f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_remove": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7466c0, ), ), values: [ Py( 0x00007f1ebee633f0, ), ], }, expected_repr: "'select_remove'", name: "literal['select_remove']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_remove']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSelectRemove", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee829780, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSelectRemove", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ccc0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ccf0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63070, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "scene_clear_all": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746280, ), ), values: [ Py( 0x00007f1ebee63070, ), ], }, expected_repr: "'scene_clear_all'", name: "literal['scene_clear_all']", }, ), validate_default: false, copy_default: false, name: "default[literal['scene_clear_all']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSceneClearAll", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee82bd70, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSceneClearAll", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f1ebd7461f0, ), path: LookupPath( [ S( "entities", Py( 0x00007f1ebd745930, ), ), ], ), }, name_py: Py( 0x00007f1ec0b97130, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cd20, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cd50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63470, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_replace": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7460c0, ), ), values: [ Py( 0x00007f1ebee63470, ), ], }, expected_repr: "'select_replace'", name: "literal['select_replace']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_replace']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSelectReplace", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee82dc60, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSelectReplace", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "selected_at_window", lookup_key: Simple { key: "selected_at_window", py_key: Py( 0x00007f1ebd7464f0, ), path: LookupPath( [ S( "selected_at_window", Py( 0x00007f1ebd7465b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112d70, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f1ebd746130, ), path: LookupPath( [ S( "sequence", Py( 0x00007f1ebd746070, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cd80, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cdb0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee666f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "highlight_set_entity": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745400, ), ), values: [ Py( 0x00007f1ebee666f0, ), ], }, expected_repr: "'highlight_set_entity'", name: "literal['highlight_set_entity']", }, ), validate_default: false, copy_default: false, name: "default[literal['highlight_set_entity']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionHighlightSetEntity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee82ff10, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionHighlightSetEntity", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f1ebd7462b0, ), path: LookupPath( [ S( "entities", Py( 0x00007f1ebd746330, ), ), ], ), }, name_py: Py( 0x00007f1ec0b97130, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cde0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ce10, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee667f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "highlight_set_entities": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd746180, ), ), values: [ Py( 0x00007f1ebee667f0, ), ], }, expected_repr: "'highlight_set_entities'", name: "literal['highlight_set_entities']", }, ), validate_default: false, copy_default: false, name: "default[literal['highlight_set_entities']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionHighlightSetEntities", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee834020, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionHighlightSetEntities", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "annotation_type", lookup_key: Simple { key: "annotation_type", py_key: Py( 0x00007f1ebd744b30, ), path: LookupPath( [ S( "annotation_type", Py( 0x00007f1ebd7450b0, ), ), ], ), }, name_py: Py( 0x00007f1ec1f50830, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee076350, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "t3d": 1, "t2d": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744c00, ), ), values: [ Py( 0x00007f1ebeb17e30, ), Py( 0x00007f1ebeb17e90, ), ], }, missing: None, expected_repr: "'t2d' or 't3d'", strict: false, class_repr: "AnnotationType", name: "str-enum[AnnotationType]", }, ), frozen: false, }, Field { name: "clobber", lookup_key: Simple { key: "clobber", py_key: Py( 0x00007f1ebd75ce40, ), path: LookupPath( [ S( "clobber", Py( 0x00007f1ebd75ce70, ), ), ], ), }, name_py: Py( 0x00007f1ebe117ea0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "options", lookup_key: Simple { key: "options", py_key: Py( 0x00007f1ebd75cea0, ), path: LookupPath( [ S( "options", Py( 0x00007f1ebd75ced0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05048, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cf00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cf30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee60eb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "new_annotation": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744cc0, ), ), values: [ Py( 0x00007f1ebee60eb0, ), ], }, expected_repr: "'new_annotation'", name: "literal['new_annotation']", }, ), validate_default: false, copy_default: false, name: "default[literal['new_annotation']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionNewAnnotation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee836400, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionNewAnnotation", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "annotation_id", lookup_key: Simple { key: "annotation_id", py_key: Py( 0x00007f1ebd7460f0, ), path: LookupPath( [ S( "annotation_id", Py( 0x00007f1ebd744d70, ), ), ], ), }, name_py: Py( 0x00007f1ebe137df0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "options", lookup_key: Simple { key: "options", py_key: Py( 0x00007f1ebd75cf60, ), path: LookupPath( [ S( "options", Py( 0x00007f1ebd75cf90, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05048, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75cfc0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75cff0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed86ff0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "update_annotation": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744e00, ), ), values: [ Py( 0x00007f1ebed86ff0, ), ], }, expected_repr: "'update_annotation'", name: "literal['update_annotation']", }, ), validate_default: false, copy_default: false, name: "default[literal['update_annotation']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionUpdateAnnotation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee844cf0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionUpdateAnnotation", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "hidden", lookup_key: Simple { key: "hidden", py_key: Py( 0x00007f1ebd75d020, ), path: LookupPath( [ S( "hidden", Py( 0x00007f1ebd75d050, ), ), ], ), }, name_py: Py( 0x00007f1ec1793120, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d080, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d0b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee71470, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "edge_lines_visible": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744c40, ), ), values: [ Py( 0x00007f1ebee71470, ), ], }, expected_repr: "'edge_lines_visible'", name: "literal['edge_lines_visible']", }, ), validate_default: false, copy_default: false, name: "default[literal['edge_lines_visible']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEdgeLinesVisible", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee851480, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEdgeLinesVisible", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "hidden", lookup_key: Simple { key: "hidden", py_key: Py( 0x00007f1ebd75d0e0, ), path: LookupPath( [ S( "hidden", Py( 0x00007f1ebd75d110, ), ), ], ), }, name_py: Py( 0x00007f1ec1793120, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd7459b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7458f0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d140, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d170, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee61270, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "object_visible": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744e40, ), ), values: [ Py( 0x00007f1ebee61270, ), ], }, expected_repr: "'object_visible'", name: "literal['object_visible']", }, ), validate_default: false, copy_default: false, name: "default[literal['object_visible']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionObjectVisible", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8534d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionObjectVisible", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd745ef0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd744bb0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d1a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d1d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee61130, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "object_bring_to_front": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745e80, ), ), values: [ Py( 0x00007f1ebee61130, ), ], }, expected_repr: "'object_bring_to_front'", name: "literal['object_bring_to_front']", }, ), validate_default: false, copy_default: false, name: "default[literal['object_bring_to_front']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionObjectBringToFront", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8558e0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionObjectBringToFront", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "ambient_occlusion", lookup_key: Simple { key: "ambient_occlusion", py_key: Py( 0x00007f1ebd745f70, ), path: LookupPath( [ S( "ambient_occlusion", Py( 0x00007f1ebd746030, ), ), ], ), }, name_py: Py( 0x00007f1ebe13c5b0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f1ebd75d200, ), path: LookupPath( [ S( "color", Py( 0x00007f1ebd75d230, ), ), ], ), }, name_py: Py( 0x00007f1ec21d84e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), frozen: false, }, Field { name: "metalness", lookup_key: Simple { key: "metalness", py_key: Py( 0x00007f1ebd745e30, ), path: LookupPath( [ S( "metalness", Py( 0x00007f1ebd745eb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13c5f0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd745f30, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd745fb0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "roughness", lookup_key: Simple { key: "roughness", py_key: Py( 0x00007f1ebd7447f0, ), path: LookupPath( [ S( "roughness", Py( 0x00007f1ebd745a30, ), ), ], ), }, name_py: Py( 0x00007f1ebe13c670, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d260, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d290, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78030, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "object_set_material_params_pbr": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745d40, ), ), values: [ Py( 0x00007f1ebee78030, ), ], }, expected_repr: "'object_set_material_params_pbr'", name: "literal['object_set_material_params_pbr']", }, ), validate_default: false, copy_default: false, name: "default[literal['object_set_material_params_pbr']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionObjectSetMaterialParamsPbr", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee857a20, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionObjectSetMaterialParamsPbr", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd745db0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd745870, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d2c0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d2f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee66f30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "get_entity_type": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745380, ), ), values: [ Py( 0x00007f1ebee66f30, ), ], }, expected_repr: "'get_entity_type'", name: "literal['get_entity_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_entity_type']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionGetEntityType", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee85c7a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionGetEntityType", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75d320, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75d350, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd744870, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd745970, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d380, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d3b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78850, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_all_edge_faces": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745300, ), ), values: [ Py( 0x00007f1ebee78850, ), ], }, expected_repr: "'solid3d_get_all_edge_faces'", name: "literal['solid3d_get_all_edge_faces']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_all_edge_faces']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetAllEdgeFaces", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee85e8f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetAllEdgeFaces", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "hole_id", lookup_key: Simple { key: "hole_id", py_key: Py( 0x00007f1ebd75d3e0, ), path: LookupPath( [ S( "hole_id", Py( 0x00007f1ebd75d410, ), ), ], ), }, name_py: Py( 0x00007f1ebe138d80, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd745030, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7457b0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d440, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d470, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed64330, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid2d_add_hole": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7458c0, ), ), values: [ Py( 0x00007f1ebed64330, ), ], }, expected_repr: "'solid2d_add_hole'", name: "literal['solid2d_add_hole']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid2d_add_hole']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid2DAddHole", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee860de0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid2DAddHole", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "along_vector", lookup_key: Simple { key: "along_vector", py_key: Py( 0x00007f1ebd7456f0, ), path: LookupPath( [ S( "along_vector", Py( 0x00007f1ebd745830, ), ), ], ), }, name_py: Py( 0x00007f1ebe13cb30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), name: "nullable[Point3d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75d4a0, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75d4d0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd745670, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd745770, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d500, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d530, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee788a0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_all_opposite_edges": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745800, ), ), values: [ Py( 0x00007f1ebee788a0, ), ], }, expected_repr: "'solid3d_get_all_opposite_edges'", name: "literal['solid3d_get_all_opposite_edges']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_all_opposite_edges']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetAllOppositeEdges", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8631d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetAllOppositeEdges", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75d560, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75d590, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd75d5c0, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd75d5f0, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd745570, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7456b0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d620, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d650, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78a80, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_opposite_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745740, ), ), values: [ Py( 0x00007f1ebee78a80, ), ], }, expected_repr: "'solid3d_get_opposite_edge'", name: "literal['solid3d_get_opposite_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_opposite_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetOppositeEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8677a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetOppositeEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75d680, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75d6b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd75d6e0, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd75d710, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd7454f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7455f0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d740, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d770, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee789e0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_next_adjacent_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745480, ), ), values: [ Py( 0x00007f1ebee789e0, ), ], }, expected_repr: "'solid3d_get_next_adjacent_edge'", name: "literal['solid3d_get_next_adjacent_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_next_adjacent_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetNextAdjacentEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee86a3c0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetNextAdjacentEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75d7a0, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75d7d0, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd75d800, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd75d830, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd745530, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7455b0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d860, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d890, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78ad0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_prev_adjacent_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745640, ), ), values: [ Py( 0x00007f1ebee78ad0, ), ], }, expected_repr: "'solid3d_get_prev_adjacent_edge'", name: "literal['solid3d_get_prev_adjacent_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_prev_adjacent_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetPrevAdjacentEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee86d190, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetPrevAdjacentEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "face_ids", lookup_key: Simple { key: "face_ids", py_key: Py( 0x00007f1ebd745430, ), path: LookupPath( [ S( "face_ids", Py( 0x00007f1ebd7454b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffdb0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd744fb0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd744cf0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75d8c0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75d8f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed64630, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_common_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7444c0, ), ), values: [ Py( 0x00007f1ebed64630, ), ], }, expected_repr: "'solid3d_get_common_edge'", name: "literal['solid3d_get_common_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_common_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetCommonEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee86fe50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetCommonEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cut_type", lookup_key: Simple { key: "cut_type", py_key: Py( 0x00007f1ebd745270, ), path: LookupPath( [ S( "cut_type", Py( 0x00007f1ebd745330, ), ), ], ), }, name_py: Py( 0x00007f1ebee1d470, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebec01d70, ), ), on_error: Raise, validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee4e58d0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "fillet": 0, "chamfer": 1, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd8c8640, ), ), values: [ Py( 0x00007f1ebe3e4ef0, ), Py( 0x00007f1ebe3e5010, ), ], }, missing: None, expected_repr: "'fillet' or 'chamfer'", strict: false, class_repr: "CutType", name: "str-enum[CutType]", }, ), validate_default: false, copy_default: false, name: "default[str-enum[CutType]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd75d920, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd75d950, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd75d980, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd75d9b0, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd7453b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7451b0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f1ebd75d9e0, ), path: LookupPath( [ S( "radius", Py( 0x00007f1ebd75da10, ), ), ], ), }, name_py: Py( 0x00007f1ebe1163d0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd79c0c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f1ebd7452b0, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f1ebd745130, ), ), ], ), }, name_py: Py( 0x00007f1ebe2ffbb0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd79c0c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75da40, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75da70, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed643f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_fillet_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745240, ), ), values: [ Py( 0x00007f1ebed643f0, ), ], }, expected_repr: "'solid3d_fillet_edge'", name: "literal['solid3d_fillet_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_fillet_edge']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DFilletEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8725f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DFilletEdge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd7450f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd745170, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75daa0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75dad0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee67770, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_is_planar": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745200, ), ), values: [ Py( 0x00007f1ebee67770, ), ], }, expected_repr: "'face_is_planar'", name: "literal['face_is_planar']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_is_planar']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionFaceIsPlanar", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee87aff0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionFaceIsPlanar", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd744ab0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7446f0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75db00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75db30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee677f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_get_position": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7442c0, ), ), values: [ Py( 0x00007f1ebee677f0, ), ], }, expected_repr: "'face_get_position'", name: "literal['face_get_position']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_position']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "uv", lookup_key: Simple { key: "uv", py_key: Py( 0x00007f1ebd75db60, ), path: LookupPath( [ S( "uv", Py( 0x00007f1ebd75db90, ), ), ], ), }, name_py: Py( 0x00007f1ebe13a190, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionFaceGetPosition", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee87cdd0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionFaceGetPosition", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd744f30, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd744ff0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75dbc0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75dbf0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee67970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_get_center": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd745080, ), ), values: [ Py( 0x00007f1ebee67970, ), ], }, expected_repr: "'face_get_center'", name: "literal['face_get_center']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_center']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionFaceGetCenter", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee880750, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionFaceGetCenter", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd744eb0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd744f70, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75dc20, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75dc50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee678b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_get_gradient": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744e80, ), ), values: [ Py( 0x00007f1ebee678b0, ), ], }, expected_repr: "'face_get_gradient'", name: "literal['face_get_gradient']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_gradient']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "uv", lookup_key: Simple { key: "uv", py_key: Py( 0x00007f1ebd75dc80, ), path: LookupPath( [ S( "uv", Py( 0x00007f1ebd75dcb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13a190, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionFaceGetGradient", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8827b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionFaceGetGradient", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "front", lookup_key: Simple { key: "front", py_key: Py( 0x00007f1ebd75dce0, ), path: LookupPath( [ S( "front", Py( 0x00007f1ebd75dd10, ), ), ], ), }, name_py: Py( 0x00007f1ebe13a640, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd744ef0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd744770, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75dd40, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75dd70, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63630, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "send_object": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7446c0, ), ), values: [ Py( 0x00007f1ebee63630, ), ], }, expected_repr: "'send_object'", name: "literal['send_object']", }, ), validate_default: false, copy_default: false, name: "default[literal['send_object']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSendObject", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee886130, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSendObject", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd7448b0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd744b70, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "opacity", lookup_key: Simple { key: "opacity", py_key: Py( 0x00007f1ebd75dda0, ), path: LookupPath( [ S( "opacity", Py( 0x00007f1ebd75ddd0, ), ), ], ), }, name_py: Py( 0x00007f1ec1514ab0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75de00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75de30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee655b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_set_opacity": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744dc0, ), ), values: [ Py( 0x00007f1ebee655b0, ), ], }, expected_repr: "'entity_set_opacity'", name: "literal['entity_set_opacity']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_set_opacity']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntitySetOpacity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8884c0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntitySetOpacity", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "duration_seconds", lookup_key: Simple { key: "duration_seconds", py_key: Py( 0x00007f1ebd7447b0, ), path: LookupPath( [ S( "duration_seconds", Py( 0x00007f1ebd744830, ), ), ], ), }, name_py: Py( 0x00007f1ebe13dbb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebecf6f50, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd7448f0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd744970, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "fade_in", lookup_key: Simple { key: "fade_in", py_key: Py( 0x00007f1ebd75de60, ), path: LookupPath( [ S( "fade_in", Py( 0x00007f1ebd75de90, ), ), ], ), }, name_py: Py( 0x00007f1ebe13ab20, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75dec0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75def0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee702f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_fade": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744640, ), ), values: [ Py( 0x00007f1ebee702f0, ), ], }, expected_repr: "'entity_fade'", name: "literal['entity_fade']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_fade']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEntityFade", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee88a9b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEntityFade", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "clobber", lookup_key: Simple { key: "clobber", py_key: Py( 0x00007f1ebd75df20, ), path: LookupPath( [ S( "clobber", Py( 0x00007f1ebd75df50, ), ), ], ), }, name_py: Py( 0x00007f1ebe117ea0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "hide", lookup_key: Simple { key: "hide", py_key: Py( 0x00007f1ebd75df80, ), path: LookupPath( [ S( "hide", Py( 0x00007f1ebd75dfb0, ), ), ], ), }, name_py: Py( 0x00007f1ec1e3a850, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Bool( BoolValidator { strict: false, }, ), name: "nullable[bool]", }, ), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py( 0x00007f1ebd75dfe0, ), path: LookupPath( [ S( "origin", Py( 0x00007f1ebd75e010, ), ), ], ), }, name_py: Py( 0x00007f1ec2f050a8, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "size", lookup_key: Simple { key: "size", py_key: Py( 0x00007f1ebd75e040, ), path: LookupPath( [ S( "size", Py( 0x00007f1ebd75e070, ), ), ], ), }, name_py: Py( 0x00007f1ec2f060c0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd79e640, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e0a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e0d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee602f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "make_plane": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744440, ), ), values: [ Py( 0x00007f1ebee602f0, ), ], }, expected_repr: "'make_plane'", name: "literal['make_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['make_plane']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "x_axis", lookup_key: Simple { key: "x_axis", py_key: Py( 0x00007f1ebd75e100, ), path: LookupPath( [ S( "x_axis", Py( 0x00007f1ebd75e130, ), ), ], ), }, name_py: Py( 0x00007f1ebeb654d0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "y_axis", lookup_key: Simple { key: "y_axis", py_key: Py( 0x00007f1ebd75e160, ), path: LookupPath( [ S( "y_axis", Py( 0x00007f1ebd75e190, ), ), ], ), }, name_py: Py( 0x00007f1ebeb64f60, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "OptionMakePlane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee88d840, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMakePlane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f1ebd75e1c0, ), path: LookupPath( [ S( "color", Py( 0x00007f1ebd75e1f0, ), ), ], ), }, name_py: Py( 0x00007f1ec21d84e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), frozen: false, }, Field { name: "plane_id", lookup_key: Simple { key: "plane_id", py_key: Py( 0x00007f1ebd744a30, ), path: LookupPath( [ S( "plane_id", Py( 0x00007f1ebd744730, ), ), ], ), }, name_py: Py( 0x00007f1ebe13df30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e220, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e250, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee624b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "plane_set_color": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7449c0, ), ), values: [ Py( 0x00007f1ebee624b0, ), ], }, expected_repr: "'plane_set_color'", name: "literal['plane_set_color']", }, ), validate_default: false, copy_default: false, name: "default[literal['plane_set_color']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionPlaneSetColor", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee893190, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPlaneSetColor", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "tool", lookup_key: Simple { key: "tool", py_key: Py( 0x00007f1ebd75e280, ), path: LookupPath( [ S( "tool", Py( 0x00007f1ebd75e2b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13b390, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee7437f0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "sketch_curve": 5, "sketch_curve_mod": 6, "select": 1, "move": 2, "sketch_line": 3, "sketch_tangential_arc": 4, "camera_revolve": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744a80, ), ), values: [ Py( 0x00007f1ebe16c3b0, ), Py( 0x00007f1ebe16c470, ), Py( 0x00007f1ebe16c4d0, ), Py( 0x00007f1ebe16c530, ), Py( 0x00007f1ebe16c590, ), Py( 0x00007f1ebe16c5f0, ), Py( 0x00007f1ebe16c650, ), ], }, missing: None, expected_repr: "'camera_revolve', 'select', 'move', 'sketch_line', 'sketch_tangential_arc', 'sketch_curve' or 'sketch_curve_mod'", strict: false, class_repr: "SceneToolType", name: "str-enum[SceneToolType]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e2e0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e310, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63f70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_tool": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744b00, ), ), values: [ Py( 0x00007f1ebee63f70, ), ], }, expected_repr: "'set_tool'", name: "literal['set_tool']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_tool']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetTool", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee896f50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetTool", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f1ebd744930, ), path: LookupPath( [ S( "sequence", Py( 0x00007f1ebd7449f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e340, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e370, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee60db0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "mouse_move": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7443c0, ), ), values: [ Py( 0x00007f1ebee60db0, ), ], }, expected_repr: "'mouse_move'", name: "literal['mouse_move']", }, ), validate_default: false, copy_default: false, name: "default[literal['mouse_move']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd75e3a0, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd75e3d0, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionMouseMove", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8990d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMouseMove", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e400, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e430, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee60d30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "mouse_click": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744240, ), ), values: [ Py( 0x00007f1ebee60d30, ), ], }, expected_repr: "'mouse_click'", name: "literal['mouse_click']", }, ), validate_default: false, copy_default: false, name: "default[literal['mouse_click']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd75e460, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd75e490, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionMouseClick", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee89d000, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMouseClick", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e4c0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e4f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed64230, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "sketch_mode_disable": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7445c0, ), ), values: [ Py( 0x00007f1ebed64230, ), ], }, expected_repr: "'sketch_mode_disable'", name: "literal['sketch_mode_disable']", }, ), validate_default: false, copy_default: false, name: "default[literal['sketch_mode_disable']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSketchModeDisable", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8a0420, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSketchModeDisable", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e520, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e550, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee66df0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "get_sketch_mode_plane": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744540, ), ), values: [ Py( 0x00007f1ebee66df0, ), ], }, expected_repr: "'get_sketch_mode_plane'", name: "literal['get_sketch_mode_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_sketch_mode_plane']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionGetSketchModePlane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8a1ee0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionGetSketchModePlane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "constraint_bound", lookup_key: Simple { key: "constraint_bound", py_key: Py( 0x00007f1ebd744670, ), path: LookupPath( [ S( "constraint_bound", Py( 0x00007f1ebd7444f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13e8b0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee6cd7d0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "partially_constrained": 1, "unconstrained": 0, "fully_constrained": 2, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744600, ), ), values: [ Py( 0x00007f1ebe297050, ), Py( 0x00007f1ebe2970b0, ), Py( 0x00007f1ebe297110, ), ], }, missing: None, expected_repr: "'unconstrained', 'partially_constrained' or 'fully_constrained'", strict: false, class_repr: "PathComponentConstraintBound", name: "str-enum[PathComponentConstraintBound]", }, ), frozen: false, }, Field { name: "constraint_type", lookup_key: Simple { key: "constraint_type", py_key: Py( 0x00007f1ebd744170, ), path: LookupPath( [ S( "constraint_type", Py( 0x00007f1ebd744330, ), ), ], ), }, name_py: Py( 0x00007f1ebe13e930, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee760f70, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "parallel": 4, "angle_between": 5, "vertical": 1, "horizontal": 2, "unconstrained": 0, "equal_length": 3, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744580, ), ), values: [ Py( 0x00007f1ebe297290, ), Py( 0x00007f1ebe2972f0, ), Py( 0x00007f1ebe297350, ), Py( 0x00007f1ebe2973b0, ), Py( 0x00007f1ebe297410, ), Py( 0x00007f1ebe297470, ), ], }, missing: None, expected_repr: "'unconstrained', 'vertical', 'horizontal', 'equal_length', 'parallel' or 'angle_between'", strict: false, class_repr: "PathComponentConstraintType", name: "str-enum[PathComponentConstraintType]", }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd7443f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd744470, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e580, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e5b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf5645b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_set_constraint": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744300, ), ), values: [ Py( 0x00007f1ebf5645b0, ), ], }, expected_repr: "'curve_set_constraint'", name: "literal['curve_set_constraint']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_set_constraint']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionCurveSetConstraint", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8a3dd0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCurveSetConstraint", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "adjust_camera", lookup_key: Simple { key: "adjust_camera", py_key: Py( 0x00007f1ebd744370, ), path: LookupPath( [ S( "adjust_camera", Py( 0x00007f1ebd7440b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13eb70, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "animated", lookup_key: Simple { key: "animated", py_key: Py( 0x00007f1ebd7441f0, ), path: LookupPath( [ S( "animated", Py( 0x00007f1ebd744270, ), ), ], ), }, name_py: Py( 0x00007f1ebe13ebb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd744030, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd744130, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "ortho", lookup_key: Simple { key: "ortho", py_key: Py( 0x00007f1ebd75e5e0, ), path: LookupPath( [ S( "ortho", Py( 0x00007f1ebd75e610, ), ), ], ), }, name_py: Py( 0x00007f1ebeddff30, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "planar_normal", lookup_key: Simple { key: "planar_normal", py_key: Py( 0x00007f1ebd7441b0, ), path: LookupPath( [ S( "planar_normal", Py( 0x00007f1ebd744070, ), ), ], ), }, name_py: Py( 0x00007f1ebe13ec30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), name: "nullable[Point3d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e640, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e670, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee71230, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "enable_sketch_mode": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd744100, ), ), values: [ Py( 0x00007f1ebee71230, ), ], }, expected_repr: "'enable_sketch_mode'", name: "literal['enable_sketch_mode']", }, ), validate_default: false, copy_default: false, name: "default[literal['enable_sketch_mode']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEnableSketchMode", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8a7080, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEnableSketchMode", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e6a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e6d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee712f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "enable_dry_run": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735680, ), ), values: [ Py( 0x00007f1ebee712f0, ), ], }, expected_repr: "'enable_dry_run'", name: "literal['enable_dry_run']", }, ), validate_default: false, copy_default: false, name: "default[literal['enable_dry_run']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionEnableDryRun", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8ab9a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionEnableDryRun", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e700, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e730, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed5f5f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "disable_dry_run": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735b40, ), ), values: [ Py( 0x00007f1ebed5f5f0, ), ], }, expected_repr: "'disable_dry_run'", name: "literal['disable_dry_run']", }, ), validate_default: false, copy_default: false, name: "default[literal['disable_dry_run']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDisableDryRun", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee2c7d30, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDisableDryRun", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f1ebd75e760, ), path: LookupPath( [ S( "color", Py( 0x00007f1ebd75e790, ), ), ], ), }, name_py: Py( 0x00007f1ec21d84e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e7c0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e7f0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_background_color": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737100, ), ), values: [ Py( 0x00007f1ebee63970, ), ], }, expected_repr: "'set_background_color'", name: "literal['set_background_color']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_background_color']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetBackgroundColor", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8aeee0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetBackgroundColor", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f1ebd75e820, ), path: LookupPath( [ S( "color", Py( 0x00007f1ebd75e850, ), ), ], ), }, name_py: Py( 0x00007f1ec21d84e0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), name: "nullable[Color]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Color]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e880, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e8b0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee786c0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_current_tool_properties": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737040, ), ), values: [ Py( 0x00007f1ebee786c0, ), ], }, expected_repr: "'set_current_tool_properties'", name: "literal['set_current_tool_properties']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_current_tool_properties']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetCurrentToolProperties", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8b2a30, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetCurrentToolProperties", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f1ebd75e8e0, ), path: LookupPath( [ S( "color", Py( 0x00007f1ebd75e910, ), ), ], ), }, name_py: Py( 0x00007f1ec21d84e0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), name: "nullable[Color]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Color]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e940, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e970, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78760, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_default_system_properties": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737180, ), ), values: [ Py( 0x00007f1ebee78760, ), ], }, expected_repr: "'set_default_system_properties'", name: "literal['set_default_system_properties']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_default_system_properties']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetDefaultSystemProperties", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8b6d20, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetDefaultSystemProperties", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f1ebd736ff0, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f1ebd737070, ), ), ], ), }, name_py: Py( 0x00007f1ebe437bf0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75e9a0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75e9d0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf564430, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_get_type": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736f00, ), ), values: [ Py( 0x00007f1ebf564430, ), ], }, expected_repr: "'curve_get_type'", name: "literal['curve_get_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_type']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionCurveGetType", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8baf60, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCurveGetType", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f1ebd736fb0, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f1ebd7370b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe437bf0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ea00, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ea30, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee496b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_get_control_points": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736f80, ), ), values: [ Py( 0x00007f1ebee496b0, ), ], }, expected_repr: "'curve_get_control_points'", name: "literal['curve_get_control_points']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_control_points']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionCurveGetControlPoints", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee410280, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCurveGetControlPoints", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f1ebd736570, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f1ebd7364b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe494bb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "plane_id", lookup_key: Simple { key: "plane_id", py_key: Py( 0x00007f1ebd7365f0, ), path: LookupPath( [ S( "plane_id", Py( 0x00007f1ebd736470, ), ), ], ), }, name_py: Py( 0x00007f1ebe13df30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ea60, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ea90, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee62770, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "project_entity_to_plane": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736500, ), ), values: [ Py( 0x00007f1ebee62770, ), ], }, expected_repr: "'project_entity_to_plane'", name: "literal['project_entity_to_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['project_entity_to_plane']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "use_plane_coords", lookup_key: Simple { key: "use_plane_coords", py_key: Py( 0x00007f1ebd7365b0, ), path: LookupPath( [ S( "use_plane_coords", Py( 0x00007f1ebd736670, ), ), ], ), }, name_py: Py( 0x00007f1ebe13f870, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, ], model_name: "OptionProjectEntityToPlane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8c51f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionProjectEntityToPlane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "plane_id", lookup_key: Simple { key: "plane_id", py_key: Py( 0x00007f1ebd736530, ), path: LookupPath( [ S( "plane_id", Py( 0x00007f1ebd735c30, ), ), ], ), }, name_py: Py( 0x00007f1ebe13df30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "points", lookup_key: Simple { key: "points", py_key: Py( 0x00007f1ebd75eac0, ), path: LookupPath( [ S( "points", Py( 0x00007f1ebd75eaf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe140ed0, ), validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75eb20, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75eb50, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee62870, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "project_points_to_plane": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736340, ), ), values: [ Py( 0x00007f1ebee62870, ), ], }, expected_repr: "'project_points_to_plane'", name: "literal['project_points_to_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['project_points_to_plane']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "use_plane_coords", lookup_key: Simple { key: "use_plane_coords", py_key: Py( 0x00007f1ebd736030, ), path: LookupPath( [ S( "use_plane_coords", Py( 0x00007f1ebd7344f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13f870, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, ], model_name: "OptionProjectPointsToPlane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8c7e90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionProjectPointsToPlane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "format", lookup_key: Simple { key: "format", py_key: Py( 0x00007f1ebd9bd3e0, ), path: LookupPath( [ S( "format", Py( 0x00007f1ebd75eb80, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02e10, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee622640, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "jpeg": 1, "png": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737c80, ), ), values: [ Py( 0x00007f1ebe43edb0, ), Py( 0x00007f1ebe43ee10, ), ], }, missing: None, expected_repr: "'png' or 'jpeg'", strict: false, class_repr: "ImageFormat", name: "str-enum[ImageFormat]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ebb0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ebe0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed65270, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "take_snapshot": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7379c0, ), ), values: [ Py( 0x00007f1ebed65270, ), ], }, expected_repr: "'take_snapshot'", name: "literal['take_snapshot']", }, ), validate_default: false, copy_default: false, name: "default[literal['take_snapshot']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionTakeSnapshot", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8cc060, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionTakeSnapshot", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "clobber", lookup_key: Simple { key: "clobber", py_key: Py( 0x00007f1ebd75ec10, ), path: LookupPath( [ S( "clobber", Py( 0x00007f1ebd75ec40, ), ), ], ), }, name_py: Py( 0x00007f1ebe117ea0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "gizmo_mode", lookup_key: Simple { key: "gizmo_mode", py_key: Py( 0x00007f1ebd734470, ), path: LookupPath( [ S( "gizmo_mode", Py( 0x00007f1ebd7343b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13fc70, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ec70, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75eca0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee601b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "make_axes_gizmo": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7376c0, ), ), values: [ Py( 0x00007f1ebee601b0, ), ], }, expected_repr: "'make_axes_gizmo'", name: "literal['make_axes_gizmo']", }, ), validate_default: false, copy_default: false, name: "default[literal['make_axes_gizmo']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionMakeAxesGizmo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8ce330, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMakeAxesGizmo", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd75ecd0, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd75ed00, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ed30, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ed60, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee61cf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_info": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7344c0, ), ), values: [ Py( 0x00007f1ebee61cf0, ), ], }, expected_repr: "'path_get_info'", name: "literal['path_get_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_info']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionPathGetInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8d07c0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPathGetInfo", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd75ed90, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd75edc0, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75edf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ee20, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78300, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_curve_uuids_for_vertices": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd734540, ), ), values: [ Py( 0x00007f1ebee78300, ), ], }, expected_repr: "'path_get_curve_uuids_for_vertices'", name: "literal['path_get_curve_uuids_for_vertices']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_curve_uuids_for_vertices']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "vertex_ids", lookup_key: Simple { key: "vertex_ids", py_key: Py( 0x00007f1ebd7345b0, ), path: LookupPath( [ S( "vertex_ids", Py( 0x00007f1ebd7345f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13ffb0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "OptionPathGetCurveUuidsForVertices", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8d28b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPathGetCurveUuidsForVertices", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "index", lookup_key: Simple { key: "index", py_key: Py( 0x00007f1ebd75ee50, ), path: LookupPath( [ S( "index", Py( 0x00007f1ebd75ee80, ), ), ], ), }, name_py: Py( 0x00007f1ec2820240, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd75eeb0, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd75eee0, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ef10, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ef40, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee61bf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_curve_uuid": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd734680, ), ), values: [ Py( 0x00007f1ebee61bf0, ), ], }, expected_repr: "'path_get_curve_uuid'", name: "literal['path_get_curve_uuid']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_curve_uuid']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionPathGetCurveUuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8d50c0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPathGetCurveUuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd75ef70, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd75efa0, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75efd0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f000, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee61e70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_vertex_uuids": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7373c0, ), ), values: [ Py( 0x00007f1ebee61e70, ), ], }, expected_repr: "'path_get_vertex_uuids'", name: "literal['path_get_vertex_uuids']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_vertex_uuids']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionPathGetVertexUuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8d76d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPathGetVertexUuids", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f1ebd75f030, ), path: LookupPath( [ S( "path_id", Py( 0x00007f1ebd75f060, ), ), ], ), }, name_py: Py( 0x00007f1ebeb65620, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f090, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f0c0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee783a0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_sketch_target_uuid": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd734440, ), ), values: [ Py( 0x00007f1ebee783a0, ), ], }, expected_repr: "'path_get_sketch_target_uuid'", name: "literal['path_get_sketch_target_uuid']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_sketch_target_uuid']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionPathGetSketchTargetUuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8d9810, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPathGetSketchTargetUuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f0f0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f120, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee668f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "handle_mouse_drag_start": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737c00, ), ), values: [ Py( 0x00007f1ebee668f0, ), ], }, expected_repr: "'handle_mouse_drag_start'", name: "literal['handle_mouse_drag_start']", }, ), validate_default: false, copy_default: false, name: "default[literal['handle_mouse_drag_start']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd75f150, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd75f180, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionHandleMouseDragStart", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8db990, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionHandleMouseDragStart", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f1ebd736e30, ), path: LookupPath( [ S( "sequence", Py( 0x00007f1ebd737b70, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05e10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f1b0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f1e0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee669f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "handle_mouse_drag_move": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737940, ), ), values: [ Py( 0x00007f1ebee669f0, ), ], }, expected_repr: "'handle_mouse_drag_move'", name: "literal['handle_mouse_drag_move']", }, ), validate_default: false, copy_default: false, name: "default[literal['handle_mouse_drag_move']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd75f210, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd75f240, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionHandleMouseDragMove", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8deed0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionHandleMouseDragMove", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f270, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f2a0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee66af0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "handle_mouse_drag_end": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736d40, ), ), values: [ Py( 0x00007f1ebee66af0, ), ], }, expected_repr: "'handle_mouse_drag_end'", name: "literal['handle_mouse_drag_end']", }, ), validate_default: false, copy_default: false, name: "default[literal['handle_mouse_drag_end']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd75f2d0, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd75f300, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionHandleMouseDragEnd", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8e2cb0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionHandleMouseDragEnd", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_ids", lookup_key: Simple { key: "object_ids", py_key: Py( 0x00007f1ebd737ef0, ), path: LookupPath( [ S( "object_ids", Py( 0x00007f1ebd737e70, ), ), ], ), }, name_py: Py( 0x00007f1ebe184eb0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f330, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f360, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee62a70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "remove_scene_objects": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737f80, ), ), values: [ Py( 0x00007f1ebee62a70, ), ], }, expected_repr: "'remove_scene_objects'", name: "literal['remove_scene_objects']", }, ), validate_default: false, copy_default: false, name: "default[literal['remove_scene_objects']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionRemoveSceneObjects", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8e61d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionRemoveSceneObjects", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "plane_id", lookup_key: Simple { key: "plane_id", py_key: Py( 0x00007f1ebd737cf0, ), path: LookupPath( [ S( "plane_id", Py( 0x00007f1ebd737eb0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13df30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f390, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f3c0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee784e0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "plane_intersect_and_project": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737f40, ), ), values: [ Py( 0x00007f1ebee784e0, ), ], }, expected_repr: "'plane_intersect_and_project'", name: "literal['plane_intersect_and_project']", }, ), validate_default: false, copy_default: false, name: "default[literal['plane_intersect_and_project']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f1ebd75f3f0, ), path: LookupPath( [ S( "window", Py( 0x00007f1ebd75f420, ), ), ], ), }, name_py: Py( 0x00007f1ec1843870, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionPlaneIntersectAndProject", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8e8580, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPlaneIntersectAndProject", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f1ebd737fb0, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f1ebd737df0, ), ), ], ), }, name_py: Py( 0x00007f1ebe437bf0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f450, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f480, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf567230, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_get_end_points": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737d80, ), ), values: [ Py( 0x00007f1ebf567230, ), ], }, expected_repr: "'curve_get_end_points'", name: "literal['curve_get_end_points']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_end_points']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionCurveGetEndPoints", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8e9ff0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCurveGetEndPoints", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "bitrate", lookup_key: Simple { key: "bitrate", py_key: Py( 0x00007f1ebd75f4b0, ), path: LookupPath( [ S( "bitrate", Py( 0x00007f1ebd75f4e0, ), ), ], ), }, name_py: Py( 0x00007f1ebe1427c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "fps", lookup_key: Simple { key: "fps", py_key: Py( 0x00007f1ebd75f510, ), path: LookupPath( [ S( "fps", Py( 0x00007f1ebd75f540, ), ), ], ), }, name_py: Py( 0x00007f1ebe1428b0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "height", lookup_key: Simple { key: "height", py_key: Py( 0x00007f1ebd75f570, ), path: LookupPath( [ S( "height", Py( 0x00007f1ebd75f5a0, ), ), ], ), }, name_py: Py( 0x00007f1ec1845140, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f5d0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f600, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee62970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "reconfigure_stream": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737cc0, ), ), values: [ Py( 0x00007f1ebee62970, ), ], }, expected_repr: "'reconfigure_stream'", name: "literal['reconfigure_stream']", }, ), validate_default: false, copy_default: false, name: "default[literal['reconfigure_stream']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "width", lookup_key: Simple { key: "width", py_key: Py( 0x00007f1ebd75f630, ), path: LookupPath( [ S( "width", Py( 0x00007f1ebd75f660, ), ), ], ), }, name_py: Py( 0x00007f1ec2823810, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, ], model_name: "OptionReconfigureStream", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8edea0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionReconfigureStream", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "files", lookup_key: Simple { key: "files", py_key: Py( 0x00007f1ebd75f750, ), path: LookupPath( [ S( "files", Py( 0x00007f1ebd75f780, ), ), ], ), }, name_py: Py( 0x00007f1ec2912400, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f1ebd75f690, ), path: LookupPath( [ S( "data", Py( 0x00007f1ebd75f6c0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f01ed0, ), validator: Bytes( BytesValidator { strict: false, bytes_mode: ValBytesMode { ser: Utf8, }, }, ), frozen: false, }, Field { name: "path", lookup_key: Simple { key: "path", py_key: Py( 0x00007f1ebd75f6f0, ), path: LookupPath( [ S( "path", Py( 0x00007f1ebd75f720, ), ), ], ), }, name_py: Py( 0x00007f1ec2f05240, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "ImportFile", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee623110, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "ImportFile", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "format", lookup_key: Simple { key: "format", py_key: Py( 0x00007f1ebd75fc90, ), path: LookupPath( [ S( "format", Py( 0x00007f1ebd75fcc0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02e10, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f1ec2f06bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ec2f06bf0, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "fbx": 0, "gltf": 1, "sldprt": 4, "obj": 2, "step": 5, "ply": 3, "stl": 6, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737b00, ), ), values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f7b0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f7e0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeec8f30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "fbx": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737dc0, ), ), values: [ Py( 0x00007f1ebeec8f30, ), ], }, expected_repr: "'fbx'", name: "literal['fbx']", }, ), validate_default: false, copy_default: false, name: "default[literal['fbx']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionFbx", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee1c1a90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionFbx", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f810, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f840, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeec9110, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "gltf": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7378c0, ), ), values: [ Py( 0x00007f1ebeec9110, ), ], }, expected_repr: "'gltf'", name: "literal['gltf']", }, ), validate_default: false, copy_default: false, name: "default[literal['gltf']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionGltf", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee2b2340, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionGltf", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f1ebd75f870, ), path: LookupPath( [ S( "coords", Py( 0x00007f1ebd75f8a0, ), ), ], ), }, name_py: Py( 0x00007f1ebeec9a40, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f8d0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75f900, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2f04d70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "obj": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737640, ), ), values: [ Py( 0x00007f1ec2f04d70, ), ], }, expected_repr: "'obj'", name: "literal['obj']", }, ), validate_default: false, copy_default: false, name: "default[literal['obj']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f1ebd75f930, ), path: LookupPath( [ S( "units", Py( 0x00007f1ebd75f960, ), ), ], ), }, name_py: Py( 0x00007f1ec1db39c0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionObj", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9edd01a50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionObj", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f1ebd75f990, ), path: LookupPath( [ S( "coords", Py( 0x00007f1ebd75f9c0, ), ), ], ), }, name_py: Py( 0x00007f1ebeec9a40, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75f9f0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fa20, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeec92c0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "ply": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736ac0, ), ), values: [ Py( 0x00007f1ebeec92c0, ), ], }, expected_repr: "'ply'", name: "literal['ply']", }, ), validate_default: false, copy_default: false, name: "default[literal['ply']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f1ebd75fa50, ), path: LookupPath( [ S( "units", Py( 0x00007f1ebd75fa80, ), ), ], ), }, name_py: Py( 0x00007f1ec1db39c0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionPly", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee310be0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionPly", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "split_closed_faces", lookup_key: Simple { key: "split_closed_faces", py_key: Py( 0x00007f1ebd737ab0, ), path: LookupPath( [ S( "split_closed_faces", Py( 0x00007f1ebd737bb0, ), ), ], ), }, name_py: Py( 0x00007f1ebeccc5b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2eb99e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fab0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fae0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeec94d0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "sldprt": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737c40, ), ), values: [ Py( 0x00007f1ebeec94d0, ), ], }, expected_repr: "'sldprt'", name: "literal['sldprt']", }, ), validate_default: false, copy_default: false, name: "default[literal['sldprt']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSldprt", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee310800, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSldprt", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "split_closed_faces", lookup_key: Simple { key: "split_closed_faces", py_key: Py( 0x00007f1ebd737a30, ), path: LookupPath( [ S( "split_closed_faces", Py( 0x00007f1ebd737b30, ), ), ], ), }, name_py: Py( 0x00007f1ebeccc5b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2eb99e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fb10, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fb40, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2f06460, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "step": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737a00, ), ), values: [ Py( 0x00007f1ec2f06460, ), ], }, expected_repr: "'step'", name: "literal['step']", }, ), validate_default: false, copy_default: false, name: "default[literal['step']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionStep", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee310420, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionStep", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f1ebd75fb70, ), path: LookupPath( [ S( "coords", Py( 0x00007f1ebd75fba0, ), ), ], ), }, name_py: Py( 0x00007f1ebeec9a40, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fbd0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fc00, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeec94a0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "stl": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737a80, ), ), values: [ Py( 0x00007f1ebeec94a0, ), ], }, expected_repr: "'stl'", name: "literal['stl']", }, ), validate_default: false, copy_default: false, name: "default[literal['stl']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f1ebd75fc30, ), path: LookupPath( [ S( "units", Py( 0x00007f1ebd75fc60, ), ), ], ), }, name_py: Py( 0x00007f1ec1db39c0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionStl", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee0e7350, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionStl", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'fbx', 'gltf', 'obj', 'ply', 'sldprt', 'step', 'stl'", discriminator_repr: "'type'", name: "tagged-union[OptionFbx,OptionGltf,OptionObj,OptionPly,OptionSldprt,OptionStep,OptionStl]", }, ), class: Py( 0x000055d9edd050a0, ), generic_origin: Some( Py( 0x000055d9ee0df6b0, ), ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f1ec0cae3d0, ), name: "RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionSldprt, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fcf0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fd20, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee660f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "import_files": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737d40, ), ), values: [ Py( 0x00007f1ebee660f0, ), ], }, expected_repr: "'import_files'", name: "literal['import_files']", }, ), validate_default: false, copy_default: false, name: "default[literal['import_files']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionImportFiles", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8f1570, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionImportFiles", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fd50, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fd80, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63cf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_scene_units": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7375c0, ), ), values: [ Py( 0x00007f1ebee63cf0, ), ], }, expected_repr: "'set_scene_units'", name: "literal['set_scene_units']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_scene_units']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "unit", lookup_key: Simple { key: "unit", py_key: Py( 0x00007f1ebd75fdb0, ), path: LookupPath( [ S( "unit", Py( 0x00007f1ebd75fde0, ), ), ], ), }, name_py: Py( 0x00007f1ec1842550, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "OptionSetSceneUnits", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee9042f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetSceneUnits", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd737330, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd736830, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "material_density", lookup_key: Simple { key: "material_density", py_key: Py( 0x00007f1ebd737830, ), path: LookupPath( [ S( "material_density", Py( 0x00007f1ebd7378f0, ), ), ], ), }, name_py: Py( 0x00007f1ebebb8970, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "material_density_unit", lookup_key: Simple { key: "material_density_unit", py_key: Py( 0x00007f1ebd737970, ), path: LookupPath( [ S( "material_density_unit", Py( 0x00007f1ebd7377b0, ), ), ], ), }, name_py: Py( 0x00007f1ebebb89f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f1ebd737870, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f1ebd737730, ), ), ], ), }, name_py: Py( 0x00007f1ebebb86b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fe10, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fe40, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebf269aa0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "mass": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737800, ), ), values: [ Py( 0x00007f1ebf269aa0, ), ], }, expected_repr: "'mass'", name: "literal['mass']", }, ), validate_default: false, copy_default: false, name: "default[literal['mass']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionMass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee906a80, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMass", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd7376f0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd737770, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "material_mass", lookup_key: Simple { key: "material_mass", py_key: Py( 0x00007f1ebd7372b0, ), path: LookupPath( [ S( "material_mass", Py( 0x00007f1ebd736db0, ), ), ], ), }, name_py: Py( 0x00007f1ebecc80b0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "material_mass_unit", lookup_key: Simple { key: "material_mass_unit", py_key: Py( 0x00007f1ebd735d30, ), path: LookupPath( [ S( "material_mass_unit", Py( 0x00007f1ebd737530, ), ), ], ), }, name_py: Py( 0x00007f1ebecc8130, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f1ebd7375f0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f1ebd737670, ), ), ], ), }, name_py: Py( 0x00007f1ebebb86b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fe70, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75fea0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec00d7660, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "density": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7374c0, ), ), values: [ Py( 0x00007f1ec00d7660, ), ], }, expected_repr: "'density'", name: "literal['density']", }, ), validate_default: false, copy_default: false, name: "default[literal['density']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDensity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee90a080, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDensity", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd737570, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd737430, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f1ebd7373f0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f1ebd737470, ), ), ], ), }, name_py: Py( 0x00007f1ebebb86b0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee288050, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "ft3": 1, "usfloz": 5, "cm3": 0, "l": 7, "yd3": 4, "ml": 8, "usgal": 6, "m3": 3, "in3": 2, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737500, ), ), values: [ Py( 0x00007f1ebe5f1bb0, ), Py( 0x00007f1ebe5f1c10, ), Py( 0x00007f1ebe5f1c70, ), Py( 0x00007f1ebe5f1cd0, ), Py( 0x00007f1ebe5f1d30, ), Py( 0x00007f1ebe5f1d90, ), Py( 0x00007f1ebe5f1df0, ), Py( 0x00007f1ebe5f1e50, ), Py( 0x00007f1ebe5f1eb0, ), ], }, missing: None, expected_repr: "'cm3', 'ft3', 'in3', 'm3', 'yd3', 'usfloz', 'usgal', 'l' or 'ml'", strict: false, class_repr: "UnitVolume", name: "str-enum[UnitVolume]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75fed0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ff00, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2f06e78, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "volume": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736cc0, ), ), values: [ Py( 0x00007f1ec2f06e78, ), ], }, expected_repr: "'volume'", name: "literal['volume']", }, ), validate_default: false, copy_default: false, name: "default[literal['volume']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionVolume", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee90d900, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionVolume", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd736170, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd737230, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f1ebd7372f0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f1ebd737370, ), ), ], ), }, name_py: Py( 0x00007f1ebebb86b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ff30, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ff60, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebefa4430, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "center_of_mass": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7371c0, ), ), values: [ Py( 0x00007f1ebefa4430, ), ], }, expected_repr: "'center_of_mass'", name: "literal['center_of_mass']", }, ), validate_default: false, copy_default: false, name: "default[literal['center_of_mass']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionCenterOfMass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee910760, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionCenterOfMass", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f1ebd737270, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f1ebd736f30, ), ), ], ), }, name_py: Py( 0x00007f1ebf0f9ab0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f1ebd736eb0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f1ebd737130, ), ), ], ), }, name_py: Py( 0x00007f1ebebb86b0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee27cb20, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "km2": 4, "yd2": 7, "ft2": 2, "in2": 3, "cm2": 0, "dm2": 1, "m2": 5, "mm2": 6, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd737200, ), ), values: [ Py( 0x00007f1ebe5f15b0, ), Py( 0x00007f1ebe5f1610, ), Py( 0x00007f1ebe5f1670, ), Py( 0x00007f1ebe5f16d0, ), Py( 0x00007f1ebe5f1730, ), Py( 0x00007f1ebe5f1790, ), Py( 0x00007f1ebe5f17f0, ), Py( 0x00007f1ebe5f1850, ), ], }, missing: None, expected_repr: "'cm2', 'dm2', 'ft2', 'in2', 'km2', 'm2', 'mm2' or 'yd2'", strict: false, class_repr: "UnitArea", name: "str-enum[UnitArea]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd75ff90, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd75ffc0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed651f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "surface_area": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736c40, ), ), values: [ Py( 0x00007f1ebed651f0, ), ], }, expected_repr: "'surface_area'", name: "literal['surface_area']", }, ), validate_default: false, copy_default: false, name: "default[literal['surface_area']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSurfaceArea", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee9131b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSurfaceArea", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754030, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754060, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed5e730, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_focus_on": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736a40, ), ), values: [ Py( 0x00007f1ebed5e730, ), ], }, expected_repr: "'default_camera_focus_on'", name: "literal['default_camera_focus_on']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_focus_on']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "uuid", lookup_key: Simple { key: "uuid", py_key: Py( 0x00007f1ebd754090, ), path: LookupPath( [ S( "uuid", Py( 0x00007f1ebd7540c0, ), ), ], ), }, name_py: Py( 0x00007f1ec192c5a0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "OptionDefaultCameraFocusOn", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee915d60, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraFocusOn", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "selection_type", lookup_key: Simple { key: "selection_type", py_key: Py( 0x00007f1ebd736130, ), path: LookupPath( [ S( "selection_type", Py( 0x00007f1ebd7361f0, ), ), ], ), }, name_py: Py( 0x00007f1ebe112db0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd7540f0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754120, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63eb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_selection_type": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736100, ), ), values: [ Py( 0x00007f1ebee63eb0, ), ], }, expected_repr: "'set_selection_type'", name: "literal['set_selection_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_selection_type']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetSelectionType", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee917ee0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetSelectionType", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "filter", lookup_key: Simple { key: "filter", py_key: Py( 0x00007f1ebd754150, ), path: LookupPath( [ S( "filter", Py( 0x00007f1ebd754180, ), ), ], ), }, name_py: Py( 0x00007f1ec2f02c48, ), validator: List( ListValidator { strict: false, item_validator: Some( StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055d9ee555d30, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid2d": 4, "solid3d": 5, "object": 1, "path": 2, "edge": 6, "entity": 0, "face": 7, "plane": 8, "vertex": 9, "curve": 3, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7361c0, ), ), values: [ Py( 0x00007f1ebe4a6390, ), Py( 0x00007f1ebe4a65d0, ), Py( 0x00007f1ebe4a6630, ), Py( 0x00007f1ebe4a6690, ), Py( 0x00007f1ebe4a66f0, ), Py( 0x00007f1ebe4a6750, ), Py( 0x00007f1ebe4a67b0, ), Py( 0x00007f1ebe4a6810, ), Py( 0x00007f1ebe4a6870, ), Py( 0x00007f1ebe4a68d0, ), ], }, missing: None, expected_repr: "'entity', 'object', 'path', 'curve', 'solid2d', 'solid3d', 'edge', 'face', 'plane' or 'vertex'", strict: false, class_repr: "EntityType", name: "str-enum[EntityType]", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd7541b0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd7541e0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63db0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_selection_filter": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736280, ), ), values: [ Py( 0x00007f1ebee63db0, ), ], }, expected_repr: "'set_selection_filter'", name: "literal['set_selection_filter']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_selection_filter']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetSelectionFilter", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee91a1f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetSelectionFilter", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754210, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754240, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49b60, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_set_orthographic": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735fc0, ), ), values: [ Py( 0x00007f1ebee49b60, ), ], }, expected_repr: "'default_camera_set_orthographic'", name: "literal['default_camera_set_orthographic']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_set_orthographic']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraSetOrthographic", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee7d4690, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraSetOrthographic", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "parameters", lookup_key: Simple { key: "parameters", py_key: Py( 0x00007f1ebd7360b0, ), path: LookupPath( [ S( "parameters", Py( 0x00007f1ebd736d70, ), ), ], ), }, name_py: Py( 0x00007f1ec2197b30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "fov_y", lookup_key: Simple { key: "fov_y", py_key: Py( 0x00007f1ebd754270, ), path: LookupPath( [ S( "fov_y", Py( 0x00007f1ebd7542a0, ), ), ], ), }, name_py: Py( 0x00007f1ebeddfde0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "z_far", lookup_key: Simple { key: "z_far", py_key: Py( 0x00007f1ebd7542d0, ), path: LookupPath( [ S( "z_far", Py( 0x00007f1ebd754300, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f7c90, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "z_near", lookup_key: Simple { key: "z_near", py_key: Py( 0x00007f1ebd754330, ), path: LookupPath( [ S( "z_near", Py( 0x00007f1ebd754360, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f7d80, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), name: "nullable[float]", }, ), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "PerspectiveCameraParameters", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee73cd90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "PerspectiveCameraParameters", }, ), name: "nullable[PerspectiveCameraParameters]", }, ), validate_default: false, copy_default: false, name: "default[nullable[PerspectiveCameraParameters]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754390, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd7543c0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49c00, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_set_perspective": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736e00, ), ), values: [ Py( 0x00007f1ebee49c00, ), ], }, expected_repr: "'default_camera_set_perspective'", name: "literal['default_camera_set_perspective']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_set_perspective']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraSetPerspective", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee91ff90, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraSetPerspective", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "camera_movement", lookup_key: Simple { key: "camera_movement", py_key: Py( 0x00007f1ebd736e70, ), path: LookupPath( [ S( "camera_movement", Py( 0x00007f1ebd736070, ), ), ], ), }, name_py: Py( 0x00007f1ebefa7030, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebebe5230, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "str-enum[CameraMovement]", }, ), validate_default: false, copy_default: false, name: "default[str-enum[CameraMovement]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd7543f0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754420, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49840, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_center_to_selection": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7369c0, ), ), values: [ Py( 0x00007f1ebee49840, ), ], }, expected_repr: "'default_camera_center_to_selection'", name: "literal['default_camera_center_to_selection']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_center_to_selection']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraCenterToSelection", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee925350, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraCenterToSelection", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "camera_movement", lookup_key: Simple { key: "camera_movement", py_key: Py( 0x00007f1ebd7367b0, ), path: LookupPath( [ S( "camera_movement", Py( 0x00007f1ebd735370, ), ), ], ), }, name_py: Py( 0x00007f1ebefa7030, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebebe5230, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "str-enum[CameraMovement]", }, ), validate_default: false, copy_default: false, name: "default[str-enum[CameraMovement]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754450, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754480, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee49700, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_center_to_scene": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736bc0, ), ), values: [ Py( 0x00007f1ebee49700, ), ], }, expected_repr: "'default_camera_center_to_scene'", name: "literal['default_camera_center_to_scene']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_center_to_scene']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionDefaultCameraCenterToScene", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee92fab0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionDefaultCameraCenterToScene", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "animated", lookup_key: Simple { key: "animated", py_key: Py( 0x00007f1ebd736c70, ), path: LookupPath( [ S( "animated", Py( 0x00007f1ebd736cf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe13ebb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2eb99e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "object_ids", lookup_key: Simple { key: "object_ids", py_key: Py( 0x00007f1ebd736b30, ), path: LookupPath( [ S( "object_ids", Py( 0x00007f1ebd736bf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe184eb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebe0f5d00, ), ), on_error: Raise, validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( "list[str]", ), fail_fast: false, }, ), validate_default: false, copy_default: true, name: "default[list[str]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "padding", lookup_key: Simple { key: "padding", py_key: Py( 0x00007f1ebd7544b0, ), path: LookupPath( [ S( "padding", Py( 0x00007f1ebd7544e0, ), ), ], ), }, name_py: Py( 0x00007f1ec21d9680, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebecf7290, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754510, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754540, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed87bb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "zoom_to_fit": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736b00, ), ), values: [ Py( 0x00007f1ebed87bb0, ), ], }, expected_repr: "'zoom_to_fit'", name: "literal['zoom_to_fit']", }, ), validate_default: false, copy_default: false, name: "default[literal['zoom_to_fit']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionZoomToFit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee9321a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionZoomToFit", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "animated", lookup_key: Simple { key: "animated", py_key: Py( 0x00007f1ebd736b70, ), path: LookupPath( [ S( "animated", Py( 0x00007f1ebd736730, ), ), ], ), }, name_py: Py( 0x00007f1ebe13ebb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2eb99e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd754570, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd7545a0, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "padding", lookup_key: Simple { key: "padding", py_key: Py( 0x00007f1ebd7545d0, ), path: LookupPath( [ S( "padding", Py( 0x00007f1ebd754600, ), ), ], ), }, name_py: Py( 0x00007f1ec21d9680, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebecf7290, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754630, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754660, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee617f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "orient_to_face": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735bc0, ), ), values: [ Py( 0x00007f1ebee617f0, ), ], }, expected_repr: "'orient_to_face'", name: "literal['orient_to_face']", }, ), validate_default: false, copy_default: false, name: "default[literal['orient_to_face']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionOrientToFace", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee935e50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionOrientToFace", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "padding", lookup_key: Simple { key: "padding", py_key: Py( 0x00007f1ebd754690, ), path: LookupPath( [ S( "padding", Py( 0x00007f1ebd7546c0, ), ), ], ), }, name_py: Py( 0x00007f1ec21d9680, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebecf7290, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd7546f0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754720, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebed87670, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "view_isometric": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7354c0, ), ), values: [ Py( 0x00007f1ebed87670, ), ], }, expected_repr: "'view_isometric'", name: "literal['view_isometric']", }, ), validate_default: false, copy_default: false, name: "default[literal['view_isometric']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionViewIsometric", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee9390c0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionViewIsometric", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f1ebd754750, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f1ebd754780, ), ), ], ), }, name_py: Py( 0x00007f1ebe5f6460, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd736930, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7369f0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd7547b0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd7547e0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78940, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_extrusion_face_info": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736a80, ), ), values: [ Py( 0x00007f1ebee78940, ), ], }, expected_repr: "'solid3d_get_extrusion_face_info'", name: "literal['solid3d_get_extrusion_face_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_extrusion_face_info']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSolid3DGetExtrusionFaceInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee93b3a0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSolid3DGetExtrusionFaceInfo", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754810, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754840, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee632f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_clear": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd7368c0, ), ), values: [ Py( 0x00007f1ebee632f0, ), ], }, expected_repr: "'select_clear'", name: "literal['select_clear']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_clear']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSelectClear", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee93d990, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSelectClear", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754870, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd7548a0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63370, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_get": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736980, ), ), values: [ Py( 0x00007f1ebee63370, ), ], }, expected_repr: "'select_get'", name: "literal['select_get']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_get']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSelectGet", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee93f3f0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSelectGet", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd7548d0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754900, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee66eb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "get_num_objects": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd736880, ), ), values: [ Py( 0x00007f1ebee66eb0, ), ], }, expected_repr: "'get_num_objects'", name: "literal['get_num_objects']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_num_objects']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionGetNumObjects", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee9413b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionGetNumObjects", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd7368f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd7353b0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "transforms", lookup_key: Simple { key: "transforms", py_key: Py( 0x00007f1ebd7366f0, ), path: LookupPath( [ S( "transforms", Py( 0x00007f1ebd735770, ), ), ], ), }, name_py: Py( 0x00007f1ec1b6a7f0, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "rotate_angle_axis", lookup_key: Simple { key: "rotate_angle_axis", py_key: Py( 0x00007f1ebd735e70, ), path: LookupPath( [ S( "rotate_angle_axis", Py( 0x00007f1ebd7357b0, ), ), ], ), }, name_py: Py( 0x00007f1ebe373670, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee412d60, ), config: Py( 0x00007f1ebd7c6b00, ), name: "function-after[TransformByForPoint4d(), str]", field_name: None, info_arg: false, }, ), name: "nullable[function-after[TransformByForPoint4d(), str]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[function-after[TransformByForPoint4d(), str]]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "rotate_rpy", lookup_key: Simple { key: "rotate_rpy", py_key: Py( 0x00007f1ebd7366b0, ), path: LookupPath( [ S( "rotate_rpy", Py( 0x00007f1ebd736770, ), ), ], ), }, name_py: Py( 0x00007f1ebe3736f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee40d5d0, ), config: Py( 0x00007f1ebd7c6b00, ), name: "function-after[TransformByForPoint3d(), str]", field_name: None, info_arg: false, }, ), name: "nullable[function-after[TransformByForPoint3d(), str]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[function-after[TransformByForPoint3d(), str]]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "scale", lookup_key: Simple { key: "scale", py_key: Py( 0x00007f1ebd754930, ), path: LookupPath( [ S( "scale", Py( 0x00007f1ebd754960, ), ), ], ), }, name_py: Py( 0x00007f1ec1515170, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee40d5d0, ), config: Py( 0x00007f1ebd7c6b00, ), name: "function-after[TransformByForPoint3d(), str]", field_name: None, info_arg: false, }, ), name: "nullable[function-after[TransformByForPoint3d(), str]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[function-after[TransformByForPoint3d(), str]]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "translate", lookup_key: Simple { key: "translate", py_key: Py( 0x00007f1ebd7367f0, ), path: LookupPath( [ S( "translate", Py( 0x00007f1ebd736630, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06af0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee40d5d0, ), config: Py( 0x00007f1ebd7c6b00, ), name: "function-after[TransformByForPoint3d(), str]", field_name: None, info_arg: false, }, ), name: "nullable[function-after[TransformByForPoint3d(), str]]", }, ), validate_default: false, copy_default: false, name: "default[nullable[function-after[TransformByForPoint3d(), str]]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "ComponentTransform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee40d9b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "ComponentTransform", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754990, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd7549c0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee63c30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_object_transform": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd734880, ), ), values: [ Py( 0x00007f1ebee63c30, ), ], }, expected_repr: "'set_object_transform'", name: "literal['set_object_transform']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_object_transform']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetObjectTransform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee942fb0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetObjectTransform", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f1ebd7549f0, ), path: LookupPath( [ S( "face_id", Py( 0x00007f1ebd754a20, ), ), ], ), }, name_py: Py( 0x00007f1ebeddda10, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ec2ed0400, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd735e30, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd735ef0, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "offset", lookup_key: Simple { key: "offset", py_key: Py( 0x00007f1ebd754a50, ), path: LookupPath( [ S( "offset", Py( 0x00007f1ebd754a80, ), ), ], ), }, name_py: Py( 0x00007f1ec2f04dd0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7c7340, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754ab0, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754ae0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee60270, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "make_offset_path": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735e00, ), ), values: [ Py( 0x00007f1ebee60270, ), ], }, expected_repr: "'make_offset_path'", name: "literal['make_offset_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['make_offset_path']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionMakeOffsetPath", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee8109d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionMakeOffsetPath", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f1ebd735eb0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f1ebd735f70, ), ), ], ), }, name_py: Py( 0x00007f1ec0d43c30, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "offset", lookup_key: Simple { key: "offset", py_key: Py( 0x00007f1ebd754b10, ), path: LookupPath( [ S( "offset", Py( 0x00007f1ebd754b40, ), ), ], ), }, name_py: Py( 0x00007f1ec2f04dd0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055d9ee53edc0, ), config: Py( 0x00007f1ebd7c7800, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754b70, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754ba0, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebeddaab0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "add_hole_from_offset": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735f40, ), ), values: [ Py( 0x00007f1ebeddaab0, ), ], }, expected_repr: "'add_hole_from_offset'", name: "literal['add_hole_from_offset']", }, ), validate_default: false, copy_default: false, name: "default[literal['add_hole_from_offset']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionAddHoleFromOffset", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee94d9d0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionAddHoleFromOffset", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "grid_id", lookup_key: Simple { key: "grid_id", py_key: Py( 0x00007f1ebd754bd0, ), path: LookupPath( [ S( "grid_id", Py( 0x00007f1ebd754c00, ), ), ], ), }, name_py: Py( 0x00007f1ebe189d70, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "reference_id", lookup_key: Simple { key: "reference_id", py_key: Py( 0x00007f1ebd735ff0, ), path: LookupPath( [ S( "reference_id", Py( 0x00007f1ebd735cf0, ), ), ], ), }, name_py: Py( 0x00007f1ebe187270, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754c30, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754c60, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee78800, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "set_grid_reference_plane": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd735dc0, ), ), values: [ Py( 0x00007f1ebee78800, ), ], }, expected_repr: "'set_grid_reference_plane'", name: "literal['set_grid_reference_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_grid_reference_plane']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionSetGridReferencePlane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ee9502b0, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionSetGridReferencePlane", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'engine_util_evaluate_path', 'start_path', 'move_path_pen', 'extend_path', 'extrude', 'sweep', 'revolve', 'solid3d_shell_face', 'revolve_about_edge', 'loft', 'close_path', 'camera_drag_start', 'camera_drag_move', 'camera_drag_end', 'default_camera_get_settings', 'default_camera_get_view', 'default_camera_set_view', 'default_camera_look_at', 'default_camera_perspective_settings', 'default_camera_zoom', 'export2d', 'export3d', 'export', 'entity_get_parent_id', 'entity_get_num_children', 'entity_get_child_uuid', 'entity_get_all_child_uuids', 'entity_get_sketch_paths', 'entity_get_distance', 'entity_clone', 'entity_linear_pattern_transform', 'entity_linear_pattern', 'entity_circular_pattern', 'entity_make_helix', 'entity_make_helix_from_params', 'entity_make_helix_from_edge', 'entity_mirror', 'entity_mirror_across_edge', 'select_with_point', 'select_add', 'select_remove', 'scene_clear_all', 'select_replace', 'highlight_set_entity', 'highlight_set_entities', 'new_annotation', 'update_annotation', 'edge_lines_visible', 'object_visible', 'object_bring_to_front', 'object_set_material_params_pbr', 'get_entity_type', 'solid3d_get_all_edge_faces', 'solid2d_add_hole', 'solid3d_get_all_opposite_edges', 'solid3d_get_opposite_edge', 'solid3d_get_next_adjacent_edge', 'solid3d_get_prev_adjacent_edge', 'solid3d_get_common_edge', 'solid3d_fillet_edge', 'face_is_planar', 'face_get_position', 'face_get_center', 'face_get_gradient', 'send_object', 'entity_set_opacity', 'entity_fade', 'make_plane', 'plane_set_color', 'set_tool', 'mouse_move', 'mouse_click', 'sketch_mode_disable', 'get_sketch_mode_plane', 'curve_set_constraint', 'enable_sketch_mode', 'enable_dry_run', 'disable_dry_run', 'set_background_color', 'set_current_tool_properties', 'set_default_system_properties', 'curve_get_type', 'curve_get_control_points', 'project_entity_to_plane', 'project_points_to_plane', 'take_snapshot', 'make_axes_gizmo', 'path_get_info', 'path_get_curve_uuids_for_vertices', 'path_get_curve_uuid', 'path_get_vertex_uuids', 'path_get_sketch_target_uuid', 'handle_mouse_drag_start', 'handle_mouse_drag_move', 'handle_mouse_drag_end', 'remove_scene_objects', 'plane_intersect_and_project', 'curve_get_end_points', 'reconfigure_stream', 'import_files', 'set_scene_units', 'mass', 'density', 'volume', 'center_of_mass', 'surface_area', 'default_camera_focus_on', 'set_selection_type', 'set_selection_filter', 'default_camera_set_orthographic', 'default_camera_set_perspective', 'default_camera_center_to_selection', 'default_camera_center_to_scene', 'zoom_to_fit', 'orient_to_face', 'view_isometric', 'solid3d_get_extrusion_face_info', 'select_clear', 'select_get', 'get_num_objects', 'set_object_transform', 'make_offset_path', 'add_hole_from_offset', 'set_grid_reference_plane'", discriminator_repr: "'type'", name: "tagged-union[OptionEngineUtilEvaluatePath,OptionStartPath,OptionMovePathPen,OptionExtendPath,OptionExtrude,OptionSweep,OptionRevolve,OptionSolid3DShellFace,OptionRevolveAboutEdge,OptionLoft,OptionClosePath,OptionCameraDragStart,OptionCameraDragMove,OptionCameraDragEnd,OptionDefaultCameraGetSettings,OptionDefaultCameraGetView,OptionDefaultCameraSetView,OptionDefaultCameraLookAt,OptionDefaultCameraPerspectiveSettings,OptionDefaultCameraZoom,OptionExport2D,OptionExport3D,OptionExport,OptionEntityGetParentId,OptionEntityGetNumChildren,OptionEntityGetChildUuid,OptionEntityGetAllChildUuids,OptionEntityGetSketchPaths,OptionEntityGetDistance,OptionEntityClone,OptionEntityLinearPatternTransform,OptionEntityLinearPattern,OptionEntityCircularPattern,OptionEntityMakeHelix,OptionEntityMakeHelixFromParams,OptionEntityMakeHelixFromEdge,OptionEntityMirror,OptionEntityMirrorAcrossEdge,OptionSelectWithPoint,OptionSelectAdd,OptionSelectRemove,OptionSceneClearAll,OptionSelectReplace,OptionHighlightSetEntity,OptionHighlightSetEntities,OptionNewAnnotation,OptionUpdateAnnotation,OptionEdgeLinesVisible,OptionObjectVisible,OptionObjectBringToFront,OptionObjectSetMaterialParamsPbr,OptionGetEntityType,OptionSolid3DGetAllEdgeFaces,OptionSolid2DAddHole,OptionSolid3DGetAllOppositeEdges,OptionSolid3DGetOppositeEdge,OptionSolid3DGetNextAdjacentEdge,OptionSolid3DGetPrevAdjacentEdge,OptionSolid3DGetCommonEdge,OptionSolid3DFilletEdge,OptionFaceIsPlanar,OptionFaceGetPosition,OptionFaceGetCenter,OptionFaceGetGradient,OptionSendObject,OptionEntitySetOpacity,OptionEntityFade,OptionMakePlane,OptionPlaneSetColor,OptionSetTool,OptionMouseMove,OptionMouseClick,OptionSketchModeDisable,OptionGetSketchModePlane,OptionCurveSetConstraint,OptionEnableSketchMode,OptionEnableDryRun,OptionDisableDryRun,OptionSetBackgroundColor,OptionSetCurrentToolProperties,OptionSetDefaultSystemProperties,OptionCurveGetType,OptionCurveGetControlPoints,OptionProjectEntityToPlane,OptionProjectPointsToPlane,OptionTakeSnapshot,OptionMakeAxesGizmo,OptionPathGetInfo,OptionPathGetCurveUuidsForVertices,OptionPathGetCurveUuid,OptionPathGetVertexUuids,OptionPathGetSketchTargetUuid,OptionHandleMouseDragStart,OptionHandleMouseDragMove,OptionHandleMouseDragEnd,OptionRemoveSceneObjects,OptionPlaneIntersectAndProject,OptionCurveGetEndPoints,OptionReconfigureStream,OptionImportFiles,OptionSetSceneUnits,OptionMass,OptionDensity,OptionVolume,OptionCenterOfMass,OptionSurfaceArea,OptionDefaultCameraFocusOn,OptionSetSelectionType,OptionSetSelectionFilter,OptionDefaultCameraSetOrthographic,OptionDefaultCameraSetPerspective,OptionDefaultCameraCenterToSelection,OptionDefaultCameraCenterToScene,OptionZoomToFit,OptionOrientToFace,OptionViewIsometric,OptionSolid3DGetExtrusionFaceInfo,OptionSelectClear,OptionSelectGet,OptionGetNumObjects,OptionSetObjectTransform,OptionMakeOffsetPath,OptionAddHoleFromOffset,OptionSetGridReferencePlane]", }, ), class: Py( 0x000055d9ee9546b0, ), generic_origin: Some( Py( 0x000055d9ee0df6b0, ), ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f1ec0cae3d0, ), name: "RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "cmd_id", lookup_key: Simple { key: "cmd_id", py_key: Py( 0x00007f1ebd754cf0, ), path: LookupPath( [ S( "cmd_id", Py( 0x00007f1ebd754d20, ), ), ], ), }, name_py: Py( 0x00007f1ebdf6da10, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x000055d9ee75c500, ), config: Py( 0x00007f1ebd7cc0c0, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f1ebd754d50, ), path: LookupPath( [ S( "type", Py( 0x00007f1ebd754d80, ), ), ], ), }, name_py: Py( 0x00007f1ec2f06bf0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f1ebee60bb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "modeling_cmd_req": 0, }, ), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some( Py( 0x00007f1ebd85d3c0, ), ), values: [ Py( 0x00007f1ebee60bb0, ), ], }, expected_repr: "'modeling_cmd_req'", name: "literal['modeling_cmd_req']", }, ), validate_default: false, copy_default: false, name: "default[literal['modeling_cmd_req']]", undefined: Py( 0x00007f1ec0cae3d0, ), }, ), frozen: false, }, ], model_name: "OptionModelingCmdReq", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055d9ef38fe70, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f1ec0cae3d0, ), name: "OptionModelingCmdReq", }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: TaggedUnion(TaggedUnionValidator { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f1ec2f06bf0), path: LookupPath([S("type", Py(0x7f1ec2f06bf0))]) }), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"global": 1, "custom": 2, "local": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb07ec0)), values: [DefinitionRef(DefinitionRefValidator { definition: "OptionLocal" }), DefinitionRef(DefinitionRefValidator { definition: "OptionGlobal" }), DefinitionRef(DefinitionRefValidator { definition: "OptionCustom" })] }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'local', 'global', 'custom'", discriminator_repr: "'type'", name: "tagged-union[OptionLocal,OptionGlobal,OptionCustom]" }), class: Py(0x55d9ee743000), generic_origin: Some(Py(0x55d9ee0df6b0)), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py(0x7f1ec0cae3d0), name: "RootModel[Annotated[Union[OptionLocal, OptionGlobal, OptionCustom], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee067310), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"right": 2, "left": 0, "center": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb07140)), values: [Py(0x7f1ebeb17890), Py(0x7f1ebeb178f0), Py(0x7f1ebeb17950)] }, missing: None, expected_repr: "'left', 'center' or 'right'", strict: false, class_repr: "AnnotationTextAlignmentX", name: "str-enum[AnnotationTextAlignmentX]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f1ec2f08838), path: LookupPath([S("x", Py(0x7f1ec2f08838))]) }, name_py: Py(0x7f1ec2f08838), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f1ec2f08868), path: LookupPath([S("y", Py(0x7f1ec2f08868))]) }, name_py: Py(0x7f1ec2f08868), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f1ec2f08898), path: LookupPath([S("z", Py(0x7f1ec2f08898))]) }, name_py: Py(0x7f1ec2f08898), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9edd655a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "Point3d" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee1b8e90), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"negative": 1, "positive": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd9ba2c0)), values: [Py(0x7f1ebebceb10), Py(0x7f1ebebceb70)] }, missing: None, expected_repr: "'positive' or 'negative'", strict: false, class_repr: "Direction", name: "str-enum[Direction]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "unit", lookup_key: Simple { key: "unit", py_key: Py(0x7f1ebde99aa0), path: LookupPath([S("unit", Py(0x7f1ebd913ab0))]) }, name_py: Py(0x7f1ec1842550), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "value", lookup_key: Simple { key: "value", py_key: Py(0x7f1ebd9134b0), path: LookupPath([S("value", Py(0x7f1ebd910270))]) }, name_py: Py(0x7f1ec2f06de8), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Angle", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9edd5ec20), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "Angle" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "presentation", lookup_key: Simple { key: "presentation", py_key: Py(0x7f1ebdb00530), path: LookupPath([S("presentation", Py(0x7f1ebe47cb30))]) }, name_py: Py(0x7f1ebec87730), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py(0x7f1ebd9bff90), path: LookupPath([S("storage", Py(0x7f1ebd9bfea0))]) }, name_py: Py(0x7f1ec0c69170), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bfe40), path: LookupPath([S("type", Py(0x7f1ebd9bffc0))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebeec9110)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"gltf": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82f280)), values: [Py(0x7f1ebeec9110)] }, expected_repr: "'gltf'", name: "literal['gltf']" }), validate_default: false, copy_default: false, name: "default[literal['gltf']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionGltf", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee1cf980), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionGltf" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py(0x7f1ebd9bfed0), path: LookupPath([S("storage", Py(0x7f1ebd9bfab0))]) }, name_py: Py(0x7f1ec0c69170), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bff30), path: LookupPath([S("type", Py(0x7f1ebd9bfe70))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebeec8f30)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"fbx": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82e700)), values: [Py(0x7f1ebeec8f30)] }, expected_repr: "'fbx'", name: "literal['fbx']" }), validate_default: false, copy_default: false, name: "default[literal['fbx']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionFbx", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee1cf5a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionFbx" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py(0x7f1ebd9bff00), path: LookupPath([S("coords", Py(0x7f1ebd9bff60))]) }, name_py: Py(0x7f1ebeec9a40), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bea30), path: LookupPath([S("type", Py(0x7f1ebd8e9ec0))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2f04d70)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"obj": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82c340)), values: [Py(0x7f1ec2f04d70)] }, expected_repr: "'obj'", name: "literal['obj']" }), validate_default: false, copy_default: false, name: "default[literal['obj']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py(0x7f1ebd8e9e30), path: LookupPath([S("units", Py(0x7f1ebd8e9e90))]) }, name_py: Py(0x7f1ec1db39c0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "OptionObj", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee2a1b50), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionObj" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee1c16b0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"cm": 0, "yd": 5, "m": 3, "in": 2, "mm": 4, "ft": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd816540)), values: [Py(0x7f1ebebce630), Py(0x7f1ebebce810), Py(0x7f1ebebcdc70), Py(0x7f1ebebcd370), Py(0x7f1ebebccad0), Py(0x7f1ebebcebd0)] }, missing: None, expected_repr: "'cm', 'ft', 'in', 'm', 'mm' or 'yd'", strict: false, class_repr: "UnitLength", name: "str-enum[UnitLength]" }), Model(ModelValidator { revalidate: Never, validator: TaggedUnion(TaggedUnionValidator { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f1ec2f06bf0), path: LookupPath([S("type", Py(0x7f1ec2f06bf0))]) }), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"fbx": 0, "gltf": 1, "step": 4, "stl": 5, "obj": 2, "ply": 3}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd701880)), values: [DefinitionRef(DefinitionRefValidator { definition: "OptionFbx" }), DefinitionRef(DefinitionRefValidator { definition: "OptionGltf" }), DefinitionRef(DefinitionRefValidator { definition: "OptionObj" }), DefinitionRef(DefinitionRefValidator { definition: "OptionPly" }), DefinitionRef(DefinitionRefValidator { definition: "OptionStep" }), DefinitionRef(DefinitionRefValidator { definition: "OptionStl" })] }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'fbx', 'gltf', 'obj', 'ply', 'step', 'stl'", discriminator_repr: "'type'", name: "tagged-union[OptionFbx,OptionGltf,OptionObj,OptionPly,OptionStep,OptionStl]" }), class: Py(0x55d9ee19dff0), generic_origin: Some(Py(0x55d9ee0df6b0)), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py(0x7f1ec0cae3d0), name: "RootModel[Annotated[Union[OptionFbx, OptionGltf, OptionObj, OptionPly, OptionStep, OptionStl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee741ae0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"remove": 2, "add": 1, "replace": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82c4c0)), values: [Py(0x7f1ebe16c290), Py(0x7f1ebe16c230), Py(0x7f1ebe16c350)] }, missing: None, expected_repr: "'replace', 'add' or 'remove'", strict: false, class_repr: "SceneSelectionType", name: "str-enum[SceneSelectionType]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9edd62050), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"top": 2, "bottom": 0, "center": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb066c0)), values: [Py(0x7f1ebeb17a70), Py(0x7f1ebeb17ad0), Py(0x7f1ebeb17b30)] }, missing: None, expected_repr: "'bottom', 'center' or 'top'", strict: false, class_repr: "AnnotationTextAlignmentY", name: "str-enum[AnnotationTextAlignmentY]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee2addd0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"y": 0, "z": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82e4c0)), values: [Py(0x7f1ebebce990), Py(0x7f1ebebce9f0)] }, missing: None, expected_repr: "'y' or 'z'", strict: false, class_repr: "Axis", name: "str-enum[Axis]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9edf890f0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"embedded": 2, "binary": 0, "standard": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82eb80)), values: [Py(0x7f1ebebcfd10), Py(0x7f1ebebcfdd0), Py(0x7f1ebebcfe30)] }, missing: None, expected_repr: "'binary', 'standard' or 'embedded'", strict: false, class_repr: "GltfStorage", name: "str-enum[GltfStorage]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee1ce080), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"ascii": 0, "binary": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82f340)), values: [Py(0x7f1ebe5f05f0), Py(0x7f1ebe5f06b0)] }, missing: None, expected_repr: "'ascii' or 'binary'", strict: false, class_repr: "StlStorage", name: "str-enum[StlStorage]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "replicate", lookup_key: Simple { key: "replicate", py_key: Py(0x7f1ebd8885f0), path: LookupPath([S("replicate", Py(0x7f1ebed28830))]) }, name_py: Py(0x7f1ec0d88ef0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2eb99c0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "rotation", lookup_key: Simple { key: "rotation", py_key: Py(0x7f1ebda4c530), path: LookupPath([S("rotation", Py(0x7f1ebd70b270))]) }, name_py: Py(0x7f1ec0b896b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebe185c40)), on_error: Raise, validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), validate_default: false, copy_default: true, name: "default[...]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "scale", lookup_key: Simple { key: "scale", py_key: Py(0x7f1ebd8e8ff0), path: LookupPath([S("scale", Py(0x7f1ebd8e8ea0))]) }, name_py: Py(0x7f1ec1515170), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebedda940)), on_error: Raise, validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), validate_default: false, copy_default: true, name: "default[Point3d]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "translate", lookup_key: Simple { key: "translate", py_key: Py(0x7f1ebd70b1f0), path: LookupPath([S("translate", Py(0x7f1ebd70b630))]) }, name_py: Py(0x7f1ec2f06af0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebe147280)), on_error: Raise, validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), validate_default: false, copy_default: true, name: "default[Point3d]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "Transform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee744520), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "Transform" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9edd5e840), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"radians": 1, "degrees": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd816e00)), values: [Py(0x7f1ebeb17350), Py(0x7f1ebeb173b0)] }, missing: None, expected_repr: "'degrees' or 'radians'", strict: false, class_repr: "UnitAngle", name: "str-enum[UnitAngle]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee29d340), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"binary_little_endian": 1, "ascii": 0, "binary_big_endian": 2}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82f780)), values: [Py(0x7f1ebebcfe90), Py(0x7f1ebebcfef0), Py(0x7f1ebebcff50)] }, missing: None, expected_repr: "'ascii', 'binary_little_endian' or 'binary_big_endian'", strict: false, class_repr: "PlyStorage", name: "str-enum[PlyStorage]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee284b00), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"kg": 1, "g": 0, "lb": 2}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb07280)), values: [Py(0x7f1ebe5f1a90), Py(0x7f1ebe5f1af0), Py(0x7f1ebe5f1b50)] }, missing: None, expected_repr: "'g', 'kg' or 'lb'", strict: false, class_repr: "UnitMass", name: "str-enum[UnitMass]" }), Model(ModelValidator { revalidate: Never, validator: TaggedUnion(TaggedUnionValidator { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f1ec2f06bf0), path: LookupPath([S("type", Py(0x7f1ec2f06bf0))]) }), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"default_scene": 0, "scene_by_index": 1, "mesh_by_index": 3, "scene_by_name": 2, "mesh_by_name": 4}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82f240)), values: [DefinitionRef(DefinitionRefValidator { definition: "OptionDefaultScene" }), DefinitionRef(DefinitionRefValidator { definition: "OptionSceneByIndex" }), DefinitionRef(DefinitionRefValidator { definition: "OptionSceneByName" }), DefinitionRef(DefinitionRefValidator { definition: "OptionMeshByIndex" }), DefinitionRef(DefinitionRefValidator { definition: "OptionMeshByName" })] }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'default_scene', 'scene_by_index', 'scene_by_name', 'mesh_by_index', 'mesh_by_name'", discriminator_repr: "'type'", name: "tagged-union[OptionDefaultScene,OptionSceneByIndex,OptionSceneByName,OptionMeshByIndex,OptionMeshByName]" }), class: Py(0x55d9edf84b90), generic_origin: Some(Py(0x55d9ee0df6b0)), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py(0x7f1ec0cae3d0), name: "RootModel[Annotated[Union[OptionDefaultScene, OptionSceneByIndex, OptionSceneByName, OptionMeshByIndex, OptionMeshByName], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee3ec200), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"none": 1, "vantage": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb07540)), values: [Py(0x7f1ebe300350), Py(0x7f1ebe3003b0)] }, missing: None, expected_repr: "'vantage' or 'none'", strict: false, class_repr: "CameraMovement", name: "str-enum[CameraMovement]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9edd5e460), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"arrow": 1, "none": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb07240)), values: [Py(0x7f1ebeb16f30), Py(0x7f1ebeb17470)] }, missing: None, expected_repr: "'none' or 'arrow'", strict: false, class_repr: "AnnotationLineEnd", name: "str-enum[AnnotationLineEnd]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "index", lookup_key: Simple { key: "index", py_key: Py(0x7f1ebd9bf240), path: LookupPath([S("index", Py(0x7f1ebd9bf840))]) }, name_py: Py(0x7f1ec2820240), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bf870), path: LookupPath([S("type", Py(0x7f1ebd9bf4e0))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebed5e870)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"mesh_by_index": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82f400)), values: [Py(0x7f1ebed5e870)] }, expected_repr: "'mesh_by_index'", name: "literal['mesh_by_index']" }), validate_default: false, copy_default: false, name: "default[literal['mesh_by_index']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionMeshByIndex", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee2a8f10), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionMeshByIndex" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "index", lookup_key: Simple { key: "index", py_key: Py(0x7f1ebd9bf150), path: LookupPath([S("index", Py(0x7f1ebd9bf630))]) }, name_py: Py(0x7f1ec2820240), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bf5a0), path: LookupPath([S("type", Py(0x7f1ebd9bf600))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebec85070)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"scene_by_index": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82e740)), values: [Py(0x7f1ebec85070)] }, expected_repr: "'scene_by_index'", name: "literal['scene_by_index']" }), validate_default: false, copy_default: false, name: "default[literal['scene_by_index']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionSceneByIndex", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9edf86520), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionSceneByIndex" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee3dcf50), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"rotatetrackball": 2, "rotate": 1, "zoom": 3, "pan": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd815cc0)), values: [Py(0x7f1ebe5f3bf0), Py(0x7f1ebe5f3ef0), Py(0x7f1ebe5f3f50), Py(0x7f1ebe5f3fb0)] }, missing: None, expected_repr: "'pan', 'rotate', 'rotatetrackball' or 'zoom'", strict: false, class_repr: "CameraDragInteractionType", name: "str-enum[CameraDragInteractionType]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py(0x7f1ebd8e95f0), path: LookupPath([S("coords", Py(0x7f1ebd8e9050))]) }, name_py: Py(0x7f1ebeec9a40), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd8e96e0), path: LookupPath([S("type", Py(0x7f1ebd8e9440))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2f06460)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"step": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82fbc0)), values: [Py(0x7f1ec2f06460)] }, expected_repr: "'step'", name: "literal['step']" }), validate_default: false, copy_default: false, name: "default[literal['step']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionStep", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee1e8fc0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionStep" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7f1ebd9bf570), path: LookupPath([S("name", Py(0x7f1ebd9bf540))]) }, name_py: Py(0x7f1ec2f04968), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bf6c0), path: LookupPath([S("type", Py(0x7f1ebd9bf660))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebec87530)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"scene_by_name": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd85e200)), values: [Py(0x7f1ebec87530)] }, expected_repr: "'scene_by_name'", name: "literal['scene_by_name']" }), validate_default: false, copy_default: false, name: "default[literal['scene_by_name']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionSceneByName", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee2a5340), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionSceneByName" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py(0x7f1ebd9134e0), path: LookupPath([S("axis", Py(0x7f1ebd9bee50))]) }, name_py: Py(0x7f1ebf25cea0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "direction", lookup_key: Simple { key: "direction", py_key: Py(0x7f1ebdc553f0), path: LookupPath([S("direction", Py(0x7f1ebdb02570))]) }, name_py: Py(0x7f1ec1a17770), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "AxisDirectionPair", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee0df2d0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "AxisDirectionPair" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd8e8f30), path: LookupPath([S("type", Py(0x7f1ebd8e8e10))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2109320)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"global": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebdb07380)), values: [Py(0x7f1ec2109320)] }, expected_repr: "'global'", name: "literal['global']" }), validate_default: false, copy_default: false, name: "default[literal['global']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionGlobal", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee743bd0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionGlobal" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee2a8890), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"compact": 0, "pretty": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82e240)), values: [Py(0x7f1ebebcfb90), Py(0x7f1ebebcfbf0)] }, missing: None, expected_repr: "'compact' or 'pretty'", strict: false, class_repr: "GltfPresentation", name: "str-enum[GltfPresentation]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "point_size", lookup_key: Simple { key: "point_size", py_key: Py(0x7f1ebd70b6b0), path: LookupPath([S("point_size", Py(0x7f1ebd70b530))]) }, name_py: Py(0x7f1ebe323cf0), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "text", lookup_key: Simple { key: "text", py_key: Py(0x7f1ebd8e8780), path: LookupPath([S("text", Py(0x7f1ebd8e83c0))]) }, name_py: Py(0x7f1ec2f068e8), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f1ec2f08838), path: LookupPath([S("x", Py(0x7f1ec2f08838))]) }, name_py: Py(0x7f1ec2f08838), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f1ec2f08868), path: LookupPath([S("y", Py(0x7f1ec2f08868))]) }, name_py: Py(0x7f1ec2f08868), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "AnnotationTextOptions", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee068140), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "AnnotationTextOptions" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bedf0), path: LookupPath([S("type", Py(0x7f1ebd9bf5d0))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebec86430)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"default_scene": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82fec0)), values: [Py(0x7f1ebec86430)] }, expected_repr: "'default_scene'", name: "literal['default_scene']" }), validate_default: false, copy_default: false, name: "default[literal['default_scene']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionDefaultScene", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee29cf60), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionDefaultScene" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "color", lookup_key: Simple { key: "color", py_key: Py(0x7f1ebd8e83f0), path: LookupPath([S("color", Py(0x7f1ebd8e8390))]) }, name_py: Py(0x7f1ec21d84e0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2ed0400)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Color" }), name: "nullable[Color]" }), validate_default: false, copy_default: false, name: "default[nullable[Color]]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "line_ends", lookup_key: Simple { key: "line_ends", py_key: Py(0x7f1ebd70ad30), path: LookupPath([S("line_ends", Py(0x7f1ebd70b230))]) }, name_py: Py(0x7f1ebe321fb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2ed0400)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "AnnotationLineEndOptions" }), name: "nullable[AnnotationLineEndOptions]" }), validate_default: false, copy_default: false, name: "default[nullable[AnnotationLineEndOptions]]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "line_width", lookup_key: Simple { key: "line_width", py_key: Py(0x7f1ebd70b4f0), path: LookupPath([S("line_width", Py(0x7f1ebd70b470))]) }, name_py: Py(0x7f1ebe321f30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2ed0400)), on_error: Raise, validator: Nullable(NullableValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), name: "nullable[float]" }), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "position", lookup_key: Simple { key: "position", py_key: Py(0x7f1ebd708cf0), path: LookupPath([S("position", Py(0x7f1ebd70b3f0))]) }, name_py: Py(0x7f1ec19b8030), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2ed0400)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), name: "nullable[Point3d]" }), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "text", lookup_key: Simple { key: "text", py_key: Py(0x7f1ebd8e8360), path: LookupPath([S("text", Py(0x7f1ebd8e8300))]) }, name_py: Py(0x7f1ec2f068e8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec2ed0400)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "AnnotationTextOptions" }), name: "nullable[AnnotationTextOptions]" }), validate_default: false, copy_default: false, name: "default[nullable[AnnotationTextOptions]]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "AnnotationOptions", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9edd61a20), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "AnnotationOptions" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py(0x7f1ebd8e8e40), path: LookupPath([S("origin", Py(0x7f1ebd8e8ed0))]) }, name_py: Py(0x7f1ec2f050a8), validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd8e8e70), path: LookupPath([S("type", Py(0x7f1ebd8e8900))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebe5f6730)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"custom": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82c380)), values: [Py(0x7f1ebe5f6730)] }, expected_repr: "'custom'", name: "literal['custom']" }), validate_default: false, copy_default: false, name: "default[literal['custom']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionCustom", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee743fb0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionCustom" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "end", lookup_key: Simple { key: "end", py_key: Py(0x7f1ebd8e86c0), path: LookupPath([S("end", Py(0x7f1ebd8e87b0))]) }, name_py: Py(0x7f1ec2f02590), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "start", lookup_key: Simple { key: "start", py_key: Py(0x7f1ebd8e8690), path: LookupPath([S("start", Py(0x7f1ebd8e80f0))]) }, name_py: Py(0x7f1ec2f06338), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "AnnotationLineEndOptions", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee069360), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "AnnotationLineEndOptions" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "angle", lookup_key: Simple { key: "angle", py_key: Py(0x7f1ebd8e88d0), path: LookupPath([S("angle", Py(0x7f1ebd8e87e0))]) }, name_py: Py(0x7f1ec0d7d080), validator: DefinitionRef(DefinitionRefValidator { definition: "Angle" }), frozen: false }, Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py(0x7f1ebd8e8810), path: LookupPath([S("axis", Py(0x7f1ebd8e88a0))]) }, name_py: Py(0x7f1ebf25cea0), validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), frozen: false }, Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py(0x7f1ebd8e8840), path: LookupPath([S("origin", Py(0x7f1ebd8e8750))]) }, name_py: Py(0x7f1ec2f050a8), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "Rotation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee74ae10), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "Rotation" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7f1ebd9bf810), path: LookupPath([S("name", Py(0x7f1ebd9bfdb0))]) }, name_py: Py(0x7f1ec2f04968), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd9bfd50), path: LookupPath([S("type", Py(0x7f1ebd9bfd80))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebed5cd30)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"mesh_by_name": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd768440)), values: [Py(0x7f1ebed5cd30)] }, expected_repr: "'mesh_by_name'", name: "literal['mesh_by_name']" }), validate_default: false, copy_default: false, name: "default[literal['mesh_by_name']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionMeshByName", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9edf847b0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionMeshByName" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd8e8cf0), path: LookupPath([S("type", Py(0x7f1ebd8e8de0))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ec1ed0ea0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"local": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd85c280)), values: [Py(0x7f1ec1ed0ea0)] }, expected_repr: "'local'", name: "literal['local']" }), validate_default: false, copy_default: false, name: "default[literal['local']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }], model_name: "OptionLocal", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee741080), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionLocal" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py(0x7f1ebd8e9710), path: LookupPath([S("coords", Py(0x7f1ebd8e96b0))]) }, name_py: Py(0x7f1ebeec9a40), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py(0x7f1ebd889730), path: LookupPath([S("selection", Py(0x7f1ebd8894b0))]) }, name_py: Py(0x7f1ebee635b0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py(0x7f1ebd8e9020), path: LookupPath([S("storage", Py(0x7f1ebd8e9080))]) }, name_py: Py(0x7f1ec0c69170), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd8e9620), path: LookupPath([S("type", Py(0x7f1ebd8e94d0))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebeec94a0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"stl": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd85d140)), values: [Py(0x7f1ebeec94a0)] }, expected_repr: "'stl'", name: "literal['stl']" }), validate_default: false, copy_default: false, name: "default[literal['stl']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py(0x7f1ebd8e8f00), path: LookupPath([S("units", Py(0x7f1ebd8e8f90))]) }, name_py: Py(0x7f1ec1db39c0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "OptionStl", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee1ee380), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionStl" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "a", lookup_key: Simple { key: "a", py_key: Py(0x7f1ec2f083e8), path: LookupPath([S("a", Py(0x7f1ec2f083e8))]) }, name_py: Py(0x7f1ec2f083e8), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "b", lookup_key: Simple { key: "b", py_key: Py(0x7f1ec2f08418), path: LookupPath([S("b", Py(0x7f1ec2f08418))]) }, name_py: Py(0x7f1ec2f08418), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "g", lookup_key: Simple { key: "g", py_key: Py(0x7f1ec2f08508), path: LookupPath([S("g", Py(0x7f1ec2f08508))]) }, name_py: Py(0x7f1ec2f08508), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "r", lookup_key: Simple { key: "r", py_key: Py(0x7f1ec2f08718), path: LookupPath([S("r", Py(0x7f1ec2f08718))]) }, name_py: Py(0x7f1ec2f08718), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Color", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9edd61640), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "Color" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee2a92f0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"binary": 1, "ascii": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82f200)), values: [Py(0x7f1ebebcfa10), Py(0x7f1ebebcfa70)] }, missing: None, expected_repr: "'ascii' or 'binary'", strict: false, class_repr: "FbxStorage", name: "str-enum[FbxStorage]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "forward", lookup_key: Simple { key: "forward", py_key: Py(0x7f1ebd9beca0), path: LookupPath([S("forward", Py(0x7f1ebd9bf180))]) }, name_py: Py(0x7f1ebf289500), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py(0x7f1ebd9bf1e0), path: LookupPath([S("up", Py(0x7f1ebd9bed60))]) }, name_py: Py(0x7f1ec0d2eeb0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "System", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9eddfea70), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "System" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55d9ee280660), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"lb:ft3": 0, "kg:m3": 1}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd85d880)), values: [Py(0x7f1ebe5f1970), Py(0x7f1ebe5f19d0)] }, missing: None, expected_repr: "'lb:ft3' or 'kg:m3'", strict: false, class_repr: "UnitDensity", name: "str-enum[UnitDensity]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f1ec2f08838), path: LookupPath([S("x", Py(0x7f1ec2f08838))]) }, name_py: Py(0x7f1ec2f08838), validator: FunctionAfter(FunctionAfterValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), func: Py(0x55d9ee53edc0), config: Py(0x7f1ebd7ccc40), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f1ec2f08868), path: LookupPath([S("y", Py(0x7f1ec2f08868))]) }, name_py: Py(0x7f1ec2f08868), validator: FunctionAfter(FunctionAfterValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), func: Py(0x55d9ee53edc0), config: Py(0x7f1ebd7ccc40), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false }), frozen: false }], model_name: "Point2d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee7606e0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "Point2d" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py(0x7f1ebd8e9f20), path: LookupPath([S("coords", Py(0x7f1ebd8e9ef0))]) }, name_py: Py(0x7f1ebeec9a40), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py(0x7f1ebdc47c70), path: LookupPath([S("selection", Py(0x7f1ebd88a9b0))]) }, name_py: Py(0x7f1ebee635b0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py(0x7f1ebd8e97a0), path: LookupPath([S("storage", Py(0x7f1ebd8e9680))]) }, name_py: Py(0x7f1ec0c69170), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f1ebd8e9830), path: LookupPath([S("type", Py(0x7f1ebd8e9e60))]) }, name_py: Py(0x7f1ec2f06bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f1ebeec92c0)), on_error: Raise, validator: Literal(LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"ply": 0}), expected_py_dict: None, expected_py_values: None, expected_py_primitives: Some(Py(0x7f1ebd82c500)), values: [Py(0x7f1ebeec92c0)] }, expected_repr: "'ply'", name: "literal['ply']" }), validate_default: false, copy_default: false, name: "default[literal['ply']]", undefined: Py(0x7f1ec0cae3d0) }), frozen: false }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py(0x7f1ebd8e97d0), path: LookupPath([S("units", Py(0x7f1ebd8e9770))]) }, name_py: Py(0x7f1ec1db39c0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }], model_name: "OptionPly", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55d9ee0d95b0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f1ec0cae3d0), name: "OptionPly" })], cache_strings=True)[source]
The
pydantic-core
SchemaValidator
used to validate instances of the model.
- __repr_recursion__(object)[source]
Returns the string representation of a recursive object.
- Return type:
- __rich_repr__()[source]
Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.
- __signature__: ClassVar[Signature] = <Signature (*, cmd: pydantic.root_model.RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], cmd_id: kittycad.models.modeling_cmd_id.ModelingCmdId, type: Literal['modeling_cmd_req'] = 'modeling_cmd_req') -> None>[source]
The synthesized
__init__
[Signature
][inspect.Signature] of the model.
- __slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
-
cmd:
RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
[source]
-
cmd_id:
ModelingCmdId
[source]
- copy(*, include=None, exclude=None, update=None, deep=False)[source]
Returns a copy of the model.
- !!! warning “Deprecated”
This method is now deprecated; use
model_copy
instead.
If you need
include
orexclude
, use:`python {test="skip" lint="skip"} data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `
- Parameters:
include – Optional set or mapping specifying which fields to include in the copied model.
exclude – Optional set or mapping specifying which fields to exclude in the copied model.
update – Optional dictionary of field-value pairs to override field values in the copied model.
deep – If True, the values of fields that are Pydantic models will be deep-copied.
- Returns:
A copy of the model with included, excluded and updated fields as specified.
- dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
- json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
- Return type:
- model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]
Configuration for the model, should be a dictionary conforming to [
ConfigDict
][pydantic.config.ConfigDict].
- classmethod model_construct(_fields_set=None, **values)[source]
Creates a new instance of the
Model
class with validated data.Creates a new model setting
__dict__
and__pydantic_fields_set__
from trusted or pre-validated data. Default values are respected, but no other validation is performed.- !!! note
model_construct()
generally respects themodel_config.extra
setting on the provided model. That is, ifmodel_config.extra == 'allow'
, then all extra passed values are added to the model instance’s__dict__
and__pydantic_extra__
fields. Ifmodel_config.extra == 'ignore'
(the default), then all extra passed values are ignored. Because no validation is performed with a call tomodel_construct()
, havingmodel_config.extra == 'forbid'
does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set (
set
[str
] |None
) – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set
][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from thevalues
argument will be used.values (
Any
) – Trusted or pre-validated data dictionary.
- Return type:
Self
- Returns:
A new instance of the
Model
class with validated data.
- model_copy(*, update=None, deep=False)[source]
Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#model_copy
Returns a copy of the model.
- model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]
Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#modelmodel_dump
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Parameters:
mode (
Union
[Literal
['json'
,'python'
],str
]) – The mode in whichto_python
should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.include (
Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],Mapping
[str
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],None
]) – A set of fields to include in the output.exclude (
Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],Mapping
[str
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],None
]) – A set of fields to exclude from the output.context (
Any
|None
) – Additional context to pass to the serializer.by_alias (
bool
) – Whether to use the field’s alias in the dictionary key if defined.exclude_unset (
bool
) – Whether to exclude fields that have not been explicitly set.exclude_defaults (
bool
) – Whether to exclude fields that are set to their default value.exclude_none (
bool
) – Whether to exclude fields that have a value ofNone
.round_trip (
bool
) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].warnings (
Union
[bool
,Literal
['none'
,'warn'
,'error'
]]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError
][pydantic_core.PydanticSerializationError].serialize_as_any (
bool
) – Whether to serialize fields with duck-typing serialization behavior.
- Return type:
- Returns:
A dictionary representation of the model.
- model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]
Usage docs: https://docs.pydantic.dev/2.10/concepts/serialization/#modelmodel_dump_json
Generates a JSON representation of the model using Pydantic’s
to_json
method.- Parameters:
indent (
int
|None
) – Indentation to use in the JSON output. If None is passed, the output will be compact.include (
Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],Mapping
[str
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],None
]) – Field(s) to include in the JSON output.exclude (
Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],Mapping
[str
,Union
[Set
[int
],Set
[str
],Mapping
[int
,Union
[IncEx,bool
]],Mapping
[str
,Union
[IncEx,bool
]],bool
]],None
]) – Field(s) to exclude from the JSON output.context (
Any
|None
) – Additional context to pass to the serializer.by_alias (
bool
) – Whether to serialize using field aliases.exclude_unset (
bool
) – Whether to exclude fields that have not been explicitly set.exclude_defaults (
bool
) – Whether to exclude fields that are set to their default value.exclude_none (
bool
) – Whether to exclude fields that have a value ofNone
.round_trip (
bool
) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].warnings (
Union
[bool
,Literal
['none'
,'warn'
,'error'
]]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError
][pydantic_core.PydanticSerializationError].serialize_as_any (
bool
) – Whether to serialize fields with duck-typing serialization behavior.
- Return type:
- Returns:
A JSON string representation of the model.
- property model_extra: dict[str, Any] | None[source]
Get extra fields set during validation.
- Returns:
A dictionary of extra fields, or
None
ifconfig.extra
is not set to"allow"
.
- model_fields: ClassVar[dict[str, FieldInfo]] = {'cmd': FieldInfo(annotation=RootModel[Annotated[Union[OptionEngineUtilEvaluatePath, OptionStartPath, OptionMovePathPen, OptionExtendPath, OptionExtrude, OptionSweep, OptionRevolve, OptionSolid3DShellFace, OptionRevolveAboutEdge, OptionLoft, OptionClosePath, OptionCameraDragStart, OptionCameraDragMove, OptionCameraDragEnd, OptionDefaultCameraGetSettings, OptionDefaultCameraGetView, OptionDefaultCameraSetView, OptionDefaultCameraLookAt, OptionDefaultCameraPerspectiveSettings, OptionDefaultCameraZoom, OptionExport2D, OptionExport3D, OptionExport, OptionEntityGetParentId, OptionEntityGetNumChildren, OptionEntityGetChildUuid, OptionEntityGetAllChildUuids, OptionEntityGetSketchPaths, OptionEntityGetDistance, OptionEntityClone, OptionEntityLinearPatternTransform, OptionEntityLinearPattern, OptionEntityCircularPattern, OptionEntityMakeHelix, OptionEntityMakeHelixFromParams, OptionEntityMakeHelixFromEdge, OptionEntityMirror, OptionEntityMirrorAcrossEdge, OptionSelectWithPoint, OptionSelectAdd, OptionSelectRemove, OptionSceneClearAll, OptionSelectReplace, OptionHighlightSetEntity, OptionHighlightSetEntities, OptionNewAnnotation, OptionUpdateAnnotation, OptionEdgeLinesVisible, OptionObjectVisible, OptionObjectBringToFront, OptionObjectSetMaterialParamsPbr, OptionGetEntityType, OptionSolid3DGetAllEdgeFaces, OptionSolid2DAddHole, OptionSolid3DGetAllOppositeEdges, OptionSolid3DGetOppositeEdge, OptionSolid3DGetNextAdjacentEdge, OptionSolid3DGetPrevAdjacentEdge, OptionSolid3DGetCommonEdge, OptionSolid3DFilletEdge, OptionFaceIsPlanar, OptionFaceGetPosition, OptionFaceGetCenter, OptionFaceGetGradient, OptionSendObject, OptionEntitySetOpacity, OptionEntityFade, OptionMakePlane, OptionPlaneSetColor, OptionSetTool, OptionMouseMove, OptionMouseClick, OptionSketchModeDisable, OptionGetSketchModePlane, OptionCurveSetConstraint, OptionEnableSketchMode, OptionEnableDryRun, OptionDisableDryRun, OptionSetBackgroundColor, OptionSetCurrentToolProperties, OptionSetDefaultSystemProperties, OptionCurveGetType, OptionCurveGetControlPoints, OptionProjectEntityToPlane, OptionProjectPointsToPlane, OptionTakeSnapshot, OptionMakeAxesGizmo, OptionPathGetInfo, OptionPathGetCurveUuidsForVertices, OptionPathGetCurveUuid, OptionPathGetVertexUuids, OptionPathGetSketchTargetUuid, OptionHandleMouseDragStart, OptionHandleMouseDragMove, OptionHandleMouseDragEnd, OptionRemoveSceneObjects, OptionPlaneIntersectAndProject, OptionCurveGetEndPoints, OptionReconfigureStream, OptionImportFiles, OptionSetSceneUnits, OptionMass, OptionDensity, OptionVolume, OptionCenterOfMass, OptionSurfaceArea, OptionDefaultCameraFocusOn, OptionSetSelectionType, OptionSetSelectionFilter, OptionDefaultCameraSetOrthographic, OptionDefaultCameraSetPerspective, OptionDefaultCameraCenterToSelection, OptionDefaultCameraCenterToScene, OptionZoomToFit, OptionOrientToFace, OptionViewIsometric, OptionSolid3DGetExtrusionFaceInfo, OptionSelectClear, OptionSelectGet, OptionGetNumObjects, OptionSetObjectTransform, OptionMakeOffsetPath, OptionAddHoleFromOffset, OptionSetGridReferencePlane], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'cmd_id': FieldInfo(annotation=ModelingCmdId, required=True), 'type': FieldInfo(annotation=Literal['modeling_cmd_req'], required=False, default='modeling_cmd_req')}[source]
- property model_fields_set: set[str][source]
Returns the set of fields that have been explicitly set on this model instance.
- Returns:
- A set of strings representing the fields that have been set,
i.e. that were not filled from defaults.
- classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]
Generates a JSON schema for a model class.
- Parameters:
by_alias (
bool
) – Whether to use attribute aliases or not.ref_template (
str
) – The reference template.schema_generator (
type
[GenerateJsonSchema
]) – To override the logic used to generate the JSON schema, as a subclass ofGenerateJsonSchema
with your desired modificationsmode (
Literal
['validation'
,'serialization'
]) – The mode in which to generate the schema.
- Return type:
- Returns:
The JSON schema for the given model class.
- classmethod model_parametrized_name(params)[source]
Compute the class name for parametrizations of generic classes.
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
- Parameters:
params (
tuple
[type
[Any
],...
]) – Tuple of types of the class. Given a generic classModel
with 2 type variables and a concrete modelModel[str, int]
, the value(str, int)
would be passed toparams
.- Return type:
- Returns:
String representing the new class where
params
are passed tocls
as type variables.- Raises:
TypeError – Raised when trying to generate concrete names for non-generic models.
- model_post_init(_BaseModel__context)[source]
Override this method to perform additional initialization after
__init__
andmodel_construct
. This is useful if you want to do some validation that requires the entire model to be initialized.- Return type:
- classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]
Try to rebuild the pydantic-core schema for the model.
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.
- Parameters:
force (
bool
) – Whether to force the rebuilding of the model schema, defaults toFalse
.raise_errors (
bool
) – Whether to raise errors, defaults toTrue
._parent_namespace_depth (
int
) – The depth level of the parent namespace, defaults to 2._types_namespace (
Optional
[Mapping
[str
,Any
]]) – The types namespace, defaults toNone
.
- Return type:
- Returns:
Returns
None
if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returnsTrue
if rebuilding was successful, otherwiseFalse
.
- classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]
Validate a pydantic model instance.
- Parameters:
- Raises:
ValidationError – If the object could not be validated.
- Return type:
Self
- Returns:
The validated model instance.
- classmethod model_validate_json(json_data, *, strict=None, context=None)[source]
Usage docs: https://docs.pydantic.dev/2.10/concepts/json/#json-parsing
Validate the given JSON data against the Pydantic model.
- Parameters:
- Return type:
Self
- Returns:
The validated Pydantic model.
- Raises:
ValidationError – If
json_data
is not a JSON string or the object could not be validated.
- classmethod model_validate_strings(obj, *, strict=None, context=None)[source]
Validate the given object with string data against the Pydantic model.
- classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
- Return type:
Self
- classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
- Return type:
Self