kittycad.models.modeling_cmd_req
Classes
|
A graphics command submitted to the KittyCAD engine via the Modeling API. |
- class kittycad.models.modeling_cmd_req.ModelingCmdReq(**data)[source][source]
A graphics command submitted to the KittyCAD engine via the Modeling API.
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.- __annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__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[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], 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]]'}[source]
- classmethod __class_getitem__(typevar_values)[source]
- Return type:
type
[BaseModel
] |PydanticRecursiveRef
- 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
[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
]- 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
[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
]) – 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.
- __pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:93909450722192', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.angle.Angle'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.angle.Angle'>>]}, 'ref': 'kittycad.models.angle.Angle:93909450696560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_angle.UnitAngle:93909452117424', 'type': 'definition-ref'}, 'type': 'model-field'}, 'value': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_angle.UnitAngle:93909452117424', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:93909459644656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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.ZOOM], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:93909454049728', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, 'config': {'title': 'AxisDirectionPair'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.axis_direction_pair.AxisDirectionPair'>>]}, 'ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:93909454275632', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis.Axis:93909453122720', 'type': 'definition-ref'}, 'type': 'model-field'}, 'direction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.direction.Direction:93909454273072', '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.axis.Axis:93909453122720', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'Direction'>, 'members': [Direction.POSITIVE, Direction.NEGATIVE], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.direction.Direction:93909454273072', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.system.System'>, 'config': {'title': 'System'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.system.System'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.system.System'>>]}, 'ref': 'kittycad.models.system.System:93909454286064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'forward': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:93909454275632', 'type': 'definition-ref'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.axis_direction_pair.AxisDirectionPair:93909454275632', '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.selection.default_scene'>, 'config': {'title': 'default_scene'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.default_scene'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.default_scene'>>]}, 'ref': 'kittycad.models.selection.default_scene:93909455528560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_scene', 'schema': {'expected': ['default_scene'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_scene', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.scene_by_index'>, 'config': {'title': 'scene_by_index'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.scene_by_index'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.scene_by_index'>>]}, 'ref': 'kittycad.models.selection.scene_by_index:93909455533280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'scene_by_index', 'schema': {'expected': ['scene_by_index'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'scene_by_index', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.scene_by_name'>, 'config': {'title': 'scene_by_name'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.scene_by_name'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.scene_by_name'>>]}, 'ref': 'kittycad.models.selection.scene_by_name:93909453058704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'scene_by_name', 'schema': {'expected': ['scene_by_name'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'scene_by_name', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.mesh_by_index'>, 'config': {'title': 'mesh_by_index'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.mesh_by_index'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.mesh_by_index'>>]}, 'ref': 'kittycad.models.selection.mesh_by_index:93909453065600', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mesh_by_index', 'schema': {'expected': ['mesh_by_index'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mesh_by_index', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.selection.mesh_by_name'>, 'config': {'title': 'mesh_by_name'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.selection.mesh_by_name'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.selection.mesh_by_name'>>]}, 'ref': 'kittycad.models.selection.mesh_by_name:93909453076000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mesh_by_name', 'schema': {'expected': ['mesh_by_name'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mesh_by_name', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693216251680]", 'root_model': True, 'schema': {'choices': {'default_scene': {'schema_ref': 'kittycad.models.selection.default_scene:93909455528560', 'type': 'definition-ref'}, 'mesh_by_index': {'schema_ref': 'kittycad.models.selection.mesh_by_index:93909453065600', 'type': 'definition-ref'}, 'mesh_by_name': {'schema_ref': 'kittycad.models.selection.mesh_by_name:93909453076000', 'type': 'definition-ref'}, 'scene_by_index': {'schema_ref': 'kittycad.models.selection.scene_by_index:93909455533280', 'type': 'definition-ref'}, 'scene_by_name': {'schema_ref': 'kittycad.models.selection.scene_by_name:93909453058704', 'type': 'definition-ref'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, {'cls': <enum 'SceneSelectionType'>, 'members': [SceneSelectionType.REPLACE, SceneSelectionType.ADD, SceneSelectionType.REMOVE], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_selection_type.SceneSelectionType:93909459808400', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'AnnotationLineEnd'>, 'members': [AnnotationLineEnd.NONE, AnnotationLineEnd.ARROW], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:93909450733008', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.color.Color'>, 'config': {'title': 'Color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.color.Color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.color.Color'>>]}, 'ref': 'kittycad.models.color.Color:93909450746496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'a': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'b': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'g': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'r': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions'>>]}, 'ref': 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions:93909450734784', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:93909450733008', 'type': 'definition-ref'}, 'type': 'model-field'}, 'start': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_line_end.AnnotationLineEnd:93909450733008', '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_x.AnnotationTextAlignmentX:93909455890000', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'AnnotationTextAlignmentY'>, 'members': [AnnotationTextAlignmentY.BOTTOM, AnnotationTextAlignmentY.CENTER, AnnotationTextAlignmentY.TOP], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_text_alignment_y.AnnotationTextAlignmentY:93909450740992', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, 'config': {'title': 'AnnotationTextOptions'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_text_options.AnnotationTextOptions'>>]}, 'ref': 'kittycad.models.annotation_text_options.AnnotationTextOptions:93909450742768', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'point_size': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'text': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_text_alignment_x.AnnotationTextAlignmentX:93909455890000', 'type': 'definition-ref'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_text_alignment_y.AnnotationTextAlignmentY:93909450740992', '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_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.annotation_options.AnnotationOptions'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.annotation_options.AnnotationOptions'>>]}, 'ref': 'kittycad.models.annotation_options.AnnotationOptions:93909450727200', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.color.Color:93909450746496', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_ends': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.annotation_line_end_options.AnnotationLineEndOptions:93909450734784', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'line_width': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'position': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'text': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.annotation_text_options.AnnotationTextOptions:93909450742768', '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_density.UnitDensity:93909455816368', 'sub_type': 'str', 'type': 'enum'}, {'cls': <enum 'UnitMass'>, 'members': [UnitMass.G, UnitMass.KG, UnitMass.LB], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_mass.UnitMass:93909455818144', 'sub_type': 'str', 'type': 'enum'}], 'schema': {'cls': <class 'kittycad.models.modeling_cmd_req.ModelingCmdReq'>, 'config': {'title': 'ModelingCmdReq'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd_req.ModelingCmdReq'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd_req.ModelingCmdReq'>>]}, 'ref': 'kittycad.models.modeling_cmd_req.ModelingCmdReq:93909463010960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cmd': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693135113936]", 'root_model': True, 'schema': {'choices': {'camera_drag_end': {'cls': <class 'kittycad.models.modeling_cmd.camera_drag_end'>, 'config': {'title': 'camera_drag_end'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.camera_drag_end'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.camera_drag_end'>>]}, 'ref': 'kittycad.models.modeling_cmd.camera_drag_end:93909460055040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:93909454049728', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_end', 'schema': {'expected': ['camera_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_end', 'type': 'model-fields'}, 'type': 'model'}, 'camera_drag_move': {'cls': <class 'kittycad.models.modeling_cmd.camera_drag_move'>, 'config': {'title': 'camera_drag_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.camera_drag_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.camera_drag_move'>>]}, 'ref': 'kittycad.models.modeling_cmd.camera_drag_move:93909460037504', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:93909454049728', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_move', 'schema': {'expected': ['camera_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_move', 'type': 'model-fields'}, 'type': 'model'}, 'camera_drag_start': {'cls': <class 'kittycad.models.modeling_cmd.camera_drag_start'>, 'config': {'title': 'camera_drag_start'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.camera_drag_start'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.camera_drag_start'>>]}, 'ref': 'kittycad.models.modeling_cmd.camera_drag_start:93909460027584', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'interaction': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_drag_interaction_type.CameraDragInteractionType:93909454049728', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_start', 'schema': {'expected': ['camera_drag_start'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_start', 'type': 'model-fields'}, 'type': 'model'}, 'center_of_mass': {'cls': <class 'kittycad.models.modeling_cmd.center_of_mass'>, 'config': {'title': 'center_of_mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.center_of_mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.center_of_mass'>>]}, 'ref': 'kittycad.models.modeling_cmd.center_of_mass:93909461600416', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'center_of_mass', 'schema': {'expected': ['center_of_mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'center_of_mass', 'type': 'model-fields'}, 'type': 'model'}, 'close_path': {'cls': <class 'kittycad.models.modeling_cmd.close_path'>, 'config': {'title': 'close_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.close_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.close_path'>>]}, 'ref': 'kittycad.models.modeling_cmd.close_path:93909460008496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'close_path', 'schema': {'expected': ['close_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'close_path', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_control_points': {'cls': <class 'kittycad.models.modeling_cmd.curve_get_control_points'>, 'config': {'title': 'curve_get_control_points'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_get_control_points'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_get_control_points'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_get_control_points:93909461254976', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_control_points', 'schema': {'expected': ['curve_get_control_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_control_points', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_end_points': {'cls': <class 'kittycad.models.modeling_cmd.curve_get_end_points'>, 'config': {'title': 'curve_get_end_points'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_get_end_points'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_get_end_points'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_get_end_points:93909461438928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_end_points', 'schema': {'expected': ['curve_get_end_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_end_points', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_type': {'cls': <class 'kittycad.models.modeling_cmd.curve_get_type'>, 'config': {'title': 'curve_get_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_get_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_get_type'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_get_type:93909461234576', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_type', 'schema': {'expected': ['curve_get_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_type', 'type': 'model-fields'}, 'type': 'model'}, 'curve_set_constraint': {'cls': <class 'kittycad.models.modeling_cmd.curve_set_constraint'>, 'config': {'title': 'curve_set_constraint'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.curve_set_constraint'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.curve_set_constraint'>>]}, 'ref': 'kittycad.models.modeling_cmd.curve_set_constraint:93909461135904', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'constraint_bound': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'PathComponentConstraintBound'>, 'members': [PathComponentConstraintBound.UNCONSTRAINED, PathComponentConstraintBound.PARTIALLY_CONSTRAINED, PathComponentConstraintBound.FULLY_CONSTRAINED], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_component_constraint_bound.PathComponentConstraintBound:93909459637584', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'constraint_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'PathComponentConstraintType'>, 'members': [PathComponentConstraintType.UNCONSTRAINED, PathComponentConstraintType.VERTICAL, PathComponentConstraintType.HORIZONTAL, PathComponentConstraintType.EQUAL_LENGTH, PathComponentConstraintType.PARALLEL, PathComponentConstraintType.ANGLE_BETWEEN], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_component_constraint_type.PathComponentConstraintType:93909459640928', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_set_constraint', 'schema': {'expected': ['curve_set_constraint'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_set_constraint', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_focus_on': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_focus_on'>, 'config': {'title': 'default_camera_focus_on'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_focus_on'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_focus_on'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_focus_on:93909461633824', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_focus_on', 'schema': {'expected': ['default_camera_focus_on'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uuid': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'default_camera_focus_on', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_get_settings': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_get_settings'>, 'config': {'title': 'default_camera_get_settings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_get_settings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_get_settings'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_get_settings:93909460075280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_get_settings', 'schema': {'expected': ['default_camera_get_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_get_settings', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_look_at': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_look_at'>, 'config': {'title': 'default_camera_look_at'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_look_at'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_look_at'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_look_at:93909460091808', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_look_at', 'schema': {'expected': ['default_camera_look_at'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'vantage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'default_camera_look_at', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_perspective_settings': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_perspective_settings'>, 'config': {'title': 'default_camera_perspective_settings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_perspective_settings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_perspective_settings'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_perspective_settings:93909460100592', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'fov_y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_perspective_settings', 'schema': {'expected': ['default_camera_perspective_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'vantage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'z_far': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_near': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_perspective_settings', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_set_orthographic': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_set_orthographic'>, 'config': {'title': 'default_camera_set_orthographic'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_set_orthographic'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_set_orthographic'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_set_orthographic:93909461674992', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_set_orthographic', 'schema': {'expected': ['default_camera_set_orthographic'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_set_orthographic', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_set_perspective': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_set_perspective'>, 'config': {'title': 'default_camera_set_perspective'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_set_perspective'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_set_perspective'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_set_perspective:93909461687424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'parameters': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>, 'config': {'title': 'PerspectiveCameraParameters'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters'>>]}, 'ref': 'kittycad.models.perspective_camera_parameters.PerspectiveCameraParameters:93909459796896', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'fov_y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_far': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_near': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_set_perspective', 'schema': {'expected': ['default_camera_set_perspective'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_set_perspective', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_zoom': {'cls': <class 'kittycad.models.modeling_cmd.default_camera_zoom'>, 'config': {'title': 'default_camera_zoom'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.default_camera_zoom'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.default_camera_zoom'>>]}, 'ref': 'kittycad.models.modeling_cmd.default_camera_zoom:93909460122432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'magnitude': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_zoom', 'schema': {'expected': ['default_camera_zoom'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_zoom', 'type': 'model-fields'}, 'type': 'model'}, 'density': {'cls': <class 'kittycad.models.modeling_cmd.density'>, 'config': {'title': 'density'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.density'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.density'>>]}, 'ref': 'kittycad.models.modeling_cmd.density:93909461570256', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'material_mass': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'material_mass_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_mass.UnitMass:93909455818144', 'type': 'definition-ref'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_density.UnitDensity:93909455816368', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'density', 'schema': {'expected': ['density'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'density', 'type': 'model-fields'}, 'type': 'model'}, 'edge_lines_visible': {'cls': <class 'kittycad.models.modeling_cmd.edge_lines_visible'>, 'config': {'title': 'edge_lines_visible'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.edge_lines_visible'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.edge_lines_visible'>>]}, 'ref': 'kittycad.models.modeling_cmd.edge_lines_visible:93909460639536', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hidden': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'edge_lines_visible', 'schema': {'expected': ['edge_lines_visible'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'edge_lines_visible', 'type': 'model-fields'}, 'type': 'model'}, 'edit_mode_enter': {'cls': <class 'kittycad.models.modeling_cmd.edit_mode_enter'>, 'config': {'title': 'edit_mode_enter'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.edit_mode_enter'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.edit_mode_enter'>>]}, 'ref': 'kittycad.models.modeling_cmd.edit_mode_enter:93909460470064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'edit_mode_enter', 'schema': {'expected': ['edit_mode_enter'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'edit_mode_enter', 'type': 'model-fields'}, 'type': 'model'}, 'edit_mode_exit': {'cls': <class 'kittycad.models.modeling_cmd.edit_mode_exit'>, 'config': {'title': 'edit_mode_exit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.edit_mode_exit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.edit_mode_exit'>>]}, 'ref': 'kittycad.models.modeling_cmd.edit_mode_exit:93909461749904', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'edit_mode_exit', 'schema': {'expected': ['edit_mode_exit'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'edit_mode_exit', 'type': 'model-fields'}, 'type': 'model'}, 'enable_sketch_mode': {'cls': <class 'kittycad.models.modeling_cmd.enable_sketch_mode'>, 'config': {'title': 'enable_sketch_mode'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.enable_sketch_mode'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.enable_sketch_mode'>>]}, 'ref': 'kittycad.models.modeling_cmd.enable_sketch_mode:93909461146032', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'adjust_camera': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'animated': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'ortho': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'planar_normal': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'enable_sketch_mode', 'schema': {'expected': ['enable_sketch_mode'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'enable_sketch_mode', 'type': 'model-fields'}, 'type': 'model'}, 'entity_circular_pattern': {'cls': <class 'kittycad.models.modeling_cmd.entity_circular_pattern'>, 'config': {'title': 'entity_circular_pattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_circular_pattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_circular_pattern'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_circular_pattern:93909460389840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'arc_degrees': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'num_repetitions': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'rotate_duplicates': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_circular_pattern', 'schema': {'expected': ['entity_circular_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_circular_pattern', 'type': 'model-fields'}, 'type': 'model'}, 'entity_fade': {'cls': <class 'kittycad.models.modeling_cmd.entity_fade'>, 'config': {'title': 'entity_fade'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_fade'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_fade'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_fade:93909460935952', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'duration_seconds': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 0.4000000059604645, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'fade_in': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_fade', 'schema': {'expected': ['entity_fade'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_fade', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_all_child_uuids': {'cls': <class 'kittycad.models.modeling_cmd.entity_get_all_child_uuids'>, 'config': {'title': 'entity_get_all_child_uuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_all_child_uuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_all_child_uuids'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_all_child_uuids:93909460307264', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_all_child_uuids', 'schema': {'expected': ['entity_get_all_child_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_all_child_uuids', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_child_uuid': {'cls': <class 'kittycad.models.modeling_cmd.entity_get_child_uuid'>, 'config': {'title': 'entity_get_child_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_child_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_child_uuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_child_uuid:93909460297232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'child_index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_child_uuid', 'schema': {'expected': ['entity_get_child_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_child_uuid', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_distance': {'cls': <class 'kittycad.models.modeling_cmd.entity_get_distance'>, 'config': {'title': 'entity_get_distance'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_distance'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_distance'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_distance:93909460328208', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'distance_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693207731712]", 'root_model': True, 'schema': {'choices': {'euclidean': {'cls': <class 'kittycad.models.distance_type.euclidean'>, 'config': {'title': 'euclidean'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.distance_type.euclidean'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.distance_type.euclidean'>>]}, 'ref': 'kittycad.models.distance_type.euclidean:93909456600896', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'euclidean', 'schema': {'expected': ['euclidean'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'euclidean', 'type': 'model-fields'}, 'type': 'model'}, 'on_axis': {'cls': <class 'kittycad.models.distance_type.on_axis'>, 'config': {'title': 'on_axis'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.distance_type.on_axis'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.distance_type.on_axis'>>]}, 'ref': 'kittycad.models.distance_type.on_axis:93909456606848', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'GlobalAxis'>, 'members': [GlobalAxis.X, GlobalAxis.Y, GlobalAxis.Z], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.global_axis.GlobalAxis:93909456596736', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'on_axis', 'schema': {'expected': ['on_axis'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'on_axis', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'entity_id1': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'entity_id2': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_distance', 'schema': {'expected': ['entity_get_distance'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_distance', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_num_children': {'cls': <class 'kittycad.models.modeling_cmd.entity_get_num_children'>, 'config': {'title': 'entity_get_num_children'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_num_children'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_num_children'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_num_children:93909458406240', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_num_children', 'schema': {'expected': ['entity_get_num_children'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_num_children', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_parent_id': {'cls': <class 'kittycad.models.modeling_cmd.entity_get_parent_id'>, 'config': {'title': 'entity_get_parent_id'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_parent_id'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_parent_id'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_parent_id:93909460164432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_parent_id', 'schema': {'expected': ['entity_get_parent_id'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_parent_id', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_sketch_paths': {'cls': <class 'kittycad.models.modeling_cmd.entity_get_sketch_paths'>, 'config': {'title': 'entity_get_sketch_paths'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_get_sketch_paths'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_get_sketch_paths'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_get_sketch_paths:93909460318080', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_sketch_paths', 'schema': {'expected': ['entity_get_sketch_paths'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_sketch_paths', 'type': 'model-fields'}, 'type': 'model'}, 'entity_linear_pattern': {'cls': <class 'kittycad.models.modeling_cmd.entity_linear_pattern'>, 'config': {'title': 'entity_linear_pattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_linear_pattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_linear_pattern'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_linear_pattern:93909460363392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'num_repetitions': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'spacing': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_linear_pattern', 'schema': {'expected': ['entity_linear_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_linear_pattern', 'type': 'model-fields'}, 'type': 'model'}, 'entity_linear_pattern_transform': {'cls': <class 'kittycad.models.modeling_cmd.entity_linear_pattern_transform'>, 'config': {'title': 'entity_linear_pattern_transform'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_linear_pattern_transform'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_linear_pattern_transform'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_linear_pattern_transform:93909460338352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'transform': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.linear_transform.LinearTransform'>, 'config': {'title': 'LinearTransform'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.linear_transform.LinearTransform'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.linear_transform.LinearTransform'>>]}, 'ref': 'kittycad.models.linear_transform.LinearTransform:93909459085568', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'replicate': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'scale': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': {'x': 1.0, 'y': 1.0, 'z': 1.0}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}, 'translate': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': {'x': 0.0, 'y': 0.0, 'z': 0.0}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'LinearTransform', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_linear_pattern_transform', 'schema': {'expected': ['entity_linear_pattern_transform'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_linear_pattern_transform', 'type': 'model-fields'}, 'type': 'model'}, 'entity_make_helix': {'cls': <class 'kittycad.models.modeling_cmd.entity_make_helix'>, 'config': {'title': 'entity_make_helix'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_make_helix'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_make_helix'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_make_helix:93909460408560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cylinder_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'is_clockwise': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'length': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'revolutions': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'start_angle': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_make_helix', 'schema': {'expected': ['entity_make_helix'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_make_helix', 'type': 'model-fields'}, 'type': 'model'}, 'entity_mirror': {'cls': <class 'kittycad.models.modeling_cmd.entity_mirror'>, 'config': {'title': 'entity_mirror'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_mirror'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_mirror'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_mirror:93909460430480', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'point': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_mirror', 'schema': {'expected': ['entity_mirror'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_mirror', 'type': 'model-fields'}, 'type': 'model'}, 'entity_mirror_across_edge': {'cls': <class 'kittycad.models.modeling_cmd.entity_mirror_across_edge'>, 'config': {'title': 'entity_mirror_across_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_mirror_across_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_mirror_across_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_mirror_across_edge:93909460449760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_mirror_across_edge', 'schema': {'expected': ['entity_mirror_across_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_mirror_across_edge', 'type': 'model-fields'}, 'type': 'model'}, 'entity_set_opacity': {'cls': <class 'kittycad.models.modeling_cmd.entity_set_opacity'>, 'config': {'title': 'entity_set_opacity'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.entity_set_opacity'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.entity_set_opacity'>>]}, 'ref': 'kittycad.models.modeling_cmd.entity_set_opacity:93909460918384', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'opacity': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_set_opacity', 'schema': {'expected': ['entity_set_opacity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_set_opacity', 'type': 'model-fields'}, 'type': 'model'}, 'export': {'cls': <class 'kittycad.models.modeling_cmd.export'>, 'config': {'title': 'export'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.export'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.export'>>]}, 'ref': 'kittycad.models.modeling_cmd.export:93909460153808', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693219430128]", 'root_model': True, 'schema': {'choices': {'fbx': {'cls': <class 'kittycad.models.output_format.fbx'>, 'config': {'title': 'fbx'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.fbx'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.fbx'>>]}, 'ref': 'kittycad.models.output_format.fbx:93909450937376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'FbxStorage'>, 'members': [FbxStorage.ASCII, FbxStorage.BINARY], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.fbx_storage.FbxStorage:93909451290752', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'fbx', 'schema': {'expected': ['fbx'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'fbx', 'type': 'model-fields'}, 'type': 'model'}, 'gltf': {'cls': <class 'kittycad.models.output_format.gltf'>, 'config': {'title': 'gltf'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.gltf'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.gltf'>>]}, 'ref': 'kittycad.models.output_format.gltf:93909455545728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'presentation': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'GltfPresentation'>, 'members': [GltfPresentation.COMPACT, GltfPresentation.PRETTY], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.gltf_presentation.GltfPresentation:93909455523984', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'GltfStorage'>, 'members': [GltfStorage.BINARY, GltfStorage.STANDARD, GltfStorage.EMBEDDED], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.gltf_storage.GltfStorage:93909455526000', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'gltf', 'schema': {'expected': ['gltf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'gltf', 'type': 'model-fields'}, 'type': 'model'}, 'obj': {'cls': <class 'kittycad.models.output_format.obj'>, 'config': {'title': 'obj'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.obj'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.obj'>>]}, 'ref': 'kittycad.models.output_format.obj:93909455554032', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'obj', 'schema': {'expected': ['obj'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'obj', 'type': 'model-fields'}, 'type': 'model'}, 'ply': {'cls': <class 'kittycad.models.output_format.ply'>, 'config': {'title': 'ply'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.ply'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.ply'>>]}, 'ref': 'kittycad.models.output_format.ply:93909455572352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693216251680]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'PlyStorage'>, 'members': [PlyStorage.ASCII, PlyStorage.BINARY_LITTLE_ENDIAN, PlyStorage.BINARY_BIG_ENDIAN], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.ply_storage.PlyStorage:93909453050848', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'ply', 'schema': {'expected': ['ply'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'ply', 'type': 'model-fields'}, 'type': 'model'}, 'step': {'cls': <class 'kittycad.models.output_format.step'>, 'config': {'title': 'step'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.step'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.step'>>]}, 'ref': 'kittycad.models.output_format.step:93909457020704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'step', 'schema': {'expected': ['step'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'step', 'type': 'model-fields'}, 'type': 'model'}, 'stl': {'cls': <class 'kittycad.models.output_format.stl'>, 'config': {'title': 'stl'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.output_format.stl'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.output_format.stl'>>]}, 'ref': 'kittycad.models.output_format.stl:93909457036288', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693216251680]", 'type': 'definition-ref'}, 'type': 'model-field'}, 'storage': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'StlStorage'>, 'members': [StlStorage.ASCII, StlStorage.BINARY], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.stl_storage.StlStorage:93909453112432', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'stl', 'schema': {'expected': ['stl'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'stl', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'export', 'schema': {'expected': ['export'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'export', 'type': 'model-fields'}, 'type': 'model'}, 'extend_path': {'cls': <class 'kittycad.models.modeling_cmd.extend_path'>, 'config': {'title': 'extend_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.extend_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.extend_path'>>]}, 'ref': 'kittycad.models.modeling_cmd.extend_path:93909459827152', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'segment': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693138471456]", 'root_model': True, 'schema': {'choices': {'arc': {'cls': <class 'kittycad.models.path_segment.arc'>, 'config': {'title': 'arc'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.arc'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.arc'>>]}, 'ref': 'kittycad.models.path_segment.arc:93909459928496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}, 'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'model-field'}, 'radius': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'start': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'arc', 'schema': {'expected': ['arc'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'arc', 'type': 'model-fields'}, 'type': 'model'}, 'bezier': {'cls': <class 'kittycad.models.path_segment.bezier'>, 'config': {'title': 'bezier'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.bezier'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.bezier'>>]}, 'ref': 'kittycad.models.path_segment.bezier:93909459668416', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'control1': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'control2': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'bezier', 'schema': {'expected': ['bezier'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'bezier', 'type': 'model-fields'}, 'type': 'model'}, 'line': {'cls': <class 'kittycad.models.path_segment.line'>, 'config': {'title': 'line'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.line'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.line'>>]}, 'ref': 'kittycad.models.path_segment.line:93909455241376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'line', 'schema': {'expected': ['line'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'line', 'type': 'model-fields'}, 'type': 'model'}, 'tangential_arc': {'cls': <class 'kittycad.models.path_segment.tangential_arc'>, 'config': {'title': 'tangential_arc'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.tangential_arc'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.tangential_arc'>>]}, 'ref': 'kittycad.models.path_segment.tangential_arc:93909459688336', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'offset': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'model-field'}, 'radius': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'tangential_arc', 'schema': {'expected': ['tangential_arc'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'tangential_arc', 'type': 'model-fields'}, 'type': 'model'}, 'tangential_arc_to': {'cls': <class 'kittycad.models.path_segment.tangential_arc_to'>, 'config': {'title': 'tangential_arc_to'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment.tangential_arc_to'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment.tangential_arc_to'>>]}, 'ref': 'kittycad.models.path_segment.tangential_arc_to:93909459704176', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle_snap_increment': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'to': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'tangential_arc_to', 'schema': {'expected': ['tangential_arc_to'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'tangential_arc_to', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'extend_path', 'schema': {'expected': ['extend_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'extend_path', 'type': 'model-fields'}, 'type': 'model'}, 'extrude': {'cls': <class 'kittycad.models.modeling_cmd.extrude'>, 'config': {'title': 'extrude'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.extrude'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.extrude'>>]}, 'ref': 'kittycad.models.modeling_cmd.extrude:93909459843216', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cap': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'distance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'extrude', 'schema': {'expected': ['extrude'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'extrude', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_center': {'cls': <class 'kittycad.models.modeling_cmd.face_get_center'>, 'config': {'title': 'face_get_center'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_get_center'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_get_center'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_get_center:93909460876768', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_center', 'schema': {'expected': ['face_get_center'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_get_center', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_gradient': {'cls': <class 'kittycad.models.modeling_cmd.face_get_gradient'>, 'config': {'title': 'face_get_gradient'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_get_gradient'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_get_gradient'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_get_gradient:93909460888656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_gradient', 'schema': {'expected': ['face_get_gradient'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uv': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'face_get_gradient', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_position': {'cls': <class 'kittycad.models.modeling_cmd.face_get_position'>, 'config': {'title': 'face_get_position'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_get_position'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_get_position'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_get_position:93909460855648', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_position', 'schema': {'expected': ['face_get_position'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'uv': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'face_get_position', 'type': 'model-fields'}, 'type': 'model'}, 'face_is_planar': {'cls': <class 'kittycad.models.modeling_cmd.face_is_planar'>, 'config': {'title': 'face_is_planar'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.face_is_planar'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.face_is_planar'>>]}, 'ref': 'kittycad.models.modeling_cmd.face_is_planar:93909460840864', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_is_planar', 'schema': {'expected': ['face_is_planar'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_is_planar', 'type': 'model-fields'}, 'type': 'model'}, 'get_entity_type': {'cls': <class 'kittycad.models.modeling_cmd.get_entity_type'>, 'config': {'title': 'get_entity_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.get_entity_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.get_entity_type'>>]}, 'ref': 'kittycad.models.modeling_cmd.get_entity_type:93909460723312', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_entity_type', 'schema': {'expected': ['get_entity_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_entity_type', 'type': 'model-fields'}, 'type': 'model'}, 'get_num_objects': {'cls': <class 'kittycad.models.modeling_cmd.get_num_objects'>, 'config': {'title': 'get_num_objects'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.get_num_objects'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.get_num_objects'>>]}, 'ref': 'kittycad.models.modeling_cmd.get_num_objects:93909461785824', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_num_objects', 'schema': {'expected': ['get_num_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_num_objects', 'type': 'model-fields'}, 'type': 'model'}, 'get_sketch_mode_plane': {'cls': <class 'kittycad.models.modeling_cmd.get_sketch_mode_plane'>, 'config': {'title': 'get_sketch_mode_plane'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.get_sketch_mode_plane'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.get_sketch_mode_plane'>>]}, 'ref': 'kittycad.models.modeling_cmd.get_sketch_mode_plane:93909461119008', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_sketch_mode_plane', 'schema': {'expected': ['get_sketch_mode_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_sketch_mode_plane', 'type': 'model-fields'}, 'type': 'model'}, 'handle_mouse_drag_end': {'cls': <class 'kittycad.models.modeling_cmd.handle_mouse_drag_end'>, 'config': {'title': 'handle_mouse_drag_end'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.handle_mouse_drag_end'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.handle_mouse_drag_end'>>]}, 'ref': 'kittycad.models.modeling_cmd.handle_mouse_drag_end:93909461381648', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'handle_mouse_drag_end', 'schema': {'expected': ['handle_mouse_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'handle_mouse_drag_end', 'type': 'model-fields'}, 'type': 'model'}, 'handle_mouse_drag_move': {'cls': <class 'kittycad.models.modeling_cmd.handle_mouse_drag_move'>, 'config': {'title': 'handle_mouse_drag_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.handle_mouse_drag_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.handle_mouse_drag_move'>>]}, 'ref': 'kittycad.models.modeling_cmd.handle_mouse_drag_move:93909461368704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'handle_mouse_drag_move', 'schema': {'expected': ['handle_mouse_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'handle_mouse_drag_move', 'type': 'model-fields'}, 'type': 'model'}, 'handle_mouse_drag_start': {'cls': <class 'kittycad.models.modeling_cmd.handle_mouse_drag_start'>, 'config': {'title': 'handle_mouse_drag_start'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.handle_mouse_drag_start'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.handle_mouse_drag_start'>>]}, 'ref': 'kittycad.models.modeling_cmd.handle_mouse_drag_start:93909461335600', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'handle_mouse_drag_start', 'schema': {'expected': ['handle_mouse_drag_start'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'handle_mouse_drag_start', 'type': 'model-fields'}, 'type': 'model'}, 'highlight_set_entities': {'cls': <class 'kittycad.models.modeling_cmd.highlight_set_entities'>, 'config': {'title': 'highlight_set_entities'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.highlight_set_entities'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.highlight_set_entities'>>]}, 'ref': 'kittycad.models.modeling_cmd.highlight_set_entities:93909460551888', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'highlight_set_entities', 'schema': {'expected': ['highlight_set_entities'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'highlight_set_entities', 'type': 'model-fields'}, 'type': 'model'}, 'highlight_set_entity': {'cls': <class 'kittycad.models.modeling_cmd.highlight_set_entity'>, 'config': {'title': 'highlight_set_entity'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.highlight_set_entity'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.highlight_set_entity'>>]}, 'ref': 'kittycad.models.modeling_cmd.highlight_set_entity:93909460541056', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selected_at_window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'highlight_set_entity', 'schema': {'expected': ['highlight_set_entity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'highlight_set_entity', 'type': 'model-fields'}, 'type': 'model'}, 'import_files': {'cls': <class 'kittycad.models.modeling_cmd.import_files'>, 'config': {'title': 'import_files'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.import_files'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.import_files'>>]}, 'ref': 'kittycad.models.modeling_cmd.import_files:93909454162688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'files': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.import_file.ImportFile'>, 'config': {'title': 'ImportFile'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.import_file.ImportFile'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.import_file.ImportFile'>>]}, 'ref': 'kittycad.models.import_file.ImportFile:93909459123360', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bytes'}, 'type': 'model-field'}, 'path': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ImportFile', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}, 'format': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:93909453116928[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:139693219348400]", 'root_model': True, 'schema': {'choices': {'fbx': {'cls': <class 'kittycad.models.input_format.fbx'>, 'config': {'title': 'fbx'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.fbx'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.fbx'>>]}, 'ref': 'kittycad.models.input_format.fbx:93909454246240', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'fbx', 'schema': {'expected': ['fbx'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'fbx', 'type': 'model-fields'}, 'type': 'model'}, 'gltf': {'cls': <class 'kittycad.models.input_format.gltf'>, 'config': {'title': 'gltf'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.gltf'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.gltf'>>]}, 'ref': 'kittycad.models.input_format.gltf:93909454251120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'gltf', 'schema': {'expected': ['gltf'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'gltf', 'type': 'model-fields'}, 'type': 'model'}, 'obj': {'cls': <class 'kittycad.models.input_format.obj'>, 'config': {'title': 'obj'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.obj'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.obj'>>]}, 'ref': 'kittycad.models.input_format.obj:93909454256784', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'obj', 'schema': {'expected': ['obj'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'obj', 'type': 'model-fields'}, 'type': 'model'}, 'ply': {'cls': <class 'kittycad.models.input_format.ply'>, 'config': {'title': 'ply'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.ply'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.ply'>>]}, 'ref': 'kittycad.models.input_format.ply:93909454300160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'ply', 'schema': {'expected': ['ply'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'ply', 'type': 'model-fields'}, 'type': 'model'}, 'sldprt': {'cls': <class 'kittycad.models.input_format.sldprt'>, 'config': {'title': 'sldprt'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.sldprt'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.sldprt'>>]}, 'ref': 'kittycad.models.input_format.sldprt:93909454317120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'split_closed_faces': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'sldprt', 'schema': {'expected': ['sldprt'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'sldprt', 'type': 'model-fields'}, 'type': 'model'}, 'step': {'cls': <class 'kittycad.models.input_format.step'>, 'config': {'title': 'step'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.step'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.step'>>]}, 'ref': 'kittycad.models.input_format.step:93909456173616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'split_closed_faces': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'step', 'schema': {'expected': ['step'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'step', 'type': 'model-fields'}, 'type': 'model'}, 'stl': {'cls': <class 'kittycad.models.input_format.stl'>, 'config': {'title': 'stl'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.input_format.stl'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.input_format.stl'>>]}, 'ref': 'kittycad.models.input_format.stl:93909456182096', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'coords': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.system.System:93909454286064', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'stl', 'schema': {'expected': ['stl'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'units': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'stl', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'import_files', 'schema': {'expected': ['import_files'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'import_files', 'type': 'model-fields'}, 'type': 'model'}, 'make_axes_gizmo': {'cls': <class 'kittycad.models.modeling_cmd.make_axes_gizmo'>, 'config': {'title': 'make_axes_gizmo'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.make_axes_gizmo'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.make_axes_gizmo'>>]}, 'ref': 'kittycad.models.modeling_cmd.make_axes_gizmo:93909461286736', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'clobber': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'gizmo_mode': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'make_axes_gizmo', 'schema': {'expected': ['make_axes_gizmo'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'make_axes_gizmo', 'type': 'model-fields'}, 'type': 'model'}, 'make_plane': {'cls': <class 'kittycad.models.modeling_cmd.make_plane'>, 'config': {'title': 'make_plane'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.make_plane'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.make_plane'>>]}, 'ref': 'kittycad.models.modeling_cmd.make_plane:93909460948608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'clobber': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'hide': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'origin': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'size': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'make_plane', 'schema': {'expected': ['make_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'x_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'y_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'make_plane', 'type': 'model-fields'}, 'type': 'model'}, 'mass': {'cls': <class 'kittycad.models.modeling_cmd.mass'>, 'config': {'title': 'mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.mass'>>]}, 'ref': 'kittycad.models.modeling_cmd.mass:93909461492960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'material_density': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'material_density_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_density.UnitDensity:93909455816368', 'type': 'definition-ref'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_mass.UnitMass:93909455818144', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mass', 'schema': {'expected': ['mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mass', 'type': 'model-fields'}, 'type': 'model'}, 'mouse_click': {'cls': <class 'kittycad.models.modeling_cmd.mouse_click'>, 'config': {'title': 'mouse_click'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.mouse_click'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.mouse_click'>>]}, 'ref': 'kittycad.models.modeling_cmd.mouse_click:93909461021232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mouse_click', 'schema': {'expected': ['mouse_click'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'mouse_click', 'type': 'model-fields'}, 'type': 'model'}, 'mouse_move': {'cls': <class 'kittycad.models.modeling_cmd.mouse_move'>, 'config': {'title': 'mouse_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.mouse_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.mouse_move'>>]}, 'ref': 'kittycad.models.modeling_cmd.mouse_move:93909461002128', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mouse_move', 'schema': {'expected': ['mouse_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'mouse_move', 'type': 'model-fields'}, 'type': 'model'}, 'move_path_pen': {'cls': <class 'kittycad.models.modeling_cmd.move_path_pen'>, 'config': {'title': 'move_path_pen'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.move_path_pen'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.move_path_pen'>>]}, 'ref': 'kittycad.models.modeling_cmd.move_path_pen:93909459819184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'to': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'move_path_pen', 'schema': {'expected': ['move_path_pen'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'move_path_pen', 'type': 'model-fields'}, 'type': 'model'}, 'new_annotation': {'cls': <class 'kittycad.models.modeling_cmd.new_annotation'>, 'config': {'title': 'new_annotation'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.new_annotation'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.new_annotation'>>]}, 'ref': 'kittycad.models.modeling_cmd.new_annotation:93909460569584', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'annotation_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'AnnotationType'>, 'members': [AnnotationType.T2D, AnnotationType.T3D], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.annotation_type.AnnotationType:93909455953360', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'clobber': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'options': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_options.AnnotationOptions:93909450727200', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'new_annotation', 'schema': {'expected': ['new_annotation'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'new_annotation', 'type': 'model-fields'}, 'type': 'model'}, 'object_bring_to_front': {'cls': <class 'kittycad.models.modeling_cmd.object_bring_to_front'>, 'config': {'title': 'object_bring_to_front'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.object_bring_to_front'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.object_bring_to_front'>>]}, 'ref': 'kittycad.models.modeling_cmd.object_bring_to_front:93909460702064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'object_bring_to_front', 'schema': {'expected': ['object_bring_to_front'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'object_bring_to_front', 'type': 'model-fields'}, 'type': 'model'}, 'object_set_material_params_pbr': {'cls': <class 'kittycad.models.modeling_cmd.object_set_material_params_pbr'>, 'config': {'title': 'object_set_material_params_pbr'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.object_set_material_params_pbr'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.object_set_material_params_pbr'>>]}, 'ref': 'kittycad.models.modeling_cmd.object_set_material_params_pbr:93909459815120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'ambient_occlusion': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.color.Color:93909450746496', 'type': 'definition-ref'}, 'type': 'model-field'}, 'metalness': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'roughness': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'object_set_material_params_pbr', 'schema': {'expected': ['object_set_material_params_pbr'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'object_set_material_params_pbr', 'type': 'model-fields'}, 'type': 'model'}, 'object_visible': {'cls': <class 'kittycad.models.modeling_cmd.object_visible'>, 'config': {'title': 'object_visible'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.object_visible'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.object_visible'>>]}, 'ref': 'kittycad.models.modeling_cmd.object_visible:93909460692256', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hidden': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'object_visible', 'schema': {'expected': ['object_visible'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'object_visible', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_curve_uuid': {'cls': <class 'kittycad.models.modeling_cmd.path_get_curve_uuid'>, 'config': {'title': 'path_get_curve_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_curve_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_curve_uuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_curve_uuid:93909461323616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'index': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_curve_uuid', 'schema': {'expected': ['path_get_curve_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_curve_uuid', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_curve_uuids_for_vertices': {'cls': <class 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices'>, 'config': {'title': 'path_get_curve_uuids_for_vertices'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_curve_uuids_for_vertices:93909461310944', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'path_get_curve_uuids_for_vertices', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_info': {'cls': <class 'kittycad.models.modeling_cmd.path_get_info'>, 'config': {'title': 'path_get_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_info'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_info:93909461298832', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_info', 'schema': {'expected': ['path_get_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_info', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_sketch_target_uuid': {'cls': <class 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid'>, 'config': {'title': 'path_get_sketch_target_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_sketch_target_uuid:93909430250352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_sketch_target_uuid', 'schema': {'expected': ['path_get_sketch_target_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_sketch_target_uuid', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_vertex_uuids': {'cls': <class 'kittycad.models.modeling_cmd.path_get_vertex_uuids'>, 'config': {'title': 'path_get_vertex_uuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.path_get_vertex_uuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.path_get_vertex_uuids'>>]}, 'ref': 'kittycad.models.modeling_cmd.path_get_vertex_uuids:93909430247456', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'path_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_vertex_uuids', 'schema': {'expected': ['path_get_vertex_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_vertex_uuids', 'type': 'model-fields'}, 'type': 'model'}, 'plane_intersect_and_project': {'cls': <class 'kittycad.models.modeling_cmd.plane_intersect_and_project'>, 'config': {'title': 'plane_intersect_and_project'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.plane_intersect_and_project'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.plane_intersect_and_project'>>]}, 'ref': 'kittycad.models.modeling_cmd.plane_intersect_and_project:93909461423616', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'plane_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'plane_intersect_and_project', 'schema': {'expected': ['plane_intersect_and_project'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'plane_intersect_and_project', 'type': 'model-fields'}, 'type': 'model'}, 'plane_set_color': {'cls': <class 'kittycad.models.modeling_cmd.plane_set_color'>, 'config': {'title': 'plane_set_color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.plane_set_color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.plane_set_color'>>]}, 'ref': 'kittycad.models.modeling_cmd.plane_set_color:93909460961136', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.color.Color:93909450746496', 'type': 'definition-ref'}, 'type': 'model-field'}, 'plane_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'plane_set_color', 'schema': {'expected': ['plane_set_color'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'plane_set_color', 'type': 'model-fields'}, 'type': 'model'}, 'reconfigure_stream': {'cls': <class 'kittycad.models.modeling_cmd.reconfigure_stream'>, 'config': {'title': 'reconfigure_stream'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.reconfigure_stream'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.reconfigure_stream'>>]}, 'ref': 'kittycad.models.modeling_cmd.reconfigure_stream:93909461451344', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'fps': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'height': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'reconfigure_stream', 'schema': {'expected': ['reconfigure_stream'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'width': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'reconfigure_stream', 'type': 'model-fields'}, 'type': 'model'}, 'remove_scene_objects': {'cls': <class 'kittycad.models.modeling_cmd.remove_scene_objects'>, 'config': {'title': 'remove_scene_objects'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.remove_scene_objects'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.remove_scene_objects'>>]}, 'ref': 'kittycad.models.modeling_cmd.remove_scene_objects:93909461398192', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'remove_scene_objects', 'schema': {'expected': ['remove_scene_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'remove_scene_objects', 'type': 'model-fields'}, 'type': 'model'}, 'revolve': {'cls': <class 'kittycad.models.modeling_cmd.revolve'>, 'config': {'title': 'revolve'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.revolve'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.revolve'>>]}, 'ref': 'kittycad.models.modeling_cmd.revolve:93909459952768', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'model-field'}, 'axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'axis_is_2d': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'origin': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'model-field'}, 'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'revolve', 'schema': {'expected': ['revolve'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'revolve', 'type': 'model-fields'}, 'type': 'model'}, 'revolve_about_edge': {'cls': <class 'kittycad.models.modeling_cmd.revolve_about_edge'>, 'config': {'title': 'revolve_about_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.revolve_about_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.revolve_about_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.revolve_about_edge:93909459994272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'angle': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.angle.Angle:93909450696560', 'type': 'definition-ref'}, 'type': 'model-field'}, 'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'revolve_about_edge', 'schema': {'expected': ['revolve_about_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'revolve_about_edge', 'type': 'model-fields'}, 'type': 'model'}, 'scene_clear_all': {'cls': <class 'kittycad.models.modeling_cmd.scene_clear_all'>, 'config': {'title': 'scene_clear_all'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.scene_clear_all'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.scene_clear_all'>>]}, 'ref': 'kittycad.models.modeling_cmd.scene_clear_all:93909460521520', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'scene_clear_all', 'schema': {'expected': ['scene_clear_all'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'scene_clear_all', 'type': 'model-fields'}, 'type': 'model'}, 'select_add': {'cls': <class 'kittycad.models.modeling_cmd.select_add'>, 'config': {'title': 'select_add'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_add'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_add'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_add:93909460491648', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_add', 'schema': {'expected': ['select_add'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_add', 'type': 'model-fields'}, 'type': 'model'}, 'select_clear': {'cls': <class 'kittycad.models.modeling_cmd.select_clear'>, 'config': {'title': 'select_clear'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_clear'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_clear'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_clear:93909461762240', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_clear', 'schema': {'expected': ['select_clear'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_clear', 'type': 'model-fields'}, 'type': 'model'}, 'select_get': {'cls': <class 'kittycad.models.modeling_cmd.select_get'>, 'config': {'title': 'select_get'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_get'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_get'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_get:93909461774960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_get', 'schema': {'expected': ['select_get'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_get', 'type': 'model-fields'}, 'type': 'model'}, 'select_remove': {'cls': <class 'kittycad.models.modeling_cmd.select_remove'>, 'config': {'title': 'select_remove'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_remove'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_remove'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_remove:93909460510960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_remove', 'schema': {'expected': ['select_remove'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_remove', 'type': 'model-fields'}, 'type': 'model'}, 'select_replace': {'cls': <class 'kittycad.models.modeling_cmd.select_replace'>, 'config': {'title': 'select_replace'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_replace'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_replace'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_replace:93909460532352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_replace', 'schema': {'expected': ['select_replace'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_replace', 'type': 'model-fields'}, 'type': 'model'}, 'select_with_point': {'cls': <class 'kittycad.models.modeling_cmd.select_with_point'>, 'config': {'title': 'select_with_point'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.select_with_point'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.select_with_point'>>]}, 'ref': 'kittycad.models.modeling_cmd.select_with_point:93909460481696', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selected_at_window': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point2d.Point2d:93909459644656', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.scene_selection_type.SceneSelectionType:93909459808400', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_with_point', 'schema': {'expected': ['select_with_point'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_with_point', 'type': 'model-fields'}, 'type': 'model'}, 'send_object': {'cls': <class 'kittycad.models.modeling_cmd.send_object'>, 'config': {'title': 'send_object'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.send_object'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.send_object'>>]}, 'ref': 'kittycad.models.modeling_cmd.send_object:93909460906384', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'front': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'send_object', 'schema': {'expected': ['send_object'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'send_object', 'type': 'model-fields'}, 'type': 'model'}, 'set_background_color': {'cls': <class 'kittycad.models.modeling_cmd.set_background_color'>, 'config': {'title': 'set_background_color'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_background_color'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_background_color'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_background_color:93909461156144', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.color.Color:93909450746496', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_background_color', 'schema': {'expected': ['set_background_color'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_background_color', 'type': 'model-fields'}, 'type': 'model'}, 'set_current_tool_properties': {'cls': <class 'kittycad.models.modeling_cmd.set_current_tool_properties'>, 'config': {'title': 'set_current_tool_properties'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_current_tool_properties'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_current_tool_properties'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_current_tool_properties:93909461193600', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.color.Color:93909450746496', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_current_tool_properties', 'schema': {'expected': ['set_current_tool_properties'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_current_tool_properties', 'type': 'model-fields'}, 'type': 'model'}, 'set_default_system_properties': {'cls': <class 'kittycad.models.modeling_cmd.set_default_system_properties'>, 'config': {'title': 'set_default_system_properties'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_default_system_properties'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_default_system_properties'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_default_system_properties:93909461216288', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'color': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.color.Color:93909450746496', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_default_system_properties', 'schema': {'expected': ['set_default_system_properties'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_default_system_properties', 'type': 'model-fields'}, 'type': 'model'}, 'set_scene_units': {'cls': <class 'kittycad.models.modeling_cmd.set_scene_units'>, 'config': {'title': 'set_scene_units'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_scene_units'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_scene_units'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_scene_units:93909461491184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_scene_units', 'schema': {'expected': ['set_scene_units'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}, 'unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.unit_length.UnitLength:93909454325296', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'set_scene_units', 'type': 'model-fields'}, 'type': 'model'}, 'set_selection_filter': {'cls': <class 'kittycad.models.modeling_cmd.set_selection_filter'>, 'config': {'title': 'set_selection_filter'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_selection_filter'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_selection_filter'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_selection_filter:93909461662816', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'filter': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.entity_type.EntityType:93909456719888', 'sub_type': 'str', 'type': 'enum'}, 'type': 'list'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_selection_filter', 'schema': {'expected': ['set_selection_filter'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_selection_filter', 'type': 'model-fields'}, 'type': 'model'}, 'set_selection_type': {'cls': <class 'kittycad.models.modeling_cmd.set_selection_type'>, 'config': {'title': 'set_selection_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_selection_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_selection_type'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_selection_type:93909461648016', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'selection_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.scene_selection_type.SceneSelectionType:93909459808400', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_selection_type', 'schema': {'expected': ['set_selection_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_selection_type', 'type': 'model-fields'}, 'type': 'model'}, 'set_tool': {'cls': <class 'kittycad.models.modeling_cmd.set_tool'>, 'config': {'title': 'set_tool'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.set_tool'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.set_tool'>>]}, 'ref': 'kittycad.models.modeling_cmd.set_tool:93909460976368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'tool': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.scene_tool_type.SceneToolType:93909459812560', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'set_tool', 'schema': {'expected': ['set_tool'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'set_tool', 'type': 'model-fields'}, 'type': 'model'}, 'sketch_mode_disable': {'cls': <class 'kittycad.models.modeling_cmd.sketch_mode_disable'>, 'config': {'title': 'sketch_mode_disable'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.sketch_mode_disable'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.sketch_mode_disable'>>]}, 'ref': 'kittycad.models.modeling_cmd.sketch_mode_disable:93909461100400', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'sketch_mode_disable', 'schema': {'expected': ['sketch_mode_disable'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'sketch_mode_disable', 'type': 'model-fields'}, 'type': 'model'}, 'solid2d_add_hole': {'cls': <class 'kittycad.models.modeling_cmd.solid2d_add_hole'>, 'config': {'title': 'solid2d_add_hole'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid2d_add_hole'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid2d_add_hole'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid2d_add_hole:93909460753280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'hole_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid2d_add_hole', 'schema': {'expected': ['solid2d_add_hole'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid2d_add_hole', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_fillet_edge': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_fillet_edge'>, 'config': {'title': 'solid3d_fillet_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_fillet_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_fillet_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_fillet_edge:93909460826080', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cut_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'fillet', 'schema': {'cls': <enum 'CutType'>, 'members': [CutType.FILLET, CutType.CHAMFER], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.cut_type.CutType:93909456449808', 'sub_type': 'str', 'type': 'enum'}, 'type': 'default'}, 'type': 'model-field'}, 'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'radius': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'tolerance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_fillet_edge', 'schema': {'expected': ['solid3d_fillet_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_fillet_edge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_all_edge_faces': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces'>, 'config': {'title': 'solid3d_get_all_edge_faces'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_all_edge_faces:93909460751504', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_all_edge_faces', 'schema': {'expected': ['solid3d_get_all_edge_faces'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_all_edge_faces', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_all_opposite_edges': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges'>, 'config': {'title': 'solid3d_get_all_opposite_edges'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_all_opposite_edges:93909460764928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'along_vector': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:93909450722192', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_all_opposite_edges', 'schema': {'expected': ['solid3d_get_all_opposite_edges'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_all_opposite_edges', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_extrusion_face_info': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info'>, 'config': {'title': 'solid3d_get_extrusion_face_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_extrusion_face_info:93909461735920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_extrusion_face_info', 'schema': {'expected': ['solid3d_get_extrusion_face_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_extrusion_face_info', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_next_adjacent_edge': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge'>, 'config': {'title': 'solid3d_get_next_adjacent_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_next_adjacent_edge:93909460790288', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_next_adjacent_edge', 'schema': {'expected': ['solid3d_get_next_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_next_adjacent_edge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_opposite_edge': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge'>, 'config': {'title': 'solid3d_get_opposite_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_opposite_edge:93909460777632', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_opposite_edge', 'schema': {'expected': ['solid3d_get_opposite_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_opposite_edge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_prev_adjacent_edge': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge'>, 'config': {'title': 'solid3d_get_prev_adjacent_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_get_prev_adjacent_edge:93909460811360', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_prev_adjacent_edge', 'schema': {'expected': ['solid3d_get_prev_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_prev_adjacent_edge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_shell_face': {'cls': <class 'kittycad.models.modeling_cmd.solid3d_shell_face'>, 'config': {'title': 'solid3d_shell_face'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.solid3d_shell_face'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.solid3d_shell_face'>>]}, 'ref': 'kittycad.models.modeling_cmd.solid3d_shell_face:93909459967008', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'shell_thickness': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_shell_face', 'schema': {'expected': ['solid3d_shell_face'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_shell_face', 'type': 'model-fields'}, 'type': 'model'}, 'start_path': {'cls': <class 'kittycad.models.modeling_cmd.start_path'>, 'config': {'title': 'start_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.start_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.start_path'>>]}, 'ref': 'kittycad.models.modeling_cmd.start_path:93909459816656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'start_path', 'schema': {'expected': ['start_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'start_path', 'type': 'model-fields'}, 'type': 'model'}, 'surface_area': {'cls': <class 'kittycad.models.modeling_cmd.surface_area'>, 'config': {'title': 'surface_area'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.surface_area'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.surface_area'>>]}, 'ref': 'kittycad.models.modeling_cmd.surface_area:93909461617888', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_area.UnitArea:93909455812640', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'surface_area', 'schema': {'expected': ['surface_area'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'surface_area', 'type': 'model-fields'}, 'type': 'model'}, 'take_snapshot': {'cls': <class 'kittycad.models.modeling_cmd.take_snapshot'>, 'config': {'title': 'take_snapshot'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.take_snapshot'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.take_snapshot'>>]}, 'ref': 'kittycad.models.modeling_cmd.take_snapshot:93909461275216', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'format': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'ImageFormat'>, 'members': [ImageFormat.PNG, ImageFormat.JPEG], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.image_format.ImageFormat:93909459122368', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'take_snapshot', 'schema': {'expected': ['take_snapshot'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'take_snapshot', 'type': 'model-fields'}, 'type': 'model'}, 'update_annotation': {'cls': <class 'kittycad.models.modeling_cmd.update_annotation'>, 'config': {'title': 'update_annotation'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.update_annotation'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.update_annotation'>>]}, 'ref': 'kittycad.models.modeling_cmd.update_annotation:93909460580224', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'annotation_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'options': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.annotation_options.AnnotationOptions:93909450727200', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'update_annotation', 'schema': {'expected': ['update_annotation'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'update_annotation', 'type': 'model-fields'}, 'type': 'model'}, 'view_isometric': {'cls': <class 'kittycad.models.modeling_cmd.view_isometric'>, 'config': {'title': 'view_isometric'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.view_isometric'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.view_isometric'>>]}, 'ref': 'kittycad.models.modeling_cmd.view_isometric:93909461712576', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'padding': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 0.0, 'schema': {'type': 'float'}, 'type': 'default'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'view_isometric', 'schema': {'expected': ['view_isometric'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'view_isometric', 'type': 'model-fields'}, 'type': 'model'}, 'volume': {'cls': <class 'kittycad.models.modeling_cmd.volume'>, 'config': {'title': 'volume'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.volume'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.volume'>>]}, 'ref': 'kittycad.models.modeling_cmd.volume:93909461583312', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, '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 get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_volume.UnitVolume:93909455822656', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'volume', 'schema': {'expected': ['volume'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'volume', 'type': 'model-fields'}, 'type': 'model'}, 'zoom_to_fit': {'cls': <class 'kittycad.models.modeling_cmd.zoom_to_fit'>, 'config': {'title': 'zoom_to_fit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_cmd.zoom_to_fit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_cmd.zoom_to_fit'>>]}, 'ref': 'kittycad.models.modeling_cmd.zoom_to_fit:93909461702000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': [], 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'padding': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'zoom_to_fit', 'schema': {'expected': ['zoom_to_fit'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'zoom_to_fit', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'cmd_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'ModelingCmdReq', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
- __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
- __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
- 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] = {'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmd': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ModelingCmdId': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/modeling_cmd_req.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/modeling_cmd_req.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.modeling_cmd_req', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
- __pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model( ModelSerializer { class: Py( 0x00005569002f0e90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "cmd": SerField { key_py: Py( 0x00007f0cef389640, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x00005569001ccf50, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x00005568fffe50d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ea1b70, ), ), 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: "start_path", }, ), Model( ModelSerializer { class: Py( 0x00005568fffe5ab0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "to": SerField { key_py: Py( 0x00007f0cee5ba730, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "path": SerField { key_py: Py( 0x00007f0cef43b228, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ea1cb0, ), ), 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: "move_path_pen", }, ), Model( ModelSerializer { class: Py( 0x00005568fffe79d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "segment": SerField { key_py: Py( 0x00007f0cee3d9e60, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x00005568fffcee10, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x00005568ffb880a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "relative": SerField { key_py: Py( 0x00007f0ce01e0830, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "end": SerField { key_py: Py( 0x00007f0cef438900, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef43a1d0, ), ), 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: "line", }, ), Model( ModelSerializer { class: Py( 0x00005569000005b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "end": SerField { key_py: Py( 0x00007f0cef438900, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f0cee908150, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "relative": SerField { key_py: Py( 0x00007f0ce01e0830, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdf8b7540, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "arc", }, expected_py: None, name: "literal['arc']", }, ), }, ), ), required: true, }, "radius": SerField { key_py: Py( 0x00007f0cdeea1b90, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "start": SerField { key_py: Py( 0x00007f0cef43c340, ), 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: 6, }, ), has_extra: false, root_model: false, name: "arc", }, ), Model( ModelSerializer { class: Py( 0x00005568fffc0dc0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "end": SerField { key_py: Py( 0x00007f0cef438900, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "control1": SerField { key_py: Py( 0x00007f0cd7eea7b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "relative": SerField { key_py: Py( 0x00007f0ce01e0830, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdffd5a70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "bezier", }, expected_py: None, name: "literal['bezier']", }, ), }, ), ), required: true, }, "control2": SerField { key_py: Py( 0x00007f0cd7ef09b0, ), 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: "bezier", }, ), Model( ModelSerializer { class: Py( 0x00005568fffc5b90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "radius": SerField { key_py: Py( 0x00007f0cdeea1b90, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "offset": SerField { key_py: Py( 0x00007f0cef43ad88, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef32f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "tangential_arc", }, expected_py: None, name: "literal['tangential_arc']", }, ), }, ), ), 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: "tangential_arc", }, ), Model( ModelSerializer { class: Py( 0x00005568fffc9970, ), serializer: Fields( GeneralFieldsSerializer { fields: { "angle_snap_increment": SerField { key_py: Py( 0x00007f0cd7ef3570, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "to": SerField { key_py: Py( 0x00007f0cee5ba730, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef34f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "tangential_arc_to", }, expected_py: None, name: "literal['tangential_arc_to']", }, ), }, ), ), 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: "tangential_arc_to", }, ), ], name: "Union[line, arc, bezier, tangential_arc, tangential_arc_to]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cded52f30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "extend_path", }, expected_py: None, name: "literal['extend_path']", }, ), }, ), ), required: true, }, "path": SerField { key_py: Py( 0x00007f0cef43b228, ), 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: "extend_path", }, ), Model( ModelSerializer { class: Py( 0x00005568fffeb890, ), serializer: Fields( GeneralFieldsSerializer { fields: { "distance": SerField { key_py: Py( 0x00007f0cee269cb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ea4990, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "extrude", }, expected_py: None, name: "literal['extrude']", }, ), }, ), ), required: true, }, "target": SerField { key_py: Py( 0x00007f0cef43c6e0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "cap": SerField { key_py: Py( 0x00007f0cea13ccf0, ), 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: "extrude", }, ), Model( ModelSerializer { class: Py( 0x0000556900006480, ), serializer: Fields( GeneralFieldsSerializer { fields: { "angle": SerField { key_py: Py( 0x00007f0ced3653e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "origin": SerField { key_py: Py( 0x00007f0cef43b060, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f0cdec52470, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f0ceda74c60, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ea4cf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "revolve", }, expected_py: None, name: "literal['revolve']", }, ), }, ), ), required: true, }, "target": SerField { key_py: Py( 0x00007f0cef43c6e0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "axis_is_2d": SerField { key_py: Py( 0x00007f0cd7ea1eb0, ), 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: "revolve", }, ), Model( ModelSerializer { class: Py( 0x0000556900009c20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ea1fb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_shell_face", }, expected_py: None, name: "literal['solid3d_shell_face']", }, ), }, ), ), required: true, }, "shell_thickness": SerField { key_py: Py( 0x00007f0cd7ea2030, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "face_ids": SerField { key_py: Py( 0x00007f0cd7ea1ff0, ), 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( 0x00007f0ce02135b0, ), 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: "solid3d_shell_face", }, ), Model( ModelSerializer { class: Py( 0x00005569000106a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eae270, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "revolve_about_edge", }, expected_py: None, name: "literal['revolve_about_edge']", }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "target": SerField { key_py: Py( 0x00007f0cef43c6e0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "angle": SerField { key_py: Py( 0x00007f0ced3653e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f0cdec52470, ), 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: 5, }, ), has_extra: false, root_model: false, name: "revolve_about_edge", }, ), Model( ModelSerializer { class: Py( 0x0000556900013e30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f0cde749cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd63fb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "close_path", }, expected_py: None, name: "literal['close_path']", }, ), }, ), ), 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: "close_path", }, ), Model( ModelSerializer { class: Py( 0x00005569000188c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "window": SerField { key_py: Py( 0x00007f0cea1ecb10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "interaction": SerField { key_py: Py( 0x00007f0cee195230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eae4f0, ), ), 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: "camera_drag_start", }, ), Model( ModelSerializer { class: Py( 0x000055690001af80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "sequence": SerField { key_py: Py( 0x00007f0cef43bde8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "interaction": SerField { key_py: Py( 0x00007f0cee195230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdce81b30, ), ), 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( 0x00007f0cea1ecb10, ), 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: "camera_drag_move", }, ), Model( ModelSerializer { class: Py( 0x000055690001f400, ), serializer: Fields( GeneralFieldsSerializer { fields: { "interaction": SerField { key_py: Py( 0x00007f0cee195230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdce819b0, ), ), 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( 0x00007f0cea1ecb10, ), 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: "camera_drag_end", }, ), Model( ModelSerializer { class: Py( 0x0000556900024310, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca22510, ), ), 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: "default_camera_get_settings", }, ), Model( ModelSerializer { class: Py( 0x00005569000283a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "vantage": SerField { key_py: Py( 0x00007f0cd7ea61f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f0cee908150, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eaecb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_look_at", }, expected_py: None, name: "literal['default_camera_look_at']", }, ), }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f0cef43bde8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "up": SerField { key_py: Py( 0x00007f0cee0630f0, ), 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: "default_camera_look_at", }, ), Model( ModelSerializer { class: Py( 0x000055690002a5f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "center": SerField { key_py: Py( 0x00007f0cee908150, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "z_far": SerField { key_py: Py( 0x00007f0cd7ea6640, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f0cef43bde8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "fov_y": SerField { key_py: Py( 0x00007f0cdc8fbfc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7e6b780, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_perspective_settings", }, expected_py: None, name: "literal['default_camera_perspective_settings']", }, ), }, ), ), required: true, }, "up": SerField { key_py: Py( 0x00007f0cee0630f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "vantage": SerField { key_py: Py( 0x00007f0cd7ea61f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "z_near": SerField { key_py: Py( 0x00007f0cd7ea6730, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), 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: 8, }, ), has_extra: false, root_model: false, name: "default_camera_perspective_settings", }, ), Model( ModelSerializer { class: Py( 0x000055690002fb40, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd63630, ), ), 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( 0x00007f0cdffa1df0, ), 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: "default_camera_zoom", }, ), Model( ModelSerializer { class: Py( 0x00005569000375d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cea1eb180, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "export", }, expected_py: None, name: "literal['export']", }, ), }, ), ), required: true, }, "format": SerField { key_py: Py( 0x00007f0cef4390e8, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x00005568ffd49680, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x00005568ff76d420, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7b840, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "fbx", }, expected_py: None, name: "literal['fbx']", }, ), }, ), ), required: true, }, "storage": SerField { key_py: Py( 0x00007f0ce004adf0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ff7c3880, ), 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: "fbx", }, ), Model( ModelSerializer { class: Py( 0x00005568ffbd2580, ), serializer: Fields( GeneralFieldsSerializer { fields: { "presentation": SerField { key_py: Py( 0x00007f0cdc79a970, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ffbcd090, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7ba20, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "gltf", }, expected_py: None, name: "literal['gltf']", }, ), }, ), ), required: true, }, "storage": SerField { key_py: Py( 0x00007f0ce004adf0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ffbcd870, ), 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: "gltf", }, ), Model( ModelSerializer { class: Py( 0x00005568ffbd45f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "units": SerField { key_py: Py( 0x00007f0cee2198f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef43ad28, ), ), 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: "obj", }, ), Model( ModelSerializer { class: Py( 0x00005568ffbd8d80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "units": SerField { key_py: Py( 0x00007f0cee2198f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "selection": SerField { key_py: Py( 0x00007f0cdca04230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "storage": SerField { key_py: Py( 0x00007f0ce004adf0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ff9713e0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7bbd0, ), ), 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: "ply", }, ), Model( ModelSerializer { class: Py( 0x00005568ffd3a720, ), serializer: Fields( GeneralFieldsSerializer { fields: { "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef43c468, ), ), 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: "step", }, ), Model( ModelSerializer { class: Py( 0x00005568ffd3e400, ), serializer: Fields( GeneralFieldsSerializer { fields: { "selection": SerField { key_py: Py( 0x00007f0cdca04230, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "units": SerField { key_py: Py( 0x00007f0cee2198f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "storage": SerField { key_py: Py( 0x00007f0ce004adf0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ff980470, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7bd80, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "stl", }, expected_py: None, name: "literal['stl']", }, ), }, ), ), 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: "stl", }, ), ], name: "Union[fbx, gltf, obj, ply, step, stl]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f0cd7f444f0, ), 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: "export", }, ), Model( ModelSerializer { class: Py( 0x0000556900039f50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd62bb0, ), ), 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: "entity_get_parent_id", }, ), Model( ModelSerializer { class: Py( 0x00005568ffe8cb60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd62cb0, ), ), 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: "entity_get_num_children", }, ), Model( ModelSerializer { class: Py( 0x000055690005a610, ), serializer: Fields( GeneralFieldsSerializer { fields: { "child_index": SerField { key_py: Py( 0x00007f0cd7ebf470, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd62470, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_child_uuid", }, expected_py: None, name: "literal['entity_get_child_uuid']", }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), 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: "entity_get_child_uuid", }, ), Model( ModelSerializer { class: Py( 0x000055690005cd40, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca22d30, ), ), 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: "entity_get_all_child_uuids", }, ), Model( ModelSerializer { class: Py( 0x000055690005f780, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd62a70, ), ), 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( 0x00007f0cd7f45ff0, ), 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: "entity_get_sketch_paths", }, ), Model( ModelSerializer { class: Py( 0x0000556900061f10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id1": SerField { key_py: Py( 0x00007f0cd7ebf8b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd62d70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_distance", }, expected_py: None, name: "literal['entity_get_distance']", }, ), }, ), ), required: true, }, "entity_id2": SerField { key_py: Py( 0x00007f0cd7ebf8f0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "distance_type": SerField { key_py: Py( 0x00007f0cdcd62fb0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x00005568ffcd8430, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x00005568ffcd3f40, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7f30af0, ), ), 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: "euclidean", }, ), Model( ModelSerializer { class: Py( 0x00005568ffcd5680, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7f1d2c0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "on_axis", }, expected_py: None, name: "literal['on_axis']", }, ), }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f0ceda74c60, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ffcd2f00, ), 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: "on_axis", }, ), ], name: "Union[euclidean, on_axis]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[euclidean, on_axis], 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: 4, }, ), has_extra: false, root_model: false, name: "entity_get_distance", }, ), Model( ModelSerializer { class: Py( 0x00005569000646b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "transform": SerField { key_py: Py( 0x00007f0cede36470, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x00005568fff32900, ), serializer: Fields( GeneralFieldsSerializer { fields: { "translate": SerField { key_py: Py( 0x00007f0cef43caf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7e3e000, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "replicate": SerField { key_py: Py( 0x00007f0cdffce9b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef330d00, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "scale": SerField { key_py: Py( 0x00007f0cedb1abb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7e2afc0, ), ), 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: 3, }, ), has_extra: false, root_model: false, name: "LinearTransform", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[LinearTransform]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca22d80, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_linear_pattern_transform", }, expected_py: None, name: "literal['entity_linear_pattern_transform']", }, ), }, ), ), 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: "entity_linear_pattern_transform", }, ), Model( ModelSerializer { class: Py( 0x000055690006a880, ), serializer: Fields( GeneralFieldsSerializer { fields: { "num_repetitions": SerField { key_py: Py( 0x00007f0cd7ebfb30, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd626b0, ), ), 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( 0x00007f0ceda74c60, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "spacing": SerField { key_py: Py( 0x00007f0cedd75650, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), 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: "entity_linear_pattern", }, ), Model( ModelSerializer { class: Py( 0x0000556900070fd0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd622b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_circular_pattern", }, expected_py: None, name: "literal['entity_circular_pattern']", }, ), }, ), ), required: true, }, "center": SerField { key_py: Py( 0x00007f0cee908150, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "num_repetitions": SerField { key_py: Py( 0x00007f0cd7ebfb30, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "arc_degrees": SerField { key_py: Py( 0x00007f0cd7ebfcf0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f0ceda74c60, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "rotate_duplicates": SerField { key_py: Py( 0x00007f0cd7ebfdb0, ), 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: "entity_circular_pattern", }, ), Model( ModelSerializer { class: Py( 0x00005569000758f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "revolutions": SerField { key_py: Py( 0x00007f0cd7ec4030, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "length": SerField { key_py: Py( 0x00007f0cef43a140, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "cylinder_id": SerField { key_py: Py( 0x00007f0cd7ebff70, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "is_clockwise": SerField { key_py: Py( 0x00007f0cd7ebffb0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "start_angle": SerField { key_py: Py( 0x00007f0cd7ec40b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ebff30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_make_helix", }, expected_py: None, name: "literal['entity_make_helix']", }, ), }, ), ), 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: "entity_make_helix", }, ), Model( ModelSerializer { class: Py( 0x000055690007ae90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec4070, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_mirror", }, expected_py: None, name: "literal['entity_mirror']", }, ), }, ), ), required: true, }, "point": SerField { key_py: Py( 0x00007f0ced359b00, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "ids": SerField { key_py: Py( 0x00007f0cee3d8930, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "axis": SerField { key_py: Py( 0x00007f0ceda74c60, ), 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: "entity_mirror", }, ), Model( ModelSerializer { class: Py( 0x000055690007f9e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "ids": SerField { key_py: Py( 0x00007f0cee3d8930, ), 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( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7e6bd70, ), ), 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( 0x00007f0cd7ea5470, ), 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: "entity_mirror_across_edge", }, ), Model( ModelSerializer { class: Py( 0x0000556900084930, ), serializer: Fields( GeneralFieldsSerializer { fields: { "target": SerField { key_py: Py( 0x00007f0cef43c6e0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec43f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "edit_mode_enter", }, expected_py: None, name: "literal['edit_mode_enter']", }, ), }, ), ), 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: "edit_mode_enter", }, ), Model( ModelSerializer { class: Py( 0x00005569000876a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "selection_type": SerField { key_py: Py( 0x00007f0cd7ec46b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca04170, ), ), 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( 0x00007f0cd7ec4670, ), 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: "select_with_point", }, ), Model( ModelSerializer { class: Py( 0x0000556900089d80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec4870, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_add", }, expected_py: None, name: "literal['select_add']", }, ), }, ), ), required: true, }, "entities": SerField { key_py: Py( 0x00007f0ce06b7030, ), 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: "select_add", }, ), Model( ModelSerializer { class: Py( 0x000055690008e8f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec4970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_remove", }, expected_py: None, name: "literal['select_remove']", }, ), }, ), ), required: true, }, "entities": SerField { key_py: Py( 0x00007f0ce06b7030, ), 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: "select_remove", }, ), Model( ModelSerializer { class: Py( 0x0000556900091230, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec4a70, ), ), 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: "scene_clear_all", }, ), Model( ModelSerializer { class: Py( 0x0000556900093c80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entities": SerField { key_py: Py( 0x00007f0ce06b7030, ), 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( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec4bf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_replace", }, expected_py: None, name: "literal['select_replace']", }, ), }, ), ), 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: "select_replace", }, ), Model( ModelSerializer { class: Py( 0x0000556900095e80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf28b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "highlight_set_entity", }, expected_py: None, name: "literal['highlight_set_entity']", }, ), }, ), ), required: true, }, "selected_at_window": SerField { key_py: Py( 0x00007f0cd7ec4670, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f0cef43bde8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), 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: "highlight_set_entity", }, ), Model( ModelSerializer { class: Py( 0x00005569000988d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec4f70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "highlight_set_entities", }, expected_py: None, name: "literal['highlight_set_entities']", }, ), }, ), ), required: true, }, "entities": SerField { key_py: Py( 0x00007f0ce06b7030, ), 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: "highlight_set_entities", }, ), Model( ModelSerializer { class: Py( 0x000055690009cdf0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "annotation_type": SerField { key_py: Py( 0x00007f0cee2024b0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ffc35dd0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "options": SerField { key_py: Py( 0x00007f0cef43b000, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "clobber": SerField { key_py: Py( 0x00007f0cd7ec16e0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec50f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "new_annotation", }, expected_py: None, name: "literal['new_annotation']", }, ), }, ), ), 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: "new_annotation", }, ), Model( ModelSerializer { class: Py( 0x000055690009f780, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec5370, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "update_annotation", }, expected_py: None, name: "literal['update_annotation']", }, ), }, ), ), required: true, }, "annotation_id": SerField { key_py: Py( 0x00007f0cd7ec5430, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "options": SerField { key_py: Py( 0x00007f0cef43b000, ), 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: "update_annotation", }, ), Model( ModelSerializer { class: Py( 0x00005569000adf30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "hidden": SerField { key_py: Py( 0x00007f0ceda605a0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec5630, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "edge_lines_visible", }, expected_py: None, name: "literal['edge_lines_visible']", }, ), }, ), ), 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: "edge_lines_visible", }, ), Model( ModelSerializer { class: Py( 0x00005569000bad20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "hidden": SerField { key_py: Py( 0x00007f0ceda605a0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec57b0, ), ), 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: "object_visible", }, ), Model( ModelSerializer { class: Py( 0x00005569000bd370, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec59f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "object_bring_to_front", }, expected_py: None, name: "literal['object_bring_to_front']", }, ), }, ), ), 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: "object_bring_to_front", }, ), Model( ModelSerializer { class: Py( 0x00005568fffe4ad0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "ambient_occlusion": SerField { key_py: Py( 0x00007f0cd7ec5bf0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "metalness": SerField { key_py: Py( 0x00007f0cd7ec5c30, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "roughness": SerField { key_py: Py( 0x00007f0cd7ec5cb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "color": SerField { key_py: Py( 0x00007f0cee43da40, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7e6bf50, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "object_set_material_params_pbr", }, expected_py: None, name: "literal['object_set_material_params_pbr']", }, ), }, ), ), 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: "object_set_material_params_pbr", }, ), Model( ModelSerializer { class: Py( 0x00005569000c2670, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf3130, ), ), 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: "get_entity_type", }, ), Model( ModelSerializer { class: Py( 0x00005569000c9490, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23a00, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_all_edge_faces", }, expected_py: None, name: "literal['solid3d_get_all_edge_faces']", }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), 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: "solid3d_get_all_edge_faces", }, ), Model( ModelSerializer { class: Py( 0x00005569000c9b80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eea170, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid2d_add_hole", }, expected_py: None, name: "literal['solid2d_add_hole']", }, ), }, ), ), required: true, }, "hole_id": SerField { key_py: Py( 0x00007f0cd7ec25e0, ), 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: "solid2d_add_hole", }, ), Model( ModelSerializer { class: Py( 0x00005569000cc900, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "along_vector": SerField { key_py: Py( 0x00007f0cd7eea330, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23a50, ), ), 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: "solid3d_get_all_opposite_edges", }, ), Model( ModelSerializer { class: Py( 0x00005569000cfaa0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "face_id": SerField { key_py: Py( 0x00007f0cdc1ce670, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23c30, ), ), 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: "solid3d_get_opposite_edge", }, ), Model( ModelSerializer { class: Py( 0x00005569000d2c10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_id": SerField { key_py: Py( 0x00007f0cdc1ce670, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23b90, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_next_adjacent_edge", }, expected_py: None, name: "literal['solid3d_get_next_adjacent_edge']", }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), 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: "solid3d_get_next_adjacent_edge", }, ), Model( ModelSerializer { class: Py( 0x00005569000d7e60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_id": SerField { key_py: Py( 0x00007f0cdc1ce670, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23c80, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_prev_adjacent_edge", }, expected_py: None, name: "literal['solid3d_get_prev_adjacent_edge']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), 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: "solid3d_get_prev_adjacent_edge", }, ), Model( ModelSerializer { class: Py( 0x00005569000db7e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "cut_type": SerField { key_py: Py( 0x00007f0cdcd63830, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdc03e640, ), ), serializer: Enum( EnumSerializer { class: Py( 0x00005568ffcaf110, ), serializer: Some( Str( StrSerializer, ), ), }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "radius": SerField { key_py: Py( 0x00007f0cdeea1b90, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "tolerance": SerField { key_py: Py( 0x00007f0cdec52470, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eea5f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_fillet_edge", }, expected_py: None, name: "literal['solid3d_fillet_edge']", }, ), }, ), ), required: true, }, "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), 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: 6, }, ), has_extra: false, root_model: false, name: "solid3d_fillet_edge", }, ), Model( ModelSerializer { class: Py( 0x00005569000df1a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf0370, ), ), 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: "face_is_planar", }, ), Model( ModelSerializer { class: Py( 0x00005569000e2b60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "uv": SerField { key_py: Py( 0x00007f0cdcfd2940, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf03f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_position", }, expected_py: None, name: "literal['face_get_position']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), 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: "face_get_position", }, ), Model( ModelSerializer { class: Py( 0x00005569000e7de0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf05f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_center", }, expected_py: None, name: "literal['face_get_center']", }, ), }, ), ), 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: "face_get_center", }, ), Model( ModelSerializer { class: Py( 0x00005569000eac50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "uv": SerField { key_py: Py( 0x00007f0cdcfd2940, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf04b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_gradient", }, expected_py: None, name: "literal['face_get_gradient']", }, ), }, ), ), 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: "face_get_gradient", }, ), Model( ModelSerializer { class: Py( 0x00005569000ef190, ), serializer: Fields( GeneralFieldsSerializer { fields: { "front": SerField { key_py: Py( 0x00007f0cdcef2d30, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeacf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "send_object", }, expected_py: None, name: "literal['send_object']", }, ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), 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: "send_object", }, ), Model( ModelSerializer { class: Py( 0x00005569000f2070, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeae30, ), ), 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( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "opacity": SerField { key_py: Py( 0x00007f0ce02ced90, ), 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: "entity_set_opacity", }, ), Model( ModelSerializer { class: Py( 0x00005569000f6510, ), serializer: Fields( GeneralFieldsSerializer { fields: { "duration_seconds": SerField { key_py: Py( 0x00007f0cd7eeb0b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccb6550, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, "fade_in": SerField { key_py: Py( 0x00007f0cd7eec120, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeafb0, ), ), 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: "entity_fade", }, ), Model( ModelSerializer { class: Py( 0x00005569000f9680, ), serializer: Fields( GeneralFieldsSerializer { fields: { "size": SerField { key_py: Py( 0x00007f0cef43c098, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "origin": SerField { key_py: Py( 0x00007f0cef43b060, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "y_axis": SerField { key_py: Py( 0x00007f0cd7fa0ed0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "hide": SerField { key_py: Py( 0x00007f0cedbffd80, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Bool( BoolSerializer, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeb1b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "make_plane", }, expected_py: None, name: "literal['make_plane']", }, ), }, ), ), required: true, }, "x_axis": SerField { key_py: Py( 0x00007f0cd7fa0de0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "clobber": SerField { key_py: Py( 0x00007f0cd7ec16e0, ), 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: "make_plane", }, ), Model( ModelSerializer { class: Py( 0x00005569000fc770, ), serializer: Fields( GeneralFieldsSerializer { fields: { "color": SerField { key_py: Py( 0x00007f0cee43da40, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "plane_id": SerField { key_py: Py( 0x00007f0cd7eeb3f0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeb2b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "plane_set_color", }, expected_py: None, name: "literal['plane_set_color']", }, ), }, ), ), 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: "plane_set_color", }, ), Model( ModelSerializer { class: Py( 0x00005569001002f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "tool": SerField { key_py: Py( 0x00007f0cdfeecff0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568fffe40d0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeb570, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_tool", }, expected_py: None, name: "literal['set_tool']", }, ), }, ), ), 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: "set_tool", }, ), Model( ModelSerializer { class: Py( 0x0000556900106790, ), serializer: Fields( GeneralFieldsSerializer { fields: { "window": SerField { key_py: Py( 0x00007f0cea1ecb10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cde0ccc70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mouse_move", }, expected_py: None, name: "literal['mouse_move']", }, ), }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f0cef43bde8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), 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: "mouse_move", }, ), Model( ModelSerializer { class: Py( 0x000055690010b230, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdc9fc670, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mouse_click", }, expected_py: None, name: "literal['mouse_click']", }, ), }, ), ), required: true, }, "window": SerField { key_py: Py( 0x00007f0cea1ecb10, ), 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: "mouse_click", }, ), Model( ModelSerializer { class: Py( 0x000055690011e770, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eeb930, ), ), 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: "sketch_mode_disable", }, ), Model( ModelSerializer { class: Py( 0x0000556900123020, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf2cf0, ), ), 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: "get_sketch_mode_plane", }, ), Model( ModelSerializer { class: Py( 0x0000556900127220, ), serializer: Fields( GeneralFieldsSerializer { fields: { "constraint_bound": SerField { key_py: Py( 0x00007f0cd7eebcf0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568fffb9550, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "constraint_type": SerField { key_py: Py( 0x00007f0cd7eebd70, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568fffba260, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eebc70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_set_constraint", }, expected_py: None, name: "literal['curve_set_constraint']", }, ), }, ), ), 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: "curve_set_constraint", }, ), Model( ModelSerializer { class: Py( 0x00005569001299b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "planar_normal": SerField { key_py: Py( 0x00007f0cd7ef0070, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f0cd7f45ff0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7eebf70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "enable_sketch_mode", }, expected_py: None, name: "literal['enable_sketch_mode']", }, ), }, ), ), required: true, }, "animated": SerField { key_py: Py( 0x00007f0cdd007eb0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "adjust_camera": SerField { key_py: Py( 0x00007f0cd7eebfb0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "ortho": SerField { key_py: Py( 0x00007f0cdcea9290, ), 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: "enable_sketch_mode", }, ), Model( ModelSerializer { class: Py( 0x000055690012c130, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef01f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_background_color", }, expected_py: None, name: "literal['set_background_color']", }, ), }, ), ), required: true, }, "color": SerField { key_py: Py( 0x00007f0cee43da40, ), 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: "set_background_color", }, ), Model( ModelSerializer { class: Py( 0x0000556900135380, ), serializer: Fields( GeneralFieldsSerializer { fields: { "color": SerField { key_py: Py( 0x00007f0cee43da40, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec8b70, ), ), 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: "set_current_tool_properties", }, ), Model( ModelSerializer { class: Py( 0x000055690013ac20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec8c60, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_default_system_properties", }, expected_py: None, name: "literal['set_default_system_properties']", }, ), }, ), ), required: true, }, "color": SerField { key_py: Py( 0x00007f0cee43da40, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), 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: 2, }, ), has_extra: false, root_model: false, name: "set_default_system_properties", }, ), Model( ModelSerializer { class: Py( 0x000055690013f390, ), serializer: Fields( GeneralFieldsSerializer { fields: { "curve_id": SerField { key_py: Py( 0x00007f0cd7f953b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd63a70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_type", }, expected_py: None, name: "literal['curve_get_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: "curve_get_type", }, ), Model( ModelSerializer { class: Py( 0x0000556900144340, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca22740, ), ), 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( 0x00007f0cd7f953b0, ), 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: "curve_get_control_points", }, ), Model( ModelSerializer { class: Py( 0x0000556900149250, ), serializer: Fields( GeneralFieldsSerializer { fields: { "format": SerField { key_py: Py( 0x00007f0cef4390e8, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568fff3b8c0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca047f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "take_snapshot", }, expected_py: None, name: "literal['take_snapshot']", }, ), }, ), ), 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: "take_snapshot", }, ), Model( ModelSerializer { class: Py( 0x000055690014bf50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "clobber": SerField { key_py: Py( 0x00007f0cd7ec16e0, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef0870, ), ), 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( 0x00007f0cd7ef08b0, ), 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: "make_axes_gizmo", }, ), Model( ModelSerializer { class: Py( 0x000055690014ee90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f0cde749cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca06430, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_info", }, expected_py: None, name: "literal['path_get_info']", }, ), }, ), ), 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: "path_get_info", }, ), Model( ModelSerializer { class: Py( 0x0000556900151de0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f0cde749cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "vertex_ids": SerField { key_py: Py( 0x00007f0cd7ef0b70, ), 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( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23640, ), ), 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, }, }, 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: "path_get_curve_uuids_for_vertices", }, ), Model( ModelSerializer { class: Py( 0x0000556900154f60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f0cde749cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdc9fdfb0, ), ), 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( 0x00007f0cef3fae20, ), 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: 3, }, ), has_extra: false, root_model: false, name: "path_get_curve_uuid", }, ), Model( ModelSerializer { class: Py( 0x00005568fe3b2020, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f0cde749cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca06630, ), ), 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: "path_get_vertex_uuids", }, ), Model( ModelSerializer { class: Py( 0x00005568fe3b2b70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "path_id": SerField { key_py: Py( 0x00007f0cde749cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca236e0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_sketch_target_uuid", }, expected_py: None, name: "literal['path_get_sketch_target_uuid']", }, ), }, ), ), 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: "path_get_sketch_target_uuid", }, ), Model( ModelSerializer { class: Py( 0x0000556900157e30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "window": SerField { key_py: Py( 0x00007f0cea1ecb10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef1070, ), ), 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: "handle_mouse_drag_start", }, ), Model( ModelSerializer { class: Py( 0x000055690015ff80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef1270, ), ), 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( 0x00007f0cea1ecb10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "sequence": SerField { key_py: Py( 0x00007f0cef43bde8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), 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: "handle_mouse_drag_move", }, ), Model( ModelSerializer { class: Py( 0x0000556900163210, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef1430, ), ), 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( 0x00007f0cea1ecb10, ), 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: "handle_mouse_drag_end", }, ), Model( ModelSerializer { class: Py( 0x00005569001672b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_ids": SerField { key_py: Py( 0x00007f0cd7ef16f0, ), 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( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef1630, ), ), 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: "remove_scene_objects", }, ), Model( ModelSerializer { class: Py( 0x000055690016d600, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23820, ), ), 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( 0x00007f0cea1ecb10, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "plane_id": SerField { key_py: Py( 0x00007f0cd7eeb3f0, ), 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: "plane_intersect_and_project", }, ), Model( ModelSerializer { class: Py( 0x00005569001711d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "curve_id": SerField { key_py: Py( 0x00007f0cd7f953b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd63b30, ), ), 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: "curve_get_end_points", }, ), Model( ModelSerializer { class: Py( 0x0000556900174250, ), serializer: Fields( GeneralFieldsSerializer { fields: { "height": SerField { key_py: Py( 0x00007f0cedd74a20, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "fps": SerField { key_py: Py( 0x00007f0cdee28030, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef1b30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "reconfigure_stream", }, expected_py: None, name: "literal['reconfigure_stream']", }, ), }, ), ), required: true, }, "width": SerField { key_py: Py( 0x00007f0cee90b1b0, ), 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: 4, }, ), has_extra: false, root_model: false, name: "reconfigure_stream", }, ), Model( ModelSerializer { class: Py( 0x00005568ffa80b00, ), serializer: Fields( GeneralFieldsSerializer { fields: { "files": SerField { key_py: Py( 0x00007f0cef3f0ca0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x00005568fff3bca0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f0cef438240, ), alias: None, alias_py: None, serializer: Some( Bytes( BytesSerializer { bytes_mode: Utf8, }, ), ), required: true, }, "path": SerField { key_py: Py( 0x00007f0cef43b228, ), 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, }, "format": SerField { key_py: Py( 0x00007f0cef4390e8, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x00005568ffc72670, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x00005568ffa95160, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7b840, ), ), 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: "fbx", }, ), Model( ModelSerializer { class: Py( 0x00005568ffa96470, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7ba20, ), ), 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: "gltf", }, ), Model( ModelSerializer { class: Py( 0x00005568ffa97a90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef43ad28, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "obj", }, expected_py: None, name: "literal['obj']", }, ), }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "units": SerField { key_py: Py( 0x00007f0cee2198f0, ), 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: "obj", }, ), Model( ModelSerializer { class: Py( 0x00005568ffaa2400, ), serializer: Fields( GeneralFieldsSerializer { fields: { "units": SerField { key_py: Py( 0x00007f0cee2198f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7bbd0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "ply", }, expected_py: None, name: "literal['ply']", }, ), }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), 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: "ply", }, ), Model( ModelSerializer { class: Py( 0x00005568ffaa6640, ), serializer: Fields( GeneralFieldsSerializer { fields: { "split_closed_faces": SerField { key_py: Py( 0x00007f0cdc7afef0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef330d20, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7bdb0, ), ), 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: "sldprt", }, ), Model( ModelSerializer { class: Py( 0x00005568ffc6ba30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef43c468, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "step", }, expected_py: None, name: "literal['step']", }, ), }, ), ), required: true, }, "split_closed_faces": SerField { key_py: Py( 0x00007f0cdc7afef0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef330d20, ), ), serializer: 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: "step", }, ), Model( ModelSerializer { class: Py( 0x00005568ffc6db50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "units": SerField { key_py: Py( 0x00007f0cee2198f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "coords": SerField { key_py: Py( 0x00007f0ceda713e0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcb7bd80, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "stl", }, expected_py: None, name: "literal['stl']", }, ), }, ), ), 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: "stl", }, ), ], name: "Union[fbx, gltf, obj, ply, sldprt, step, stl]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf2170, ), ), 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: "import_files", }, ), Model( ModelSerializer { class: Py( 0x000055690017ddf0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "unit": SerField { key_py: Py( 0x00007f0ceda7aac0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef1df0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_scene_units", }, expected_py: None, name: "literal['set_scene_units']", }, ), }, ), ), 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: "set_scene_units", }, ), Model( ModelSerializer { class: Py( 0x000055690017e4e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdd06efd0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mass", }, expected_py: None, name: "literal['mass']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f0cd7f444f0, ), 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": SerField { key_py: Py( 0x00007f0cdc92a6f0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "material_density_unit": SerField { key_py: Py( 0x00007f0cdc92a670, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f0cdc92a7f0, ), 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: "mass", }, ), Model( ModelSerializer { class: Py( 0x00005569001912d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cdc7c5c30, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0ced35d740, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "density", }, expected_py: None, name: "literal['density']", }, ), }, ), ), required: true, }, "material_mass_unit": SerField { key_py: Py( 0x00007f0cdc7c6af0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f0cdc92a7f0, ), 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: "density", }, ), Model( ModelSerializer { class: Py( 0x00005569001945d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef43ce50, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "volume", }, expected_py: None, name: "literal['volume']", }, ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cdc92a7f0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ffc15f40, ), 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: "volume", }, ), Model( ModelSerializer { class: Py( 0x00005569001988a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cdc92a7f0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdce81c30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "center_of_mass", }, expected_py: None, name: "literal['center_of_mass']", }, ), }, ), ), 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: "center_of_mass", }, ), Model( ModelSerializer { class: Py( 0x000055690019cce0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "output_unit": SerField { key_py: Py( 0x00007f0cdc92a7f0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x00005568ffc13820, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "entity_ids": SerField { key_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca04af0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "surface_area", }, expected_py: None, name: "literal['surface_area']", }, ), }, ), ), 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: "surface_area", }, ), Model( ModelSerializer { class: Py( 0x00005569001a0b20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdcd637b0, ), ), 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( 0x00007f0cedbba8e0, ), 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: "default_camera_focus_on", }, ), Model( ModelSerializer { class: Py( 0x00005569001a4290, ), serializer: Fields( GeneralFieldsSerializer { fields: { "selection_type": SerField { key_py: Py( 0x00007f0cd7ec46b0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: false, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef24b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "set_selection_type", }, expected_py: None, name: "literal['set_selection_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: "set_selection_type", }, ), Model( ModelSerializer { class: Py( 0x00005569001a7c60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "filter": SerField { key_py: Py( 0x00007f0cee99a400, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Enum( EnumSerializer { class: Py( 0x00005568ffcf1010, ), serializer: Some( Str( StrSerializer, ), ), }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[enum]", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ef26b0, ), ), 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: "set_selection_filter", }, ), Model( ModelSerializer { class: Py( 0x00005569001aabf0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec97f0, ), ), 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: "default_camera_set_orthographic", }, ), Model( ModelSerializer { class: Py( 0x00005569001adc80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "parameters": SerField { key_py: Py( 0x00007f0cee4828f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x00005568fffe03a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "z_far": SerField { key_py: Py( 0x00007f0cd7ea6640, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "fov_y": SerField { key_py: Py( 0x00007f0cdc8fbfc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), serializer: Nullable( NullableSerializer { serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), }, ), ), required: true, }, "z_near": SerField { key_py: Py( 0x00007f0cd7ea6730, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cef347100, ), ), 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, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7ec9a20, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_set_perspective", }, expected_py: None, name: "literal['default_camera_set_perspective']", }, ), }, ), ), 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: "default_camera_set_perspective", }, ), Model( ModelSerializer { class: Py( 0x00005569001b1570, ), serializer: Fields( GeneralFieldsSerializer { fields: { "padding": SerField { key_py: Py( 0x00007f0cee43cff0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdc9d5df0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "zoom_to_fit", }, expected_py: None, name: "literal['zoom_to_fit']", }, ), }, ), ), required: true, }, "object_ids": SerField { key_py: Py( 0x00007f0cd7ef16f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7cd8d80, ), ), 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: 3, }, ), has_extra: false, root_model: false, name: "zoom_to_fit", }, ), Model( ModelSerializer { class: Py( 0x00005569001b3ec0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdc9d6230, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "view_isometric", }, expected_py: None, name: "literal['view_isometric']", }, ), }, ), ), required: true, }, "padding": SerField { key_py: Py( 0x00007f0cee43cff0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7f0fc10, ), ), 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: "view_isometric", }, ), Model( ModelSerializer { class: Py( 0x00005569001b99f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge_id": SerField { key_py: Py( 0x00007f0cd7ea5470, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "object_id": SerField { key_py: Py( 0x00007f0ce02135b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca23af0, ), ), 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: "solid3d_get_extrusion_face_info", }, ), Model( ModelSerializer { class: Py( 0x00005569001bd090, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7d36ff0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "edit_mode_exit", }, expected_py: None, name: "literal['edit_mode_exit']", }, ), }, ), ), 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: "edit_mode_exit", }, ), Model( ModelSerializer { class: Py( 0x00005569001c00c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cd7d371f0, ), ), 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: "select_clear", }, ), Model( ModelSerializer { class: Py( 0x00005569001c3270, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdca040b0, ), ), 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: "select_get", }, ), Model( ModelSerializer { class: Py( 0x00005569001c5ce0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f0cef43cbf8, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f0cdccf2b30, ), ), 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: "get_num_objects", }, ), ], name: "Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "cmd_id": SerField { key_py: Py( 0x00007f0cd7ba7510, ), 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: "ModelingCmdReq", }, ), definitions=[Model(ModelSerializer { class: Py(0x5568ff739f20), serializer: Fields(GeneralFieldsSerializer { fields: {"position": SerField { key_py: Py(0x7f0cedc14bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cef347100)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "color": SerField { key_py: Py(0x7f0cee43da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cef347100)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "line_width": SerField { key_py: Py(0x7f0ced271d30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cef347100)), serializer: Nullable(NullableSerializer { serializer: Float(FloatSerializer { inf_nan_mode: Null }) }) })), required: true }, "text": SerField { key_py: Py(0x7f0cef43c8f0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cef347100)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "line_ends": SerField { key_py: Py(0x7f0cdcbead30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cef347100)), 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(0x5568ffa651c0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568ffaa8630), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568ff73d500), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568ffc14da0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x5568ff738b90), serializer: Fields(GeneralFieldsSerializer { fields: {"x": SerField { key_py: Py(0x7f0cef43d0b8), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "y": SerField { key_py: Py(0x7f0cef43e7f8), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f0cef43e828), 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" }), Model(ModelSerializer { class: Py(0x5568ff974d80), serializer: Fields(GeneralFieldsSerializer { fields: {"index": SerField { key_py: Py(0x7f0cef3fae20), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }, "type": SerField { key_py: Py(0x7f0cef43cbf8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cdc799070)), 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: "mesh_by_index" }), Model(ModelSerializer { class: Py(0x5568fffbb0f0), serializer: Fields(GeneralFieldsSerializer { fields: {"y": SerField { key_py: Py(0x7f0cef43e7f8), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f0cef43d0b8), 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" }), Model(ModelSerializer { class: Py(0x5568ff73bcc0), serializer: Fields(GeneralFieldsSerializer { fields: {"start": SerField { key_py: Py(0x7f0cef43c340), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "end": SerField { key_py: Py(0x7f0cef438900), 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(0x5568ff732770), serializer: Fields(GeneralFieldsSerializer { fields: {"unit": SerField { key_py: Py(0x7f0ceda7aac0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "value": SerField { key_py: Py(0x7f0cef43cdc0), 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" }), Model(ModelSerializer { class: Py(0x5568ffbce270), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f0cef43cbf8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cdc79d1f0)), 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: "default_scene" }), Enum(EnumSerializer { class: Py(0x5568ff982ca0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568fffe3090), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568ffc146b0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x5568ffbcf4e0), serializer: Fields(GeneralFieldsSerializer { fields: {"index": SerField { key_py: Py(0x7f0cef3fae20), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }, "type": SerField { key_py: Py(0x7f0cef43cbf8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cdc79ffb0)), serializer: Literal(LiteralSerializer { expected_int: {}, expected_str: {"scene_by_index"}, expected_py: None, name: "literal['scene_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: "scene_by_index" }), Enum(EnumSerializer { class: Py(0x5568ffc26650), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x5568ff73dbf0), serializer: Fields(GeneralFieldsSerializer { fields: {"text": SerField { key_py: Py(0x7f0cef43c8f0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "point_size": SerField { key_py: Py(0x7f0cdc0f0b30), alias: None, alias_py: None, serializer: Some(Int(IntSerializer)), required: true }, "x": SerField { key_py: Py(0x7f0cef43d0b8), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "y": SerField { key_py: Py(0x7f0cef43e7f8), 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(0x5568ff979a40), serializer: Union(UnionSerializer { 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: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), Enum(EnumSerializer { class: Py(0x5568ff73b5d0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568ff88d5b0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x5568ffa9ba30), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x5568ffa9c430), serializer: Fields(GeneralFieldsSerializer { fields: {"direction": SerField { key_py: Py(0x7f0cee0b2af0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "axis": SerField { key_py: Py(0x7f0ceda74c60), 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" }), Model(ModelSerializer { class: Py(0x5568ff973290), serializer: Fields(GeneralFieldsSerializer { fields: {"name": SerField { key_py: Py(0x7f0cef43a950), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "type": SerField { key_py: Py(0x7f0cef43cbf8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cdc799170)), 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: "scene_by_name" }), Model(ModelSerializer { class: Py(0x5568ffa9ecf0), serializer: Fields(GeneralFieldsSerializer { fields: {"forward": SerField { key_py: Py(0x7f0cdef36eb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "up": SerField { key_py: Py(0x7f0cee0630f0), 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(0x5568ff977620), serializer: Fields(GeneralFieldsSerializer { fields: {"type": SerField { key_py: Py(0x7f0cef43cbf8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f0cdc798370)), 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(0x7f0cef43a950), 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: "mesh_by_name" }), Model(ModelSerializer { class: Py(0x5568ff73ea80), serializer: Fields(GeneralFieldsSerializer { fields: {"a": SerField { key_py: Py(0x7f0cef436f50), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "b": SerField { key_py: Py(0x7f0cef437370), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "g": SerField { key_py: Py(0x7f0cef43e498), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "r": SerField { key_py: Py(0x7f0cef43b710), 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" })])[source]
- __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="ModelingCmdReq", validator=Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cmd", lookup_key: Simple { key: "cmd", py_key: Py( 0x00007f0cd7b39c50, ), path: LookupPath( [ S( "cmd", Py( 0x00007f0cd7b39c80, ), ), ], ), }, name_py: Py( 0x00007f0cef389640, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f0cef43cbf8, ), path: LookupPath( [ S( "type", Py( 0x00007f0cef43cbf8, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_num_children": 17, "revolve_about_edge": 6, "default_camera_get_settings": 11, "default_camera_zoom": 14, "entity_get_sketch_paths": 20, "solid3d_fillet_edge": 49, "entity_get_all_child_uuids": 19, "scene_clear_all": 32, "solid3d_get_prev_adjacent_edge": 48, "set_current_tool_properties": 67, "set_default_system_properties": 68, "take_snapshot": 71, "handle_mouse_drag_move": 79, "handle_mouse_drag_end": 80, "import_files": 85, "edit_mode_exit": 100, "solid3d_get_extrusion_face_info": 99, "solid3d_get_next_adjacent_edge": 47, "highlight_set_entities": 35, "default_camera_perspective_settings": 13, "camera_drag_move": 9, "highlight_set_entity": 34, "path_get_vertex_uuids": 76, "revolve": 4, "select_add": 30, "handle_mouse_drag_start": 78, "remove_scene_objects": 81, "set_selection_filter": 94, "entity_get_distance": 21, "select_with_point": 29, "center_of_mass": 90, "object_set_material_params_pbr": 41, "face_get_center": 52, "default_camera_look_at": 12, "close_path": 7, "solid2d_add_hole": 44, "solid3d_get_all_edge_faces": 43, "density": 88, "default_camera_set_orthographic": 95, "set_selection_type": 93, "start_path": 0, "camera_drag_end": 10, "curve_get_type": 69, "entity_circular_pattern": 24, "extend_path": 2, "plane_intersect_and_project": 82, "entity_get_child_uuid": 18, "entity_get_parent_id": 16, "curve_get_end_points": 83, "object_bring_to_front": 40, "path_get_curve_uuids_for_vertices": 74, "enable_sketch_mode": 65, "camera_drag_start": 8, "new_annotation": 36, "path_get_sketch_target_uuid": 77, "set_background_color": 66, "default_camera_set_perspective": 96, "select_get": 102, "surface_area": 91, "solid3d_get_opposite_edge": 46, "set_tool": 59, "path_get_curve_uuid": 75, "volume": 89, "entity_make_helix": 25, "zoom_to_fit": 97, "solid3d_get_all_opposite_edges": 45, "select_clear": 101, "move_path_pen": 1, "reconfigure_stream": 84, "edge_lines_visible": 38, "mouse_click": 61, "entity_mirror_across_edge": 27, "path_get_info": 73, "mass": 87, "plane_set_color": 58, "select_replace": 33, "get_entity_type": 42, "view_isometric": 98, "face_get_gradient": 53, "send_object": 54, "mouse_move": 60, "default_camera_focus_on": 92, "get_num_objects": 103, "face_get_position": 51, "curve_set_constraint": 64, "sketch_mode_disable": 62, "face_is_planar": 50, "make_axes_gizmo": 72, "entity_fade": 56, "edit_mode_enter": 28, "select_remove": 31, "curve_get_control_points": 70, "entity_mirror": 26, "set_scene_units": 86, "update_annotation": 37, "entity_linear_pattern_transform": 22, "entity_set_opacity": 55, "get_sketch_mode_plane": 63, "solid3d_shell_face": 5, "make_plane": 57, "export": 15, "entity_linear_pattern": 23, "object_visible": 39, "extrude": 3, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7ba7b70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7ba7cf0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ea1b70, ), ), 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, values: [ Py( 0x00007f0cd7ea1b70, ), ], }, expected_repr: "'start_path'", name: "literal['start_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['start_path']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "start_path", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffe50d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "start_path", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path", lookup_key: Simple { key: "path", py_key: Py( 0x00007f0cd7ba7d20, ), path: LookupPath( [ S( "path", Py( 0x00007f0cd7ba7cc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43b228, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00005568fff88d20, ), config: Py( 0x00007f0cd7b86080, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "to", lookup_key: Simple { key: "to", py_key: Py( 0x00007f0cd7ba7d50, ), path: LookupPath( [ S( "to", Py( 0x00007f0cd7ba7d80, ), ), ], ), }, name_py: Py( 0x00007f0cee5ba730, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7ba7db0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7ba7de0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ea1cb0, ), ), 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, values: [ Py( 0x00007f0cd7ea1cb0, ), ], }, expected_repr: "'move_path_pen'", name: "literal['move_path_pen']", }, ), validate_default: false, copy_default: false, name: "default[literal['move_path_pen']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "move_path_pen", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffe5ab0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "move_path_pen", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path", lookup_key: Simple { key: "path", py_key: Py( 0x00007f0cd7ba7e10, ), path: LookupPath( [ S( "path", Py( 0x00007f0cd7ba7e40, ), ), ], ), }, name_py: Py( 0x00007f0cef43b228, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00005568fff88d20, ), config: Py( 0x00007f0cd7b87800, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "segment", lookup_key: Simple { key: "segment", py_key: Py( 0x00007f0cd7b8c3f0, ), path: LookupPath( [ S( "segment", Py( 0x00007f0cd7b8c420, ), ), ], ), }, name_py: Py( 0x00007f0cee3d9e60, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f0cef43cbf8, ), path: LookupPath( [ S( "type", Py( 0x00007f0cef43cbf8, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "line": 0, "bezier": 2, "tangential_arc": 3, "tangential_arc_to": 4, "arc": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f0cd7ba7e70, ), path: LookupPath( [ S( "end", Py( 0x00007f0cd7ba7ea0, ), ), ], ), }, name_py: Py( 0x00007f0cef438900, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f0cd7b50fb0, ), path: LookupPath( [ S( "relative", Py( 0x00007f0cd7b50c30, ), ), ], ), }, name_py: Py( 0x00007f0ce01e0830, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7ba7ed0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7ba7f00, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef43a1d0, ), ), 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, values: [ Py( 0x00007f0cef43a1d0, ), ], }, expected_repr: "'line'", name: "literal['line']", }, ), validate_default: false, copy_default: false, name: "default[literal['line']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "line", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffb880a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "line", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f0cd7ba7f30, ), path: LookupPath( [ S( "center", Py( 0x00007f0cd7ba7f60, ), ), ], ), }, name_py: Py( 0x00007f0cee908150, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f0cd7ba7f90, ), path: LookupPath( [ S( "end", Py( 0x00007f0cd7ba7fc0, ), ), ], ), }, name_py: Py( 0x00007f0cef438900, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f0cd7b8c030, ), path: LookupPath( [ S( "radius", Py( 0x00007f0cd7b8c060, ), ), ], ), }, name_py: Py( 0x00007f0cdeea1b90, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7b86ac0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f0cd7b50df0, ), path: LookupPath( [ S( "relative", Py( 0x00007f0cd7b50f30, ), ), ], ), }, name_py: Py( 0x00007f0ce01e0830, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "start", lookup_key: Simple { key: "start", py_key: Py( 0x00007f0cd7b8c090, ), path: LookupPath( [ S( "start", Py( 0x00007f0cd7b8c0c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43c340, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c0f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c120, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdf8b7540, ), ), 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, values: [ Py( 0x00007f0cdf8b7540, ), ], }, expected_repr: "'arc'", name: "literal['arc']", }, ), validate_default: false, copy_default: false, name: "default[literal['arc']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "arc", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000005b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "arc", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "control1", lookup_key: Simple { key: "control1", py_key: Py( 0x00007f0cd7b500b0, ), path: LookupPath( [ S( "control1", Py( 0x00007f0cd7b50870, ), ), ], ), }, name_py: Py( 0x00007f0cd7eea7b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "control2", lookup_key: Simple { key: "control2", py_key: Py( 0x00007f0cd7b508f0, ), path: LookupPath( [ S( "control2", Py( 0x00007f0cd7b50e30, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef09b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f0cd7b8c150, ), path: LookupPath( [ S( "end", Py( 0x00007f0cd7b8c180, ), ), ], ), }, name_py: Py( 0x00007f0cef438900, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py( 0x00007f0cd7b50cb0, ), path: LookupPath( [ S( "relative", Py( 0x00007f0cd7b536b0, ), ), ], ), }, name_py: Py( 0x00007f0ce01e0830, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c1b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c1e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdffd5a70, ), ), 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, values: [ Py( 0x00007f0cdffd5a70, ), ], }, expected_repr: "'bezier'", name: "literal['bezier']", }, ), validate_default: false, copy_default: false, name: "default[literal['bezier']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "bezier", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffc0dc0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "bezier", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "offset", lookup_key: Simple { key: "offset", py_key: Py( 0x00007f0cd7b8c210, ), path: LookupPath( [ S( "offset", Py( 0x00007f0cd7b8c240, ), ), ], ), }, name_py: Py( 0x00007f0cef43ad88, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f0cd7b8c270, ), path: LookupPath( [ S( "radius", Py( 0x00007f0cd7b8c2a0, ), ), ], ), }, name_py: Py( 0x00007f0cdeea1b90, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7b87280, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c2d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c300, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef32f0, ), ), 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, values: [ Py( 0x00007f0cd7ef32f0, ), ], }, expected_repr: "'tangential_arc'", name: "literal['tangential_arc']", }, ), validate_default: false, copy_default: false, name: "default[literal['tangential_arc']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "tangential_arc", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffc5b90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "tangential_arc", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "angle_snap_increment", lookup_key: Simple { key: "angle_snap_increment", py_key: Py( 0x00007f0cd7b53330, ), path: LookupPath( [ S( "angle_snap_increment", Py( 0x00007f0cd7b535b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef3570, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "to", lookup_key: Simple { key: "to", py_key: Py( 0x00007f0cd7b8c330, ), path: LookupPath( [ S( "to", Py( 0x00007f0cd7b8c360, ), ), ], ), }, name_py: Py( 0x00007f0cee5ba730, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c390, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c3c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef34f0, ), ), 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, values: [ Py( 0x00007f0cd7ef34f0, ), ], }, expected_repr: "'tangential_arc_to'", name: "literal['tangential_arc_to']", }, ), validate_default: false, copy_default: false, name: "default[literal['tangential_arc_to']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "tangential_arc_to", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffc9970, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "tangential_arc_to", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'line', 'arc', 'bezier', 'tangential_arc', 'tangential_arc_to'", discriminator_repr: "'type'", name: "tagged-union[line,arc,bezier,tangential_arc,tangential_arc_to]", }, ), class: Py( 0x00005568fffcee10, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f0cde289e70, ), name: "RootModel[Annotated[Union[line, arc, bezier, tangential_arc, tangential_arc_to], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c450, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c480, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cded52f30, ), ), 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, values: [ Py( 0x00007f0cded52f30, ), ], }, expected_repr: "'extend_path'", name: "literal['extend_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['extend_path']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "extend_path", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffe79d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "extend_path", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cap", lookup_key: Simple { key: "cap", py_key: Py( 0x00007f0cd7b8c4b0, ), path: LookupPath( [ S( "cap", Py( 0x00007f0cd7b8c4e0, ), ), ], ), }, name_py: Py( 0x00007f0cea13ccf0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "distance", lookup_key: Simple { key: "distance", py_key: Py( 0x00007f0cd7b50370, ), path: LookupPath( [ S( "distance", Py( 0x00007f0cd7b53770, ), ), ], ), }, name_py: Py( 0x00007f0cee269cb0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7b87cc0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f0cd7b8c510, ), path: LookupPath( [ S( "target", Py( 0x00007f0cd7b8c540, ), ), ], ), }, name_py: Py( 0x00007f0cef43c6e0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00005568fff88d20, ), config: Py( 0x00007f0cd7b87cc0, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c570, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c5a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ea4990, ), ), 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, values: [ Py( 0x00007f0cd7ea4990, ), ], }, expected_repr: "'extrude'", name: "literal['extrude']", }, ), validate_default: false, copy_default: false, name: "default[literal['extrude']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "extrude", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffeb890, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "extrude", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "angle", lookup_key: Simple { key: "angle", py_key: Py( 0x00007f0cd7b8c5d0, ), path: LookupPath( [ S( "angle", Py( 0x00007f0cd7b8c600, ), ), ], ), }, name_py: Py( 0x00007f0ced3653e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f0cd7b8c630, ), path: LookupPath( [ S( "axis", Py( 0x00007f0cd7b8c660, ), ), ], ), }, name_py: Py( 0x00007f0ceda74c60, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "axis_is_2d", lookup_key: Simple { key: "axis_is_2d", py_key: Py( 0x00007f0cd7b52f70, ), path: LookupPath( [ S( "axis_is_2d", Py( 0x00007f0cd7b53730, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea1eb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py( 0x00007f0cd7b8c690, ), path: LookupPath( [ S( "origin", Py( 0x00007f0cd7b8c6c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43b060, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f0cd7b8c6f0, ), path: LookupPath( [ S( "target", Py( 0x00007f0cd7b8c720, ), ), ], ), }, name_py: Py( 0x00007f0cef43c6e0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00005568fff88d20, ), config: Py( 0x00007f0cd7a28340, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f0cd7b536f0, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f0cd7b3dc30, ), ), ], ), }, name_py: Py( 0x00007f0cdec52470, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a28340, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c750, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c780, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ea4cf0, ), ), 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, values: [ Py( 0x00007f0cd7ea4cf0, ), ], }, expected_repr: "'revolve'", name: "literal['revolve']", }, ), validate_default: false, copy_default: false, name: "default[literal['revolve']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "revolve", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900006480, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "revolve", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "face_ids", lookup_key: Simple { key: "face_ids", py_key: Py( 0x00007f0cd7b3c6f0, ), path: LookupPath( [ S( "face_ids", Py( 0x00007f0cd7b3c8b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea1ff0, ), 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( 0x00007f0cd7b3c130, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b3c9b0, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), 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( 0x00007f0cd7b3c830, ), path: LookupPath( [ S( "shell_thickness", Py( 0x00007f0cd7bb02f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea2030, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a287c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c7b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c7e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ea1fb0, ), ), 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, values: [ Py( 0x00007f0cd7ea1fb0, ), ], }, expected_repr: "'solid3d_shell_face'", name: "literal['solid3d_shell_face']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_shell_face']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_shell_face", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900009c20, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_shell_face", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "angle", lookup_key: Simple { key: "angle", py_key: Py( 0x00007f0cd7b8c810, ), path: LookupPath( [ S( "angle", Py( 0x00007f0cd7b8c840, ), ), ], ), }, name_py: Py( 0x00007f0ced3653e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8c870, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8c8a0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f0cd7b8c8d0, ), path: LookupPath( [ S( "target", Py( 0x00007f0cd7b8c900, ), ), ], ), }, name_py: Py( 0x00007f0cef43c6e0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00005568fff88d20, ), config: Py( 0x00007f0cd7a28d00, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f0cd7bb0170, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f0cd7bb3fb0, ), ), ], ), }, name_py: Py( 0x00007f0cdec52470, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a28d00, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c930, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8c960, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eae270, ), ), 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, values: [ Py( 0x00007f0cd7eae270, ), ], }, expected_repr: "'revolve_about_edge'", name: "literal['revolve_about_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['revolve_about_edge']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "revolve_about_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000106a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "revolve_about_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f0cd7b8c990, ), path: LookupPath( [ S( "path_id", Py( 0x00007f0cd7b8c9c0, ), ), ], ), }, name_py: Py( 0x00007f0cde749cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8c9f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ca20, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd63fb0, ), ), 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, values: [ Py( 0x00007f0cdcd63fb0, ), ], }, expected_repr: "'close_path'", name: "literal['close_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['close_path']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "close_path", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900013e30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "close_path", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "interaction", lookup_key: Simple { key: "interaction", py_key: Py( 0x00007f0cd7bb3d30, ), path: LookupPath( [ S( "interaction", Py( 0x00007f0cd7bb0030, ), ), ], ), }, name_py: Py( 0x00007f0cee195230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ca50, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ca80, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eae4f0, ), ), 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, values: [ Py( 0x00007f0cd7eae4f0, ), ], }, expected_repr: "'camera_drag_start'", name: "literal['camera_drag_start']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_start']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b8cab0, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b8cae0, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "camera_drag_start", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000188c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "camera_drag_start", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "interaction", lookup_key: Simple { key: "interaction", py_key: Py( 0x00007f0cd7bb2770, ), path: LookupPath( [ S( "interaction", Py( 0x00007f0cd7bb23b0, ), ), ], ), }, name_py: Py( 0x00007f0cee195230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f0cd7bb0070, ), path: LookupPath( [ S( "sequence", Py( 0x00007f0cd7bb0270, ), ), ], ), }, name_py: Py( 0x00007f0cef43bde8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8cb10, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8cb40, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdce81b30, ), ), 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, values: [ Py( 0x00007f0cdce81b30, ), ], }, expected_repr: "'camera_drag_move'", name: "literal['camera_drag_move']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_move']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b8cb70, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b8cba0, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "camera_drag_move", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690001af80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "camera_drag_move", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "interaction", lookup_key: Simple { key: "interaction", py_key: Py( 0x00007f0cd7b85af0, ), path: LookupPath( [ S( "interaction", Py( 0x00007f0cd7b85a70, ), ), ], ), }, name_py: Py( 0x00007f0cee195230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8cbd0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8cc00, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdce819b0, ), ), 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, values: [ Py( 0x00007f0cdce819b0, ), ], }, expected_repr: "'camera_drag_end'", name: "literal['camera_drag_end']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_end']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b8cc30, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b8cc60, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "camera_drag_end", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690001f400, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "camera_drag_end", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8cc90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ccc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca22510, ), ), 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, values: [ Py( 0x00007f0cdca22510, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "default_camera_get_settings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900024310, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_get_settings", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f0cd7b8ccf0, ), path: LookupPath( [ S( "center", Py( 0x00007f0cd7b8cd20, ), ), ], ), }, name_py: Py( 0x00007f0cee908150, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f0cd7b85b70, ), path: LookupPath( [ S( "sequence", Py( 0x00007f0cd7b859f0, ), ), ], ), }, name_py: Py( 0x00007f0cef43bde8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8cd50, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8cd80, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eaecb0, ), ), 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, values: [ Py( 0x00007f0cd7eaecb0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py( 0x00007f0cd7b8cdb0, ), path: LookupPath( [ S( "up", Py( 0x00007f0cd7b8cde0, ), ), ], ), }, name_py: Py( 0x00007f0cee0630f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "vantage", lookup_key: Simple { key: "vantage", py_key: Py( 0x00007f0cd7b8ce10, ), path: LookupPath( [ S( "vantage", Py( 0x00007f0cd7b8ce40, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea61f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "default_camera_look_at", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000283a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_look_at", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f0cd7b8ce70, ), path: LookupPath( [ S( "center", Py( 0x00007f0cd7b8cea0, ), ), ], ), }, name_py: Py( 0x00007f0cee908150, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "fov_y", lookup_key: Simple { key: "fov_y", py_key: Py( 0x00007f0cd7b8ced0, ), path: LookupPath( [ S( "fov_y", Py( 0x00007f0cd7b8cf00, ), ), ], ), }, name_py: Py( 0x00007f0cdc8fbfc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f0cd7b858f0, ), path: LookupPath( [ S( "sequence", Py( 0x00007f0cd7b85970, ), ), ], ), }, name_py: Py( 0x00007f0cef43bde8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8cf30, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8cf60, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7e6b780, ), ), 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, values: [ Py( 0x00007f0cd7e6b780, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py( 0x00007f0cd7b8cf90, ), path: LookupPath( [ S( "up", Py( 0x00007f0cd7b8cfc0, ), ), ], ), }, name_py: Py( 0x00007f0cee0630f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "vantage", lookup_key: Simple { key: "vantage", py_key: Py( 0x00007f0cd7b8cff0, ), path: LookupPath( [ S( "vantage", Py( 0x00007f0cd7b8d020, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea61f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "z_far", lookup_key: Simple { key: "z_far", py_key: Py( 0x00007f0cd7b8d050, ), path: LookupPath( [ S( "z_far", Py( 0x00007f0cd7b8d080, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea6640, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "z_near", lookup_key: Simple { key: "z_near", py_key: Py( 0x00007f0cd7b8d0b0, ), path: LookupPath( [ S( "z_near", Py( 0x00007f0cd7b8d0e0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea6730, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "default_camera_perspective_settings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690002a5f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_perspective_settings", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "magnitude", lookup_key: Simple { key: "magnitude", py_key: Py( 0x00007f0cd7b85a30, ), path: LookupPath( [ S( "magnitude", Py( 0x00007f0cd7b85ab0, ), ), ], ), }, name_py: Py( 0x00007f0cdffa1df0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d110, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d140, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd63630, ), ), 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, values: [ Py( 0x00007f0cdcd63630, ), ], }, expected_repr: "'default_camera_zoom'", name: "literal['default_camera_zoom']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_zoom']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "default_camera_zoom", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690002fb40, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_zoom", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f0cd7b85b30, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f0cd7b85870, ), ), ], ), }, name_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cd7b8d7d0, ), path: LookupPath( [ S( "format", Py( 0x00007f0cd7b8d800, ), ), ], ), }, name_py: Py( 0x00007f0cef4390e8, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f0cef43cbf8, ), path: LookupPath( [ S( "type", Py( 0x00007f0cef43cbf8, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "fbx": 0, "obj": 2, "gltf": 1, "stl": 5, "ply": 3, "step": 4, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py( 0x00007f0cd7b8d170, ), path: LookupPath( [ S( "storage", Py( 0x00007f0cd7b8d1a0, ), ), ], ), }, name_py: Py( 0x00007f0ce004adf0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ff7c3880, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "binary": 1, "ascii": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc7dedb0, ), Py( 0x00007f0cdc7dee70, ), ], }, missing: None, expected_repr: "'ascii' or 'binary'", strict: false, class_repr: "FbxStorage", name: "str-enum[FbxStorage]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d1d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d200, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7b840, ), ), 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, values: [ Py( 0x00007f0cdcb7b840, ), ], }, expected_repr: "'fbx'", name: "literal['fbx']", }, ), validate_default: false, copy_default: false, name: "default[literal['fbx']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "fbx", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ff76d420, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "fbx", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "presentation", lookup_key: Simple { key: "presentation", py_key: Py( 0x00007f0cd7b85770, ), path: LookupPath( [ S( "presentation", Py( 0x00007f0cd7b857f0, ), ), ], ), }, name_py: Py( 0x00007f0cdc79a970, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffbcd090, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "compact": 0, "pretty": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc7def30, ), Py( 0x00007f0cdc7deff0, ), ], }, missing: None, expected_repr: "'compact' or 'pretty'", strict: false, class_repr: "GltfPresentation", name: "str-enum[GltfPresentation]", }, ), frozen: false, }, Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py( 0x00007f0cd7b8d230, ), path: LookupPath( [ S( "storage", Py( 0x00007f0cd7b8d260, ), ), ], ), }, name_py: Py( 0x00007f0ce004adf0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffbcd870, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "embedded": 2, "standard": 1, "binary": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc7df0b0, ), Py( 0x00007f0cdc7df170, ), Py( 0x00007f0cdc7df230, ), ], }, missing: None, expected_repr: "'binary', 'standard' or 'embedded'", strict: false, class_repr: "GltfStorage", name: "str-enum[GltfStorage]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d290, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d2c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7ba20, ), ), 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, values: [ Py( 0x00007f0cdcb7ba20, ), ], }, expected_repr: "'gltf'", name: "literal['gltf']", }, ), validate_default: false, copy_default: false, name: "default[literal['gltf']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "gltf", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffbd2580, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "gltf", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b8d2f0, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b8d320, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d350, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d380, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef43ad28, ), ), 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, values: [ Py( 0x00007f0cef43ad28, ), ], }, expected_repr: "'obj'", name: "literal['obj']", }, ), validate_default: false, copy_default: false, name: "default[literal['obj']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f0cd7b8d3b0, ), path: LookupPath( [ S( "units", Py( 0x00007f0cd7b8d3e0, ), ), ], ), }, name_py: Py( 0x00007f0cee2198f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "obj", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffbd45f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "obj", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b8d410, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b8d440, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py( 0x00007f0cd7b858b0, ), path: LookupPath( [ S( "selection", Py( 0x00007f0cd7b85930, ), ), ], ), }, name_py: Py( 0x00007f0cdca04230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py( 0x00007f0cd7b8d470, ), path: LookupPath( [ S( "storage", Py( 0x00007f0cd7b8d4a0, ), ), ], ), }, name_py: Py( 0x00007f0ce004adf0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ff9713e0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "binary_little_endian": 1, "binary_big_endian": 2, "ascii": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc7df290, ), Py( 0x00007f0cdc7df2f0, ), Py( 0x00007f0cdc7df350, ), ], }, missing: None, expected_repr: "'ascii', 'binary_little_endian' or 'binary_big_endian'", strict: false, class_repr: "PlyStorage", name: "str-enum[PlyStorage]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d4d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d500, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7bbd0, ), ), 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, values: [ Py( 0x00007f0cdcb7bbd0, ), ], }, expected_repr: "'ply'", name: "literal['ply']", }, ), validate_default: false, copy_default: false, name: "default[literal['ply']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f0cd7b8d530, ), path: LookupPath( [ S( "units", Py( 0x00007f0cd7b8d560, ), ), ], ), }, name_py: Py( 0x00007f0cee2198f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "ply", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffbd8d80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "ply", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b8d590, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b8d5c0, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d5f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d620, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef43c468, ), ), 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, values: [ Py( 0x00007f0cef43c468, ), ], }, expected_repr: "'step'", name: "literal['step']", }, ), validate_default: false, copy_default: false, name: "default[literal['step']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "step", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffd3a720, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "step", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b8d650, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b8d680, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py( 0x00007f0cd7b859b0, ), path: LookupPath( [ S( "selection", Py( 0x00007f0cd7b856f0, ), ), ], ), }, name_py: Py( 0x00007f0cdca04230, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "storage", lookup_key: Simple { key: "storage", py_key: Py( 0x00007f0cd7b8d6b0, ), path: LookupPath( [ S( "storage", Py( 0x00007f0cd7b8d6e0, ), ), ], ), }, name_py: Py( 0x00007f0ce004adf0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ff980470, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "ascii": 0, "binary": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc7dfa70, ), Py( 0x00007f0cdc7dfad0, ), ], }, missing: None, expected_repr: "'ascii' or 'binary'", strict: false, class_repr: "StlStorage", name: "str-enum[StlStorage]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d710, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d740, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7bd80, ), ), 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, values: [ Py( 0x00007f0cdcb7bd80, ), ], }, expected_repr: "'stl'", name: "literal['stl']", }, ), validate_default: false, copy_default: false, name: "default[literal['stl']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f0cd7b8d770, ), path: LookupPath( [ S( "units", Py( 0x00007f0cd7b8d7a0, ), ), ], ), }, name_py: Py( 0x00007f0cee2198f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "stl", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffd3e400, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "stl", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'fbx', 'gltf', 'obj', 'ply', 'step', 'stl'", discriminator_repr: "'type'", name: "tagged-union[fbx,gltf,obj,ply,step,stl]", }, ), class: Py( 0x00005568ffd49680, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f0cde289e70, ), name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d830, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d860, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cea1eb180, ), ), 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, values: [ Py( 0x00007f0cea1eb180, ), ], }, expected_repr: "'export'", name: "literal['export']", }, ), validate_default: false, copy_default: false, name: "default[literal['export']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "export", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000375d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "export", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b855f0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b85670, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d890, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d8c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd62bb0, ), ), 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, values: [ Py( 0x00007f0cdcd62bb0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_get_parent_id", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900039f50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_get_parent_id", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b85730, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b857b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d8f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d920, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd62cb0, ), ), 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, values: [ Py( 0x00007f0cdcd62cb0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_get_num_children", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffe8cb60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_get_num_children", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "child_index", lookup_key: Simple { key: "child_index", py_key: Py( 0x00007f0cd7b85830, ), path: LookupPath( [ S( "child_index", Py( 0x00007f0cd7b85570, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebf470, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b85370, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b854f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d950, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d980, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd62470, ), ), 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, values: [ Py( 0x00007f0cdcd62470, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_get_child_uuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690005a610, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_get_child_uuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b855b0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b85630, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8d9b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8d9e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca22d30, ), ), 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, values: [ Py( 0x00007f0cdca22d30, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_get_all_child_uuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690005cd40, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_get_all_child_uuids", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b856b0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b852f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8da10, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8da40, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd62a70, ), ), 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, values: [ Py( 0x00007f0cdcd62a70, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_get_sketch_paths", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690005f780, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_get_sketch_paths", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "distance_type", lookup_key: Simple { key: "distance_type", py_key: Py( 0x00007f0cd7b85130, ), path: LookupPath( [ S( "distance_type", Py( 0x00007f0cd7b85270, ), ), ], ), }, name_py: Py( 0x00007f0cdcd62fb0, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f0cef43cbf8, ), path: LookupPath( [ S( "type", Py( 0x00007f0cef43cbf8, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "euclidean": 0, "on_axis": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8da70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8daa0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7f30af0, ), ), 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, values: [ Py( 0x00007f0cd7f30af0, ), ], }, expected_repr: "'euclidean'", name: "literal['euclidean']", }, ), validate_default: false, copy_default: false, name: "default[literal['euclidean']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "euclidean", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffcd3f40, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "euclidean", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f0cd7b8dad0, ), path: LookupPath( [ S( "axis", Py( 0x00007f0cd7b8db00, ), ), ], ), }, name_py: Py( 0x00007f0ceda74c60, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffcd2f00, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "x": 0, "y": 1, "z": 2, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc05aa50, ), Py( 0x00007f0cdc05aab0, ), Py( 0x00007f0cdc05ab10, ), ], }, 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( 0x00007f0cd7b8db30, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8db60, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7f1d2c0, ), ), 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, values: [ Py( 0x00007f0cd7f1d2c0, ), ], }, expected_repr: "'on_axis'", name: "literal['on_axis']", }, ), validate_default: false, copy_default: false, name: "default[literal['on_axis']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "on_axis", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffcd5680, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "on_axis", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'euclidean', 'on_axis'", discriminator_repr: "'type'", name: "tagged-union[euclidean,on_axis]", }, ), class: Py( 0x00005568ffcd8430, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f0cde289e70, ), name: "RootModel[Annotated[Union[euclidean, on_axis], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "entity_id1", lookup_key: Simple { key: "entity_id1", py_key: Py( 0x00007f0cd7b85470, ), path: LookupPath( [ S( "entity_id1", Py( 0x00007f0cd7b854b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebf8b0, ), 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( 0x00007f0cd7b85530, ), path: LookupPath( [ S( "entity_id2", Py( 0x00007f0cd7b853f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebf8f0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8db90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8dbc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd62d70, ), ), 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, values: [ Py( 0x00007f0cdcd62d70, ), ], }, expected_repr: "'entity_get_distance'", name: "literal['entity_get_distance']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_distance']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_get_distance", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900061f10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_get_distance", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b85430, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b85330, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "transform", lookup_key: Simple { key: "transform", py_key: Py( 0x00007f0cd7b85230, ), path: LookupPath( [ S( "transform", Py( 0x00007f0cd7b851b0, ), ), ], ), }, name_py: Py( 0x00007f0cede36470, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "replicate", lookup_key: Simple { key: "replicate", py_key: Py( 0x00007f0cd7b853b0, ), path: LookupPath( [ S( "replicate", Py( 0x00007f0cd7b850b0, ), ), ], ), }, name_py: Py( 0x00007f0cdffce9b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef330d00, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "scale", lookup_key: Simple { key: "scale", py_key: Py( 0x00007f0cd7b8dbf0, ), path: LookupPath( [ S( "scale", Py( 0x00007f0cd7b8dc20, ), ), ], ), }, name_py: Py( 0x00007f0cedb1abb0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7e2afc0, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), validate_default: false, copy_default: true, name: "default[Point3d]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "translate", lookup_key: Simple { key: "translate", py_key: Py( 0x00007f0cd7b84db0, ), path: LookupPath( [ S( "translate", Py( 0x00007f0cd7b85030, ), ), ], ), }, name_py: Py( 0x00007f0cef43caf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7e3e000, ), ), on_error: Raise, validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), validate_default: false, copy_default: true, name: "default[Point3d]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "LinearTransform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fff32900, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "LinearTransform", }, ), ), 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( 0x00007f0cd7b8dc50, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8dc80, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca22d80, ), ), 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, values: [ Py( 0x00007f0cdca22d80, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_linear_pattern_transform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000646b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_linear_pattern_transform", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f0cd7b8dcb0, ), path: LookupPath( [ S( "axis", Py( 0x00007f0cd7b8dce0, ), ), ], ), }, name_py: Py( 0x00007f0ceda74c60, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b852b0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b850f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), 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( 0x00007f0cd7b85170, ), path: LookupPath( [ S( "num_repetitions", Py( 0x00007f0cd7b851f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebfb30, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "spacing", lookup_key: Simple { key: "spacing", py_key: Py( 0x00007f0cd7b8dd10, ), path: LookupPath( [ S( "spacing", Py( 0x00007f0cd7b8dd40, ), ), ], ), }, name_py: Py( 0x00007f0cedd75650, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a329c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8dd70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8dda0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd626b0, ), ), 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, values: [ Py( 0x00007f0cdcd626b0, ), ], }, expected_repr: "'entity_linear_pattern'", name: "literal['entity_linear_pattern']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_linear_pattern']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_linear_pattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690006a880, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_linear_pattern", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "arc_degrees", lookup_key: Simple { key: "arc_degrees", py_key: Py( 0x00007f0cd7b84ab0, ), path: LookupPath( [ S( "arc_degrees", Py( 0x00007f0cd7b84830, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebfcf0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f0cd7b8ddd0, ), path: LookupPath( [ S( "axis", Py( 0x00007f0cd7b8de00, ), ), ], ), }, name_py: Py( 0x00007f0ceda74c60, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "center", lookup_key: Simple { key: "center", py_key: Py( 0x00007f0cd7b8de30, ), path: LookupPath( [ S( "center", Py( 0x00007f0cd7b8de60, ), ), ], ), }, name_py: Py( 0x00007f0cee908150, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b84930, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b84f30, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), 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( 0x00007f0cd7b84ff0, ), path: LookupPath( [ S( "num_repetitions", Py( 0x00007f0cd7b85070, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebfb30, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "rotate_duplicates", lookup_key: Simple { key: "rotate_duplicates", py_key: Py( 0x00007f0cd7b84fb0, ), path: LookupPath( [ S( "rotate_duplicates", Py( 0x00007f0cd7b84eb0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebfdb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8de90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8dec0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd622b0, ), ), 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, values: [ Py( 0x00007f0cdcd622b0, ), ], }, expected_repr: "'entity_circular_pattern'", name: "literal['entity_circular_pattern']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_circular_pattern']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_circular_pattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900070fd0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_circular_pattern", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cylinder_id", lookup_key: Simple { key: "cylinder_id", py_key: Py( 0x00007f0cd7b84cb0, ), path: LookupPath( [ S( "cylinder_id", Py( 0x00007f0cd7b84e70, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebff70, ), 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( 0x00007f0cd7b84ef0, ), path: LookupPath( [ S( "is_clockwise", Py( 0x00007f0cd7b84f70, ), ), ], ), }, name_py: Py( 0x00007f0cd7ebffb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "length", lookup_key: Simple { key: "length", py_key: Py( 0x00007f0cd7b8def0, ), path: LookupPath( [ S( "length", Py( 0x00007f0cd7b8df20, ), ), ], ), }, name_py: Py( 0x00007f0cef43a140, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a33440, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "revolutions", lookup_key: Simple { key: "revolutions", py_key: Py( 0x00007f0cd7b847b0, ), path: LookupPath( [ S( "revolutions", Py( 0x00007f0cd7b846b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec4030, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "start_angle", lookup_key: Simple { key: "start_angle", py_key: Py( 0x00007f0cd7b84730, ), path: LookupPath( [ S( "start_angle", Py( 0x00007f0cd7b84e30, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec40b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Angle", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8df50, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8df80, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ebff30, ), ), 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, values: [ Py( 0x00007f0cd7ebff30, ), ], }, expected_repr: "'entity_make_helix'", name: "literal['entity_make_helix']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_make_helix']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_make_helix", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000758f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_make_helix", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py( 0x00007f0cd7b8dfb0, ), path: LookupPath( [ S( "axis", Py( 0x00007f0cd7b8dfe0, ), ), ], ), }, name_py: Py( 0x00007f0ceda74c60, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "ids", lookup_key: Simple { key: "ids", py_key: Py( 0x00007f0cd7b8e010, ), path: LookupPath( [ S( "ids", Py( 0x00007f0cd7b8e040, ), ), ], ), }, name_py: Py( 0x00007f0cee3d8930, ), 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( 0x00007f0cd7b8e070, ), path: LookupPath( [ S( "point", Py( 0x00007f0cd7b8e0a0, ), ), ], ), }, name_py: Py( 0x00007f0ced359b00, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e0d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e100, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec4070, ), ), 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, values: [ Py( 0x00007f0cd7ec4070, ), ], }, expected_repr: "'entity_mirror'", name: "literal['entity_mirror']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_mirror']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_mirror", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690007ae90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_mirror", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8e130, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8e160, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "ids", lookup_key: Simple { key: "ids", py_key: Py( 0x00007f0cd7b8e190, ), path: LookupPath( [ S( "ids", Py( 0x00007f0cd7b8e1c0, ), ), ], ), }, name_py: Py( 0x00007f0cee3d8930, ), 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( 0x00007f0cd7b8e1f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e220, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7e6bd70, ), ), 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, values: [ Py( 0x00007f0cd7e6bd70, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_mirror_across_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690007f9e0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_mirror_across_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "target", lookup_key: Simple { key: "target", py_key: Py( 0x00007f0cd7b8e250, ), path: LookupPath( [ S( "target", Py( 0x00007f0cd7b8e280, ), ), ], ), }, name_py: Py( 0x00007f0cef43c6e0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e2b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e2e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec43f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "edit_mode_enter": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7ec43f0, ), ], }, expected_repr: "'edit_mode_enter'", name: "literal['edit_mode_enter']", }, ), validate_default: false, copy_default: false, name: "default[literal['edit_mode_enter']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "edit_mode_enter", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900084930, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "edit_mode_enter", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "selected_at_window", lookup_key: Simple { key: "selected_at_window", py_key: Py( 0x00007f0cd7b848b0, ), path: LookupPath( [ S( "selected_at_window", Py( 0x00007f0cd7b849b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec4670, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "selection_type", lookup_key: Simple { key: "selection_type", py_key: Py( 0x00007f0cd7b847f0, ), path: LookupPath( [ S( "selection_type", Py( 0x00007f0cd7b84870, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec46b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e310, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e340, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca04170, ), ), 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, values: [ Py( 0x00007f0cdca04170, ), ], }, expected_repr: "'select_with_point'", name: "literal['select_with_point']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_with_point']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "select_with_point", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000876a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "select_with_point", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f0cd7b848f0, ), path: LookupPath( [ S( "entities", Py( 0x00007f0cd7b84970, ), ), ], ), }, name_py: Py( 0x00007f0ce06b7030, ), 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( 0x00007f0cd7b8e370, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e3a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec4870, ), ), 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, values: [ Py( 0x00007f0cd7ec4870, ), ], }, expected_repr: "'select_add'", name: "literal['select_add']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_add']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "select_add", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900089d80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "select_add", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f0cd7b849f0, ), path: LookupPath( [ S( "entities", Py( 0x00007f0cd7b84a30, ), ), ], ), }, name_py: Py( 0x00007f0ce06b7030, ), 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( 0x00007f0cd7b8e3d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e400, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec4970, ), ), 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, values: [ Py( 0x00007f0cd7ec4970, ), ], }, expected_repr: "'select_remove'", name: "literal['select_remove']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_remove']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "select_remove", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690008e8f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "select_remove", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e430, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e460, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec4a70, ), ), 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, values: [ Py( 0x00007f0cd7ec4a70, ), ], }, expected_repr: "'scene_clear_all'", name: "literal['scene_clear_all']", }, ), validate_default: false, copy_default: false, name: "default[literal['scene_clear_all']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "scene_clear_all", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900091230, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "scene_clear_all", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f0cd7b84d30, ), path: LookupPath( [ S( "entities", Py( 0x00007f0cd7b84bb0, ), ), ], ), }, name_py: Py( 0x00007f0ce06b7030, ), 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( 0x00007f0cd7b8e490, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e4c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec4bf0, ), ), 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, values: [ Py( 0x00007f0cd7ec4bf0, ), ], }, expected_repr: "'select_replace'", name: "literal['select_replace']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_replace']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "select_replace", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900093c80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "select_replace", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "selected_at_window", lookup_key: Simple { key: "selected_at_window", py_key: Py( 0x00007f0cd7b84d70, ), path: LookupPath( [ S( "selected_at_window", Py( 0x00007f0cd7b84df0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec4670, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f0cd7b84c30, ), path: LookupPath( [ S( "sequence", Py( 0x00007f0cd7b84b30, ), ), ], ), }, name_py: Py( 0x00007f0cef43bde8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e4f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e520, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf28b0, ), ), 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, values: [ Py( 0x00007f0cdccf28b0, ), ], }, expected_repr: "'highlight_set_entity'", name: "literal['highlight_set_entity']", }, ), validate_default: false, copy_default: false, name: "default[literal['highlight_set_entity']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "highlight_set_entity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900095e80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "highlight_set_entity", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities", lookup_key: Simple { key: "entities", py_key: Py( 0x00007f0cd7b84c70, ), path: LookupPath( [ S( "entities", Py( 0x00007f0cd7b84cf0, ), ), ], ), }, name_py: Py( 0x00007f0ce06b7030, ), 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( 0x00007f0cd7b8e550, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e580, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec4f70, ), ), 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, values: [ Py( 0x00007f0cd7ec4f70, ), ], }, expected_repr: "'highlight_set_entities'", name: "literal['highlight_set_entities']", }, ), validate_default: false, copy_default: false, name: "default[literal['highlight_set_entities']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "highlight_set_entities", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000988d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "highlight_set_entities", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "annotation_type", lookup_key: Simple { key: "annotation_type", py_key: Py( 0x00007f0cd7b84a70, ), path: LookupPath( [ S( "annotation_type", Py( 0x00007f0cd7b84af0, ), ), ], ), }, name_py: Py( 0x00007f0cee2024b0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffc35dd0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "t3d": 1, "t2d": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc76f8f0, ), Py( 0x00007f0cdc76f9b0, ), ], }, 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( 0x00007f0cd7b8e5b0, ), path: LookupPath( [ S( "clobber", Py( 0x00007f0cd7b8e5e0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec16e0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "options", lookup_key: Simple { key: "options", py_key: Py( 0x00007f0cd7b8e610, ), path: LookupPath( [ S( "options", Py( 0x00007f0cd7b8e640, ), ), ], ), }, name_py: Py( 0x00007f0cef43b000, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e670, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e6a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec50f0, ), ), 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, values: [ Py( 0x00007f0cd7ec50f0, ), ], }, expected_repr: "'new_annotation'", name: "literal['new_annotation']", }, ), validate_default: false, copy_default: false, name: "default[literal['new_annotation']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "new_annotation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690009cdf0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "new_annotation", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "annotation_id", lookup_key: Simple { key: "annotation_id", py_key: Py( 0x00007f0cd7b84b70, ), path: LookupPath( [ S( "annotation_id", Py( 0x00007f0cd7b84bf0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec5430, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "options", lookup_key: Simple { key: "options", py_key: Py( 0x00007f0cd7b8e6d0, ), path: LookupPath( [ S( "options", Py( 0x00007f0cd7b8e700, ), ), ], ), }, name_py: Py( 0x00007f0cef43b000, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e730, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e760, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec5370, ), ), 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, values: [ Py( 0x00007f0cd7ec5370, ), ], }, expected_repr: "'update_annotation'", name: "literal['update_annotation']", }, ), validate_default: false, copy_default: false, name: "default[literal['update_annotation']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "update_annotation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690009f780, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "update_annotation", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "hidden", lookup_key: Simple { key: "hidden", py_key: Py( 0x00007f0cd7b8e790, ), path: LookupPath( [ S( "hidden", Py( 0x00007f0cd7b8e7c0, ), ), ], ), }, name_py: Py( 0x00007f0ceda605a0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e7f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e820, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec5630, ), ), 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, values: [ Py( 0x00007f0cd7ec5630, ), ], }, expected_repr: "'edge_lines_visible'", name: "literal['edge_lines_visible']", }, ), validate_default: false, copy_default: false, name: "default[literal['edge_lines_visible']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "edge_lines_visible", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000adf30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "edge_lines_visible", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "hidden", lookup_key: Simple { key: "hidden", py_key: Py( 0x00007f0cd7b8e850, ), path: LookupPath( [ S( "hidden", Py( 0x00007f0cd7b8e880, ), ), ], ), }, name_py: Py( 0x00007f0ceda605a0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b84630, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84470, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e8b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e8e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec57b0, ), ), 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, values: [ Py( 0x00007f0cd7ec57b0, ), ], }, expected_repr: "'object_visible'", name: "literal['object_visible']", }, ), validate_default: false, copy_default: false, name: "default[literal['object_visible']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "object_visible", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000bad20, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "object_visible", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b845b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84670, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e910, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8e940, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec59f0, ), ), 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, values: [ Py( 0x00007f0cd7ec59f0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "object_bring_to_front", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000bd370, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "object_bring_to_front", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "ambient_occlusion", lookup_key: Simple { key: "ambient_occlusion", py_key: Py( 0x00007f0cd7b846f0, ), path: LookupPath( [ S( "ambient_occlusion", Py( 0x00007f0cd7b84770, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec5bf0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f0cd7b8e970, ), path: LookupPath( [ S( "color", Py( 0x00007f0cd7b8e9a0, ), ), ], ), }, name_py: Py( 0x00007f0cee43da40, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), frozen: false, }, Field { name: "metalness", lookup_key: Simple { key: "metalness", py_key: Py( 0x00007f0cd7b843f0, ), path: LookupPath( [ S( "metalness", Py( 0x00007f0cd7b84270, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec5c30, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b84370, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84570, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "roughness", lookup_key: Simple { key: "roughness", py_key: Py( 0x00007f0cd7b844f0, ), path: LookupPath( [ S( "roughness", Py( 0x00007f0cd7b845f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec5cb0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8e9d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ea00, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7e6bf50, ), ), 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, values: [ Py( 0x00007f0cd7e6bf50, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "object_set_material_params_pbr", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffe4ad0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "object_set_material_params_pbr", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b84430, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b844b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ea30, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ea60, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf3130, ), ), 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, values: [ Py( 0x00007f0cdccf3130, ), ], }, expected_repr: "'get_entity_type'", name: "literal['get_entity_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_entity_type']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "get_entity_type", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000c2670, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "get_entity_type", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8ea90, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8eac0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b84530, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b841b0, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8eaf0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8eb20, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23a00, ), ), 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, values: [ Py( 0x00007f0cdca23a00, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_all_edge_faces", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000c9490, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_get_all_edge_faces", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "hole_id", lookup_key: Simple { key: "hole_id", py_key: Py( 0x00007f0cd7b8eb50, ), path: LookupPath( [ S( "hole_id", Py( 0x00007f0cd7b8eb80, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec25e0, ), 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( 0x00007f0cd7b84070, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b841f0, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ebb0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ebe0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eea170, ), ), 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, values: [ Py( 0x00007f0cd7eea170, ), ], }, expected_repr: "'solid2d_add_hole'", name: "literal['solid2d_add_hole']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid2d_add_hole']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid2d_add_hole", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000c9b80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid2d_add_hole", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "along_vector", lookup_key: Simple { key: "along_vector", py_key: Py( 0x00007f0cd7b842f0, ), path: LookupPath( [ S( "along_vector", Py( 0x00007f0cd7b84330, ), ), ], ), }, name_py: Py( 0x00007f0cd7eea330, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8ec10, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8ec40, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b843b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84230, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ec70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8eca0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23a50, ), ), 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, values: [ Py( 0x00007f0cdca23a50, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_all_opposite_edges", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000cc900, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_get_all_opposite_edges", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8ecd0, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8ed00, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b8ed30, ), path: LookupPath( [ S( "face_id", Py( 0x00007f0cd7b8ed60, ), ), ], ), }, name_py: Py( 0x00007f0cdc1ce670, ), 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( 0x00007f0cd7b842b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84170, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ed90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8edc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23c30, ), ), 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, values: [ Py( 0x00007f0cdca23c30, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_opposite_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000cfaa0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_get_opposite_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8edf0, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8ee20, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b8ee50, ), path: LookupPath( [ S( "face_id", Py( 0x00007f0cd7b8ee80, ), ), ], ), }, name_py: Py( 0x00007f0cdc1ce670, ), 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( 0x00007f0cd7b840f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84030, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8eeb0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8eee0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23b90, ), ), 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, values: [ Py( 0x00007f0cdca23b90, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_next_adjacent_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000d2c10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_get_next_adjacent_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8ef10, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8ef40, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b8ef70, ), path: LookupPath( [ S( "face_id", Py( 0x00007f0cd7b8efa0, ), ), ], ), }, name_py: Py( 0x00007f0cdc1ce670, ), 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( 0x00007f0cd7b840b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b84130, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8efd0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f000, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23c80, ), ), 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, values: [ Py( 0x00007f0cdca23c80, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_prev_adjacent_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000d7e60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_get_prev_adjacent_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "cut_type", lookup_key: Simple { key: "cut_type", py_key: Py( 0x00007f0cd7b935b0, ), path: LookupPath( [ S( "cut_type", Py( 0x00007f0cd7b93770, ), ), ], ), }, name_py: Py( 0x00007f0cdcd63830, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdc03e640, ), ), on_error: Raise, validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffcaf110, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "fillet": 0, "chamfer": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc059a30, ), Py( 0x00007f0cdc059af0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b8f030, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b8f060, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b930f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b93670, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "radius", lookup_key: Simple { key: "radius", py_key: Py( 0x00007f0cd7b8f090, ), path: LookupPath( [ S( "radius", Py( 0x00007f0cd7b8f0c0, ), ), ], ), }, name_py: Py( 0x00007f0cdeea1b90, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a4c800, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "tolerance", lookup_key: Simple { key: "tolerance", py_key: Py( 0x00007f0cd7b934b0, ), path: LookupPath( [ S( "tolerance", Py( 0x00007f0cd7b937f0, ), ), ], ), }, name_py: Py( 0x00007f0cdec52470, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a4c800, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f0f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f120, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eea5f0, ), ), 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, values: [ Py( 0x00007f0cd7eea5f0, ), ], }, expected_repr: "'solid3d_fillet_edge'", name: "literal['solid3d_fillet_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_fillet_edge']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_fillet_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000db7e0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_fillet_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b933b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b93630, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f150, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f180, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf0370, ), ), 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, values: [ Py( 0x00007f0cdccf0370, ), ], }, expected_repr: "'face_is_planar'", name: "literal['face_is_planar']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_is_planar']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "face_is_planar", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000df1a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "face_is_planar", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b93af0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b931b0, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f1b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f1e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf03f0, ), ), 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, values: [ Py( 0x00007f0cdccf03f0, ), ], }, expected_repr: "'face_get_position'", name: "literal['face_get_position']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_position']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "uv", lookup_key: Simple { key: "uv", py_key: Py( 0x00007f0cd7b8f210, ), path: LookupPath( [ S( "uv", Py( 0x00007f0cd7b8f240, ), ), ], ), }, name_py: Py( 0x00007f0cdcfd2940, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "face_get_position", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000e2b60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "face_get_position", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b932f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b936f0, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f270, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f2a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf05f0, ), ), 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, values: [ Py( 0x00007f0cdccf05f0, ), ], }, expected_repr: "'face_get_center'", name: "literal['face_get_center']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_center']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "face_get_center", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000e7de0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "face_get_center", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b935f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b93570, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f2d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f300, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf04b0, ), ), 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, values: [ Py( 0x00007f0cdccf04b0, ), ], }, expected_repr: "'face_get_gradient'", name: "literal['face_get_gradient']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_gradient']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "uv", lookup_key: Simple { key: "uv", py_key: Py( 0x00007f0cd7b8f330, ), path: LookupPath( [ S( "uv", Py( 0x00007f0cd7b8f360, ), ), ], ), }, name_py: Py( 0x00007f0cdcfd2940, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "face_get_gradient", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000eac50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "face_get_gradient", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "front", lookup_key: Simple { key: "front", py_key: Py( 0x00007f0cd7b8f390, ), path: LookupPath( [ S( "front", Py( 0x00007f0cd7b8f3c0, ), ), ], ), }, name_py: Py( 0x00007f0cdcef2d30, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f0cd7b932b0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b93430, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f3f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f420, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeacf0, ), ), 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, values: [ Py( 0x00007f0cd7eeacf0, ), ], }, expected_repr: "'send_object'", name: "literal['send_object']", }, ), validate_default: false, copy_default: false, name: "default[literal['send_object']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "send_object", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000ef190, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "send_object", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b93330, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b93830, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "opacity", lookup_key: Simple { key: "opacity", py_key: Py( 0x00007f0cd7b8f450, ), path: LookupPath( [ S( "opacity", Py( 0x00007f0cd7b8f480, ), ), ], ), }, name_py: Py( 0x00007f0ce02ced90, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f4b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f4e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeae30, ), ), 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, values: [ Py( 0x00007f0cd7eeae30, ), ], }, expected_repr: "'entity_set_opacity'", name: "literal['entity_set_opacity']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_set_opacity']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_set_opacity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000f2070, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_set_opacity", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "duration_seconds", lookup_key: Simple { key: "duration_seconds", py_key: Py( 0x00007f0cd7b934f0, ), path: LookupPath( [ S( "duration_seconds", Py( 0x00007f0cd7b92eb0, ), ), ], ), }, name_py: Py( 0x00007f0cd7eeb0b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccb6550, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b933f0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b93230, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), 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( 0x00007f0cd7b8f510, ), path: LookupPath( [ S( "fade_in", Py( 0x00007f0cd7b8f540, ), ), ], ), }, name_py: Py( 0x00007f0cd7eec120, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f570, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f5a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeafb0, ), ), 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, values: [ Py( 0x00007f0cd7eeafb0, ), ], }, expected_repr: "'entity_fade'", name: "literal['entity_fade']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_fade']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "entity_fade", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000f6510, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "entity_fade", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "clobber", lookup_key: Simple { key: "clobber", py_key: Py( 0x00007f0cd7b8f5d0, ), path: LookupPath( [ S( "clobber", Py( 0x00007f0cd7b8f600, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec16e0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "hide", lookup_key: Simple { key: "hide", py_key: Py( 0x00007f0cd7b8f630, ), path: LookupPath( [ S( "hide", Py( 0x00007f0cd7b8f660, ), ), ], ), }, name_py: Py( 0x00007f0cedbffd80, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py( 0x00007f0cd7b8f690, ), path: LookupPath( [ S( "origin", Py( 0x00007f0cd7b8f6c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43b060, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "size", lookup_key: Simple { key: "size", py_key: Py( 0x00007f0cd7b8f6f0, ), path: LookupPath( [ S( "size", Py( 0x00007f0cd7b8f720, ), ), ], ), }, name_py: Py( 0x00007f0cef43c098, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x00005568ffb745f0, ), config: Py( 0x00007f0cd7a4e4c0, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f750, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f780, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeb1b0, ), ), 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, values: [ Py( 0x00007f0cd7eeb1b0, ), ], }, expected_repr: "'make_plane'", name: "literal['make_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['make_plane']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "x_axis", lookup_key: Simple { key: "x_axis", py_key: Py( 0x00007f0cd7b8f7b0, ), path: LookupPath( [ S( "x_axis", Py( 0x00007f0cd7b8f7e0, ), ), ], ), }, name_py: Py( 0x00007f0cd7fa0de0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "y_axis", lookup_key: Simple { key: "y_axis", py_key: Py( 0x00007f0cd7b8f810, ), path: LookupPath( [ S( "y_axis", Py( 0x00007f0cd7b8f840, ), ), ], ), }, name_py: Py( 0x00007f0cd7fa0ed0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "make_plane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000f9680, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "make_plane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f0cd7b8f870, ), path: LookupPath( [ S( "color", Py( 0x00007f0cd7b8f8a0, ), ), ], ), }, name_py: Py( 0x00007f0cee43da40, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), frozen: false, }, Field { name: "plane_id", lookup_key: Simple { key: "plane_id", py_key: Py( 0x00007f0cd7b930b0, ), path: LookupPath( [ S( "plane_id", Py( 0x00007f0cd7b93370, ), ), ], ), }, name_py: Py( 0x00007f0cd7eeb3f0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f8d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f900, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeb2b0, ), ), 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, values: [ Py( 0x00007f0cd7eeb2b0, ), ], }, expected_repr: "'plane_set_color'", name: "literal['plane_set_color']", }, ), validate_default: false, copy_default: false, name: "default[literal['plane_set_color']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "plane_set_color", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569000fc770, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "plane_set_color", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "tool", lookup_key: Simple { key: "tool", py_key: Py( 0x00007f0cd7b8f930, ), path: LookupPath( [ S( "tool", Py( 0x00007f0cd7b8f960, ), ), ], ), }, name_py: Py( 0x00007f0cdfeecff0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568fffe40d0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "sketch_curve": 5, "camera_revolve": 0, "sketch_line": 3, "sketch_tangential_arc": 4, "select": 1, "move": 2, "sketch_curve_mod": 6, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7e9b830, ), Py( 0x00007f0cd7e9b770, ), Py( 0x00007f0cd7e9b890, ), Py( 0x00007f0cd7e9b8f0, ), Py( 0x00007f0cd7e9b950, ), Py( 0x00007f0cd7e9b9b0, ), Py( 0x00007f0cd7e9ba10, ), ], }, 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( 0x00007f0cd7b8f990, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8f9c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeb570, ), ), 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, values: [ Py( 0x00007f0cd7eeb570, ), ], }, expected_repr: "'set_tool'", name: "literal['set_tool']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_tool']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "set_tool", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001002f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_tool", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f0cd7b93a70, ), path: LookupPath( [ S( "sequence", Py( 0x00007f0cd7b93730, ), ), ], ), }, name_py: Py( 0x00007f0cef43bde8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8f9f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fa20, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cde0ccc70, ), ), 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, values: [ Py( 0x00007f0cde0ccc70, ), ], }, expected_repr: "'mouse_move'", name: "literal['mouse_move']", }, ), validate_default: false, copy_default: false, name: "default[literal['mouse_move']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b8fa50, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b8fa80, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "mouse_move", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900106790, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "mouse_move", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fab0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fae0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdc9fc670, ), ), 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, values: [ Py( 0x00007f0cdc9fc670, ), ], }, expected_repr: "'mouse_click'", name: "literal['mouse_click']", }, ), validate_default: false, copy_default: false, name: "default[literal['mouse_click']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b8fb10, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b8fb40, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "mouse_click", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690010b230, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "mouse_click", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fb70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fba0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eeb930, ), ), 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, values: [ Py( 0x00007f0cd7eeb930, ), ], }, expected_repr: "'sketch_mode_disable'", name: "literal['sketch_mode_disable']", }, ), validate_default: false, copy_default: false, name: "default[literal['sketch_mode_disable']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "sketch_mode_disable", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690011e770, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "sketch_mode_disable", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fbd0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fc00, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf2cf0, ), ), 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, values: [ Py( 0x00007f0cdccf2cf0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "get_sketch_mode_plane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900123020, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "get_sketch_mode_plane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "constraint_bound", lookup_key: Simple { key: "constraint_bound", py_key: Py( 0x00007f0cd7b92ef0, ), path: LookupPath( [ S( "constraint_bound", Py( 0x00007f0cd7b93170, ), ), ], ), }, name_py: Py( 0x00007f0cd7eebcf0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568fffb9550, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "partially_constrained": 1, "fully_constrained": 2, "unconstrained": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7e98dd0, ), Py( 0x00007f0cd7e98e90, ), Py( 0x00007f0cd7e98f50, ), ], }, 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( 0x00007f0cd7b92e30, ), path: LookupPath( [ S( "constraint_type", Py( 0x00007f0cd7b93130, ), ), ], ), }, name_py: Py( 0x00007f0cd7eebd70, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568fffba260, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "vertical": 1, "horizontal": 2, "equal_length": 3, "parallel": 4, "unconstrained": 0, "angle_between": 5, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7e9ab10, ), Py( 0x00007f0cd7e991f0, ), Py( 0x00007f0cd7e9ab70, ), Py( 0x00007f0cd7e9abd0, ), Py( 0x00007f0cd7e9ac30, ), Py( 0x00007f0cd7e9ac90, ), ], }, 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( 0x00007f0cd7b93470, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b938f0, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fc30, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fc60, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eebc70, ), ), 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, values: [ Py( 0x00007f0cd7eebc70, ), ], }, expected_repr: "'curve_set_constraint'", name: "literal['curve_set_constraint']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_set_constraint']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "curve_set_constraint", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900127220, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "curve_set_constraint", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "adjust_camera", lookup_key: Simple { key: "adjust_camera", py_key: Py( 0x00007f0cd7b92cb0, ), path: LookupPath( [ S( "adjust_camera", Py( 0x00007f0cd7b931f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7eebfb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "animated", lookup_key: Simple { key: "animated", py_key: Py( 0x00007f0cd7b93030, ), path: LookupPath( [ S( "animated", Py( 0x00007f0cd7b92ff0, ), ), ], ), }, name_py: Py( 0x00007f0cdd007eb0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f0cd7b92f30, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f0cd7b92c30, ), ), ], ), }, name_py: Py( 0x00007f0cd7f45ff0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "ortho", lookup_key: Simple { key: "ortho", py_key: Py( 0x00007f0cd7b8fc90, ), path: LookupPath( [ S( "ortho", Py( 0x00007f0cd7b8fcc0, ), ), ], ), }, name_py: Py( 0x00007f0cdcea9290, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "planar_normal", lookup_key: Simple { key: "planar_normal", py_key: Py( 0x00007f0cd7b92970, ), path: LookupPath( [ S( "planar_normal", Py( 0x00007f0cd7b92f70, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef0070, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fcf0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fd20, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7eebf70, ), ), 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, values: [ Py( 0x00007f0cd7eebf70, ), ], }, expected_repr: "'enable_sketch_mode'", name: "literal['enable_sketch_mode']", }, ), validate_default: false, copy_default: false, name: "default[literal['enable_sketch_mode']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "enable_sketch_mode", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001299b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "enable_sketch_mode", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f0cd7b8fd50, ), path: LookupPath( [ S( "color", Py( 0x00007f0cd7b8fd80, ), ), ], ), }, name_py: Py( 0x00007f0cee43da40, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Color", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fdb0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fde0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef01f0, ), ), 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, values: [ Py( 0x00007f0cd7ef01f0, ), ], }, expected_repr: "'set_background_color'", name: "literal['set_background_color']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_background_color']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "set_background_color", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690012c130, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_background_color", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f0cd7b8fe10, ), path: LookupPath( [ S( "color", Py( 0x00007f0cd7b8fe40, ), ), ], ), }, name_py: Py( 0x00007f0cee43da40, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8fe70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8fea0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec8b70, ), ), 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, values: [ Py( 0x00007f0cd7ec8b70, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "set_current_tool_properties", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900135380, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_current_tool_properties", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "color", lookup_key: Simple { key: "color", py_key: Py( 0x00007f0cd7b8fed0, ), path: LookupPath( [ S( "color", Py( 0x00007f0cd7b8ff00, ), ), ], ), }, name_py: Py( 0x00007f0cee43da40, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ff30, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ff60, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec8c60, ), ), 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, values: [ Py( 0x00007f0cd7ec8c60, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "set_default_system_properties", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690013ac20, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_default_system_properties", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f0cd7b92db0, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f0cd7b92fb0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f953b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b8ff90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b8ffc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd63a70, ), ), 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, values: [ Py( 0x00007f0cdcd63a70, ), ], }, expected_repr: "'curve_get_type'", name: "literal['curve_get_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_type']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "curve_get_type", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690013f390, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "curve_get_type", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f0cd7b92e70, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f0cd7b92d70, ), ), ], ), }, name_py: Py( 0x00007f0cd7f953b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38030, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38060, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca22740, ), ), 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, values: [ Py( 0x00007f0cdca22740, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "curve_get_control_points", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900144340, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "curve_get_control_points", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "format", lookup_key: Simple { key: "format", py_key: Py( 0x00007f0cd7b38090, ), path: LookupPath( [ S( "format", Py( 0x00007f0cd7b380c0, ), ), ], ), }, name_py: Py( 0x00007f0cef4390e8, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568fff3b8c0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "jpeg": 1, "png": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7f52db0, ), Py( 0x00007f0cd7f52e10, ), ], }, 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( 0x00007f0cd7b380f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38120, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca047f0, ), ), 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, values: [ Py( 0x00007f0cdca047f0, ), ], }, expected_repr: "'take_snapshot'", name: "literal['take_snapshot']", }, ), validate_default: false, copy_default: false, name: "default[literal['take_snapshot']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "take_snapshot", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900149250, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "take_snapshot", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "clobber", lookup_key: Simple { key: "clobber", py_key: Py( 0x00007f0cd7b38150, ), path: LookupPath( [ S( "clobber", Py( 0x00007f0cd7b38180, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec16e0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "gizmo_mode", lookup_key: Simple { key: "gizmo_mode", py_key: Py( 0x00007f0cd7b92bb0, ), path: LookupPath( [ S( "gizmo_mode", Py( 0x00007f0cd7b92d30, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef08b0, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b381b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b381e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef0870, ), ), 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, values: [ Py( 0x00007f0cd7ef0870, ), ], }, expected_repr: "'make_axes_gizmo'", name: "literal['make_axes_gizmo']", }, ), validate_default: false, copy_default: false, name: "default[literal['make_axes_gizmo']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "make_axes_gizmo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690014bf50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "make_axes_gizmo", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f0cd7b38210, ), path: LookupPath( [ S( "path_id", Py( 0x00007f0cd7b38240, ), ), ], ), }, name_py: Py( 0x00007f0cde749cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38270, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b382a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca06430, ), ), 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, values: [ Py( 0x00007f0cdca06430, ), ], }, expected_repr: "'path_get_info'", name: "literal['path_get_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_info']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "path_get_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690014ee90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "path_get_info", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f0cd7b382d0, ), path: LookupPath( [ S( "path_id", Py( 0x00007f0cd7b38300, ), ), ], ), }, name_py: Py( 0x00007f0cde749cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38330, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38360, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23640, ), ), 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, values: [ Py( 0x00007f0cdca23640, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "vertex_ids", lookup_key: Simple { key: "vertex_ids", py_key: Py( 0x00007f0cd7b929b0, ), path: LookupPath( [ S( "vertex_ids", Py( 0x00007f0cd7b92af0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef0b70, ), 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: "path_get_curve_uuids_for_vertices", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900151de0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "path_get_curve_uuids_for_vertices", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "index", lookup_key: Simple { key: "index", py_key: Py( 0x00007f0cd7b38390, ), path: LookupPath( [ S( "index", Py( 0x00007f0cd7b383c0, ), ), ], ), }, name_py: Py( 0x00007f0cef3fae20, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f0cd7b383f0, ), path: LookupPath( [ S( "path_id", Py( 0x00007f0cd7b38420, ), ), ], ), }, name_py: Py( 0x00007f0cde749cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38450, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38480, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdc9fdfb0, ), ), 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, values: [ Py( 0x00007f0cdc9fdfb0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "path_get_curve_uuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900154f60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "path_get_curve_uuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f0cd7b384b0, ), path: LookupPath( [ S( "path_id", Py( 0x00007f0cd7b384e0, ), ), ], ), }, name_py: Py( 0x00007f0cde749cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38510, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38540, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca06630, ), ), 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, values: [ Py( 0x00007f0cdca06630, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "path_get_vertex_uuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fe3b2020, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "path_get_vertex_uuids", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "path_id", lookup_key: Simple { key: "path_id", py_key: Py( 0x00007f0cd7b38570, ), path: LookupPath( [ S( "path_id", Py( 0x00007f0cd7b385a0, ), ), ], ), }, name_py: Py( 0x00007f0cde749cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b385d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38600, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca236e0, ), ), 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, values: [ Py( 0x00007f0cdca236e0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "path_get_sketch_target_uuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fe3b2b70, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "path_get_sketch_target_uuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38630, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38660, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef1070, ), ), 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, values: [ Py( 0x00007f0cd7ef1070, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b38690, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b386c0, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "handle_mouse_drag_start", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900157e30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "handle_mouse_drag_start", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f0cd7b92cf0, ), path: LookupPath( [ S( "sequence", Py( 0x00007f0cd7b93070, ), ), ], ), }, name_py: Py( 0x00007f0cef43bde8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b386f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38720, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef1270, ), ), 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, values: [ Py( 0x00007f0cd7ef1270, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b38750, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b38780, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "handle_mouse_drag_move", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690015ff80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "handle_mouse_drag_move", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b387b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b387e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef1430, ), ), 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, values: [ Py( 0x00007f0cd7ef1430, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b38810, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b38840, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "handle_mouse_drag_end", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900163210, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "handle_mouse_drag_end", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_ids", lookup_key: Simple { key: "object_ids", py_key: Py( 0x00007f0cd7b92df0, ), path: LookupPath( [ S( "object_ids", Py( 0x00007f0cd7b92a30, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef16f0, ), 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( 0x00007f0cd7b38870, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b388a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef1630, ), ), 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, values: [ Py( 0x00007f0cd7ef1630, ), ], }, expected_repr: "'remove_scene_objects'", name: "literal['remove_scene_objects']", }, ), validate_default: false, copy_default: false, name: "default[literal['remove_scene_objects']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "remove_scene_objects", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001672b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "remove_scene_objects", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "plane_id", lookup_key: Simple { key: "plane_id", py_key: Py( 0x00007f0cd7b93270, ), path: LookupPath( [ S( "plane_id", Py( 0x00007f0cd7b92b30, ), ), ], ), }, name_py: Py( 0x00007f0cd7eeb3f0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b388d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38900, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23820, ), ), 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, values: [ Py( 0x00007f0cdca23820, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "window", lookup_key: Simple { key: "window", py_key: Py( 0x00007f0cd7b38930, ), path: LookupPath( [ S( "window", Py( 0x00007f0cd7b38960, ), ), ], ), }, name_py: Py( 0x00007f0cea1ecb10, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "plane_intersect_and_project", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690016d600, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "plane_intersect_and_project", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f0cd7b92c70, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f0cd7b92470, ), ), ], ), }, name_py: Py( 0x00007f0cd7f953b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38990, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b389c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd63b30, ), ), 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, values: [ Py( 0x00007f0cdcd63b30, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "curve_get_end_points", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001711d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "curve_get_end_points", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "fps", lookup_key: Simple { key: "fps", py_key: Py( 0x00007f0cd7b389f0, ), path: LookupPath( [ S( "fps", Py( 0x00007f0cd7b38a20, ), ), ], ), }, name_py: Py( 0x00007f0cdee28030, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "height", lookup_key: Simple { key: "height", py_key: Py( 0x00007f0cd7b38a50, ), path: LookupPath( [ S( "height", Py( 0x00007f0cd7b38a80, ), ), ], ), }, name_py: Py( 0x00007f0cedd74a20, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38ab0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38ae0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef1b30, ), ), 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, values: [ Py( 0x00007f0cd7ef1b30, ), ], }, expected_repr: "'reconfigure_stream'", name: "literal['reconfigure_stream']", }, ), validate_default: false, copy_default: false, name: "default[literal['reconfigure_stream']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "width", lookup_key: Simple { key: "width", py_key: Py( 0x00007f0cd7b38b10, ), path: LookupPath( [ S( "width", Py( 0x00007f0cd7b38b40, ), ), ], ), }, name_py: Py( 0x00007f0cee90b1b0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, ], model_name: "reconfigure_stream", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000556900174250, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "reconfigure_stream", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "files", lookup_key: Simple { key: "files", py_key: Py( 0x00007f0cd7b38c30, ), path: LookupPath( [ S( "files", Py( 0x00007f0cd7b38c60, ), ), ], ), }, name_py: Py( 0x00007f0cef3f0ca0, ), 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( 0x00007f0cd7b38b70, ), path: LookupPath( [ S( "data", Py( 0x00007f0cd7b38ba0, ), ), ], ), }, name_py: Py( 0x00007f0cef438240, ), validator: Bytes( BytesValidator { strict: false, }, ), frozen: false, }, Field { name: "path", lookup_key: Simple { key: "path", py_key: Py( 0x00007f0cd7b38bd0, ), path: LookupPath( [ S( "path", Py( 0x00007f0cd7b38c00, ), ), ], ), }, name_py: Py( 0x00007f0cef43b228, ), 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( 0x00005568fff3bca0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), 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( 0x00007f0cd7b39170, ), path: LookupPath( [ S( "format", Py( 0x00007f0cd7b391a0, ), ), ], ), }, name_py: Py( 0x00007f0cef4390e8, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f0cef43cbf8, ), path: LookupPath( [ S( "type", Py( 0x00007f0cef43cbf8, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "fbx": 0, "ply": 3, "sldprt": 4, "obj": 2, "step": 5, "stl": 6, "gltf": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38c90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38cc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7b840, ), ), 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, values: [ Py( 0x00007f0cdcb7b840, ), ], }, expected_repr: "'fbx'", name: "literal['fbx']", }, ), validate_default: false, copy_default: false, name: "default[literal['fbx']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "fbx", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffa95160, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "fbx", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38cf0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38d20, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7ba20, ), ), 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, values: [ Py( 0x00007f0cdcb7ba20, ), ], }, expected_repr: "'gltf'", name: "literal['gltf']", }, ), validate_default: false, copy_default: false, name: "default[literal['gltf']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "gltf", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffa96470, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "gltf", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b38d50, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b38d80, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38db0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38de0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef43ad28, ), ), 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, values: [ Py( 0x00007f0cef43ad28, ), ], }, expected_repr: "'obj'", name: "literal['obj']", }, ), validate_default: false, copy_default: false, name: "default[literal['obj']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f0cd7b38e10, ), path: LookupPath( [ S( "units", Py( 0x00007f0cd7b38e40, ), ), ], ), }, name_py: Py( 0x00007f0cee2198f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "obj", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffa97a90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "obj", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b38e70, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b38ea0, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38ed0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38f00, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7bbd0, ), ), 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, values: [ Py( 0x00007f0cdcb7bbd0, ), ], }, expected_repr: "'ply'", name: "literal['ply']", }, ), validate_default: false, copy_default: false, name: "default[literal['ply']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f0cd7b38f30, ), path: LookupPath( [ S( "units", Py( 0x00007f0cd7b38f60, ), ), ], ), }, name_py: Py( 0x00007f0cee2198f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "ply", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffaa2400, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "ply", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "split_closed_faces", lookup_key: Simple { key: "split_closed_faces", py_key: Py( 0x00007f0cd7b92b70, ), path: LookupPath( [ S( "split_closed_faces", Py( 0x00007f0cd7b92a70, ), ), ], ), }, name_py: Py( 0x00007f0cdc7afef0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef330d20, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38f90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b38fc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7bdb0, ), ), 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, values: [ Py( 0x00007f0cdcb7bdb0, ), ], }, expected_repr: "'sldprt'", name: "literal['sldprt']", }, ), validate_default: false, copy_default: false, name: "default[literal['sldprt']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "sldprt", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffaa6640, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "sldprt", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "split_closed_faces", lookup_key: Simple { key: "split_closed_faces", py_key: Py( 0x00007f0cd7b924f0, ), path: LookupPath( [ S( "split_closed_faces", Py( 0x00007f0cd7b929f0, ), ), ], ), }, name_py: Py( 0x00007f0cdc7afef0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef330d20, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b38ff0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39020, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef43c468, ), ), 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, values: [ Py( 0x00007f0cef43c468, ), ], }, expected_repr: "'step'", name: "literal['step']", }, ), validate_default: false, copy_default: false, name: "default[literal['step']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "step", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffc6ba30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "step", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "coords", lookup_key: Simple { key: "coords", py_key: Py( 0x00007f0cd7b39050, ), path: LookupPath( [ S( "coords", Py( 0x00007f0cd7b39080, ), ), ], ), }, name_py: Py( 0x00007f0ceda713e0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b390b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b390e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcb7bd80, ), ), 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, values: [ Py( 0x00007f0cdcb7bd80, ), ], }, expected_repr: "'stl'", name: "literal['stl']", }, ), validate_default: false, copy_default: false, name: "default[literal['stl']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "units", lookup_key: Simple { key: "units", py_key: Py( 0x00007f0cd7b39110, ), path: LookupPath( [ S( "units", Py( 0x00007f0cd7b39140, ), ), ], ), }, name_py: Py( 0x00007f0cee2198f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "stl", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffc6db50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "stl", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'fbx', 'gltf', 'obj', 'ply', 'sldprt', 'step', 'stl'", discriminator_repr: "'type'", name: "tagged-union[fbx,gltf,obj,ply,sldprt,step,stl]", }, ), class: Py( 0x00005568ffc72670, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f0cde289e70, ), name: "RootModel[Annotated[Union[fbx, gltf, obj, ply, sldprt, step, stl], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b391d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39200, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf2170, ), ), 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, values: [ Py( 0x00007f0cdccf2170, ), ], }, expected_repr: "'import_files'", name: "literal['import_files']", }, ), validate_default: false, copy_default: false, name: "default[literal['import_files']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "import_files", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568ffa80b00, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "import_files", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39230, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39260, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef1df0, ), ), 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, values: [ Py( 0x00007f0cd7ef1df0, ), ], }, expected_repr: "'set_scene_units'", name: "literal['set_scene_units']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_scene_units']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "unit", lookup_key: Simple { key: "unit", py_key: Py( 0x00007f0cd7b39290, ), path: LookupPath( [ S( "unit", Py( 0x00007f0cd7b392c0, ), ), ], ), }, name_py: Py( 0x00007f0ceda7aac0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "set_scene_units", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690017ddf0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_scene_units", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f0cd7b92830, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f0cd7b923f0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cd7b92bf0, ), path: LookupPath( [ S( "material_density", Py( 0x00007f0cd7b92870, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a6f0, ), 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( 0x00007f0cd7b92670, ), path: LookupPath( [ S( "material_density_unit", Py( 0x00007f0cd7b927f0, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a670, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f0cd7b928b0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f0cd7b921b0, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a7f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b392f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39320, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdd06efd0, ), ), 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, values: [ Py( 0x00007f0cdd06efd0, ), ], }, expected_repr: "'mass'", name: "literal['mass']", }, ), validate_default: false, copy_default: false, name: "default[literal['mass']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "mass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690017e4e0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "mass", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f0cd7b92ab0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f0cd7b92730, ), ), ], ), }, name_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cd7b925b0, ), path: LookupPath( [ S( "material_mass", Py( 0x00007f0cd7b92330, ), ), ], ), }, name_py: Py( 0x00007f0cdc7c5c30, ), 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( 0x00007f0cd7b927b0, ), path: LookupPath( [ S( "material_mass_unit", Py( 0x00007f0cd7b92930, ), ), ], ), }, name_py: Py( 0x00007f0cdc7c6af0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f0cd7b925f0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f0cd7b92430, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a7f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39350, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39380, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0ced35d740, ), ), 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, values: [ Py( 0x00007f0ced35d740, ), ], }, expected_repr: "'density'", name: "literal['density']", }, ), validate_default: false, copy_default: false, name: "default[literal['density']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "density", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001912d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "density", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f0cd7b90330, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f0cd7b90030, ), ), ], ), }, name_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cd7b903f0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f0cd7b90770, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a7f0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffc15f40, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "cm3": 0, "yd3": 4, "ml": 8, "usfloz": 5, "l": 7, "m3": 3, "ft3": 1, "in3": 2, "usgal": 6, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc1e8bf0, ), Py( 0x00007f0cdc1e8c50, ), Py( 0x00007f0cdc1e8cb0, ), Py( 0x00007f0cdc1e8d10, ), Py( 0x00007f0cdc1e8d70, ), Py( 0x00007f0cdc1e8dd0, ), Py( 0x00007f0cdc1e8e30, ), Py( 0x00007f0cdc1e8e90, ), Py( 0x00007f0cdc1e8ef0, ), ], }, 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( 0x00007f0cd7b393b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b393e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef43ce50, ), ), 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, values: [ Py( 0x00007f0cef43ce50, ), ], }, expected_repr: "'volume'", name: "literal['volume']", }, ), validate_default: false, copy_default: false, name: "default[literal['volume']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "volume", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001945d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "volume", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f0cd7b902f0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f0cd7b901b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cd7b900b0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f0cd7b900f0, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a7f0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39410, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39440, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdce81c30, ), ), 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, values: [ Py( 0x00007f0cdce81c30, ), ], }, expected_repr: "'center_of_mass'", name: "literal['center_of_mass']", }, ), validate_default: false, copy_default: false, name: "default[literal['center_of_mass']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "center_of_mass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001988a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "center_of_mass", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f0cd7b90230, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f0cd7b90470, ), ), ], ), }, name_py: Py( 0x00007f0cd7f444f0, ), 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( 0x00007f0cd7b905b0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f0cd7b90630, ), ), ], ), }, name_py: Py( 0x00007f0cdc92a7f0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffc13820, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "km2": 4, "m2": 5, "ft2": 2, "yd2": 7, "dm2": 1, "mm2": 6, "cm2": 0, "in2": 3, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cdc1e85f0, ), Py( 0x00007f0cdc1e8650, ), Py( 0x00007f0cdc1e86b0, ), Py( 0x00007f0cdc1e8710, ), Py( 0x00007f0cdc1e8770, ), Py( 0x00007f0cdc1e87d0, ), Py( 0x00007f0cdc1e8830, ), Py( 0x00007f0cdc1e8890, ), ], }, 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( 0x00007f0cd7b39470, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b394a0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca04af0, ), ), 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, values: [ Py( 0x00007f0cdca04af0, ), ], }, expected_repr: "'surface_area'", name: "literal['surface_area']", }, ), validate_default: false, copy_default: false, name: "default[literal['surface_area']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "surface_area", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055690019cce0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "surface_area", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b394d0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39500, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdcd637b0, ), ), 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, values: [ Py( 0x00007f0cdcd637b0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "uuid", lookup_key: Simple { key: "uuid", py_key: Py( 0x00007f0cd7b39530, ), path: LookupPath( [ S( "uuid", Py( 0x00007f0cd7b39560, ), ), ], ), }, name_py: Py( 0x00007f0cedbba8e0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "default_camera_focus_on", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001a0b20, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_focus_on", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "selection_type", lookup_key: Simple { key: "selection_type", py_key: Py( 0x00007f0cd7b90170, ), path: LookupPath( [ S( "selection_type", Py( 0x00007f0cd7b90130, ), ), ], ), }, name_py: Py( 0x00007f0cd7ec46b0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39590, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b395c0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef24b0, ), ), 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, values: [ Py( 0x00007f0cd7ef24b0, ), ], }, expected_repr: "'set_selection_type'", name: "literal['set_selection_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_selection_type']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "set_selection_type", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001a4290, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_selection_type", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "filter", lookup_key: Simple { key: "filter", py_key: Py( 0x00007f0cd7b395f0, ), path: LookupPath( [ S( "filter", Py( 0x00007f0cd7b39620, ), ), ], ), }, name_py: Py( 0x00007f0cee99a400, ), validator: List( ListValidator { strict: false, item_validator: Some( StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x00005568ffcf1010, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid2d": 4, "entity": 0, "edge": 6, "vertex": 9, "path": 2, "solid3d": 5, "face": 7, "object": 1, "curve": 3, "plane": 8, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7f500b0, ), Py( 0x00007f0cd7f50170, ), Py( 0x00007f0cd7f50110, ), Py( 0x00007f0cd7f501d0, ), Py( 0x00007f0cd7f50230, ), Py( 0x00007f0cd7f50290, ), Py( 0x00007f0cd7f502f0, ), Py( 0x00007f0cd7f50350, ), Py( 0x00007f0cd7f503b0, ), Py( 0x00007f0cd7f50410, ), ], }, 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( 0x00007f0cd7b39650, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39680, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ef26b0, ), ), 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, values: [ Py( 0x00007f0cd7ef26b0, ), ], }, expected_repr: "'set_selection_filter'", name: "literal['set_selection_filter']", }, ), validate_default: false, copy_default: false, name: "default[literal['set_selection_filter']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "set_selection_filter", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001a7c60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "set_selection_filter", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b396b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b396e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec97f0, ), ), 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, values: [ Py( 0x00007f0cd7ec97f0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "default_camera_set_orthographic", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001aabf0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_set_orthographic", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "parameters", lookup_key: Simple { key: "parameters", py_key: Py( 0x00007f0cd7b90070, ), path: LookupPath( [ S( "parameters", Py( 0x00007f0cd7b903b0, ), ), ], ), }, name_py: Py( 0x00007f0cee4828f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cd7b39710, ), path: LookupPath( [ S( "fov_y", Py( 0x00007f0cd7b39740, ), ), ], ), }, name_py: Py( 0x00007f0cdc8fbfc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "z_far", lookup_key: Simple { key: "z_far", py_key: Py( 0x00007f0cd7b39770, ), path: LookupPath( [ S( "z_far", Py( 0x00007f0cd7b397a0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea6640, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "z_near", lookup_key: Simple { key: "z_near", py_key: Py( 0x00007f0cd7b397d0, ), path: LookupPath( [ S( "z_near", Py( 0x00007f0cd7b39800, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea6730, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cef347100, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "PerspectiveCameraParameters", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005568fffe03a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "PerspectiveCameraParameters", }, ), name: "nullable[PerspectiveCameraParameters]", }, ), validate_default: false, copy_default: false, name: "default[nullable[PerspectiveCameraParameters]]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39830, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39860, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7ec9a20, ), ), 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, values: [ Py( 0x00007f0cd7ec9a20, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "default_camera_set_perspective", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001adc80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "default_camera_set_perspective", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_ids", lookup_key: Simple { key: "object_ids", py_key: Py( 0x00007f0cd7b90430, ), path: LookupPath( [ S( "object_ids", Py( 0x00007f0cd7b902b0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ef16f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7cd8d80, ), ), 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "padding", lookup_key: Simple { key: "padding", py_key: Py( 0x00007f0cd7b39890, ), path: LookupPath( [ S( "padding", Py( 0x00007f0cd7b398c0, ), ), ], ), }, name_py: Py( 0x00007f0cee43cff0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b398f0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39920, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdc9d5df0, ), ), 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, values: [ Py( 0x00007f0cdc9d5df0, ), ], }, expected_repr: "'zoom_to_fit'", name: "literal['zoom_to_fit']", }, ), validate_default: false, copy_default: false, name: "default[literal['zoom_to_fit']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "zoom_to_fit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001b1570, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "zoom_to_fit", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "padding", lookup_key: Simple { key: "padding", py_key: Py( 0x00007f0cd7b39950, ), path: LookupPath( [ S( "padding", Py( 0x00007f0cd7b39980, ), ), ], ), }, name_py: Py( 0x00007f0cee43cff0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7f0fc10, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b399b0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b399e0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdc9d6230, ), ), 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, values: [ Py( 0x00007f0cdc9d6230, ), ], }, expected_repr: "'view_isometric'", name: "literal['view_isometric']", }, ), validate_default: false, copy_default: false, name: "default[literal['view_isometric']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "view_isometric", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001b3ec0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "view_isometric", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge_id", lookup_key: Simple { key: "edge_id", py_key: Py( 0x00007f0cd7b39a10, ), path: LookupPath( [ S( "edge_id", Py( 0x00007f0cd7b39a40, ), ), ], ), }, name_py: Py( 0x00007f0cd7ea5470, ), 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( 0x00007f0cd7b901f0, ), path: LookupPath( [ S( "object_id", Py( 0x00007f0cd7b90530, ), ), ], ), }, name_py: Py( 0x00007f0ce02135b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39a70, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39aa0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca23af0, ), ), 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, values: [ Py( 0x00007f0cdca23af0, ), ], }, 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( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_extrusion_face_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001b99f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "solid3d_get_extrusion_face_info", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39ad0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39b00, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7d36ff0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "edit_mode_exit": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f0cd7d36ff0, ), ], }, expected_repr: "'edit_mode_exit'", name: "literal['edit_mode_exit']", }, ), validate_default: false, copy_default: false, name: "default[literal['edit_mode_exit']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "edit_mode_exit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001bd090, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "edit_mode_exit", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39b30, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39b60, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cd7d371f0, ), ), 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, values: [ Py( 0x00007f0cd7d371f0, ), ], }, expected_repr: "'select_clear'", name: "literal['select_clear']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_clear']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "select_clear", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001c00c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "select_clear", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39b90, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39bc0, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdca040b0, ), ), 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, values: [ Py( 0x00007f0cdca040b0, ), ], }, expected_repr: "'select_get'", name: "literal['select_get']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_get']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "select_get", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001c3270, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "select_get", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f0cd7b39bf0, ), path: LookupPath( [ S( "type", Py( 0x00007f0cd7b39c20, ), ), ], ), }, name_py: Py( 0x00007f0cef43cbf8, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f0cdccf2b30, ), ), 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, values: [ Py( 0x00007f0cdccf2b30, ), ], }, expected_repr: "'get_num_objects'", name: "literal['get_num_objects']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_num_objects']]", undefined: Py( 0x00007f0cde289e70, ), }, ), frozen: false, }, ], model_name: "get_num_objects", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569001c5ce0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "get_num_objects", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'start_path', 'move_path_pen', 'extend_path', 'extrude', 'revolve', 'solid3d_shell_face', 'revolve_about_edge', 'close_path', 'camera_drag_start', 'camera_drag_move', 'camera_drag_end', 'default_camera_get_settings', 'default_camera_look_at', 'default_camera_perspective_settings', 'default_camera_zoom', '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_linear_pattern_transform', 'entity_linear_pattern', 'entity_circular_pattern', 'entity_make_helix', 'entity_mirror', 'entity_mirror_across_edge', 'edit_mode_enter', '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_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', 'set_background_color', 'set_current_tool_properties', 'set_default_system_properties', 'curve_get_type', 'curve_get_control_points', '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', 'zoom_to_fit', 'view_isometric', 'solid3d_get_extrusion_face_info', 'edit_mode_exit', 'select_clear', 'select_get', 'get_num_objects'", discriminator_repr: "'type'", name: "tagged-union[start_path,move_path_pen,extend_path,extrude,revolve,solid3d_shell_face,revolve_about_edge,close_path,camera_drag_start,camera_drag_move,camera_drag_end,default_camera_get_settings,default_camera_look_at,default_camera_perspective_settings,default_camera_zoom,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_linear_pattern_transform,entity_linear_pattern,entity_circular_pattern,entity_make_helix,entity_mirror,entity_mirror_across_edge,edit_mode_enter,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_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,set_background_color,set_current_tool_properties,set_default_system_properties,curve_get_type,curve_get_control_points,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,zoom_to_fit,view_isometric,solid3d_get_extrusion_face_info,edit_mode_exit,select_clear,select_get,get_num_objects]", }, ), class: Py( 0x00005569001ccf50, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f0cde289e70, ), name: "RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "cmd_id", lookup_key: Simple { key: "cmd_id", py_key: Py( 0x00007f0cd7b39cb0, ), path: LookupPath( [ S( "cmd_id", Py( 0x00007f0cd7b39ce0, ), ), ], ), }, name_py: Py( 0x00007f0cd7ba7510, ), validator: FunctionAfter( FunctionAfterValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), func: Py( 0x00005568fff88d20, ), config: Py( 0x00007f0cd7a6d300, ), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false, }, ), frozen: false, }, ], model_name: "ModelingCmdReq", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x00005569002f0e90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f0cde289e70, ), name: "ModelingCmdReq", }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "forward", lookup_key: Simple { key: "forward", py_key: Py(0x7f0cd7ba7780), path: LookupPath([S("forward", Py(0x7f0cd7ba76f0))]) }, name_py: Py(0x7f0cdef36eb0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py(0x7f0cd7ba7630), path: LookupPath([S("up", Py(0x7f0cd7ba7660))]) }, name_py: Py(0x7f0cee0630f0), 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(0x5568ffa9ecf0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "System" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "index", lookup_key: Simple { key: "index", py_key: Py(0x7f0cd7ba7750), path: LookupPath([S("index", Py(0x7f0cd7ba7930))]) }, name_py: Py(0x7f0cef3fae20), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f0cd7ba7870), path: LookupPath([S("type", Py(0x7f0cd7ba77e0))]) }, name_py: Py(0x7f0cef43cbf8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cdc79ffb0)), 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, values: [Py(0x7f0cdc79ffb0)] }, expected_repr: "'scene_by_index'", name: "literal['scene_by_index']" }), validate_default: false, copy_default: false, name: "default[literal['scene_by_index']]", undefined: Py(0x7f0cde289e70) }), frozen: false }], model_name: "scene_by_index", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x5568ffbcf4e0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "scene_by_index" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "axis", lookup_key: Simple { key: "axis", py_key: Py(0x7f0cd7f57930), path: LookupPath([S("axis", Py(0x7f0cd7ba7600))]) }, name_py: Py(0x7f0ceda74c60), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "direction", lookup_key: Simple { key: "direction", py_key: Py(0x7f0cdc1724b0), path: LookupPath([S("direction", Py(0x7f0cd7c431f0))]) }, name_py: Py(0x7f0cee0b2af0), 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(0x5568ffa9c430), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "AxisDirectionPair" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ff982ca0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"z": 1, "y": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc7ddeb0), Py(0x7f0cdc7ddf10)] }, 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(0x5568fffe3090), 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, values: [Py(0x7f0cd7e9b530), Py(0x7f0cd7e9b650), Py(0x7f0cd7e9b5f0)] }, missing: None, expected_repr: "'replace', 'add' or 'remove'", strict: false, class_repr: "SceneSelectionType", name: "str-enum[SceneSelectionType]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "a", lookup_key: Simple { key: "a", py_key: Py(0x7f0cef43e378), path: LookupPath([S("a", Py(0x7f0cef43e378))]) }, name_py: Py(0x7f0cef436f50), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "b", lookup_key: Simple { key: "b", py_key: Py(0x7f0cef43e3a8), path: LookupPath([S("b", Py(0x7f0cef43e3a8))]) }, name_py: Py(0x7f0cef437370), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "g", lookup_key: Simple { key: "g", py_key: Py(0x7f0cef43e498), path: LookupPath([S("g", Py(0x7f0cef43e498))]) }, name_py: Py(0x7f0cef43e498), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "r", lookup_key: Simple { key: "r", py_key: Py(0x7f0cef43e6a8), path: LookupPath([S("r", Py(0x7f0cef43e6a8))]) }, name_py: Py(0x7f0cef43b710), 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(0x5568ff73ea80), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "Color" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ffa9ba30), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"positive": 0, "negative": 1}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc7de030), Py(0x7f0cdc7de090)] }, 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: "index", lookup_key: Simple { key: "index", py_key: Py(0x7f0cd7ba78d0), path: LookupPath([S("index", Py(0x7f0cd7ba79f0))]) }, name_py: Py(0x7f0cef3fae20), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f0cd7ba7a20), path: LookupPath([S("type", Py(0x7f0cd7ba7960))]) }, name_py: Py(0x7f0cef43cbf8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cdc799070)), 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, values: [Py(0x7f0cdc799070)] }, expected_repr: "'mesh_by_index'", name: "literal['mesh_by_index']" }), validate_default: false, copy_default: false, name: "default[literal['mesh_by_index']]", undefined: Py(0x7f0cde289e70) }), frozen: false }], model_name: "mesh_by_index", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x5568ff974d80), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "mesh_by_index" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ff88d5b0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"degrees": 0, "radians": 1}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc76ee10), Py(0x7f0cdc76ee70)] }, missing: None, expected_repr: "'degrees' or 'radians'", strict: false, class_repr: "UnitAngle", name: "str-enum[UnitAngle]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "unit", lookup_key: Simple { key: "unit", py_key: Py(0x7f0cd7b2ccc0), path: LookupPath([S("unit", Py(0x7f0cd7b2cba0))]) }, name_py: Py(0x7f0ceda7aac0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "value", lookup_key: Simple { key: "value", py_key: Py(0x7f0cd7b2cc30), path: LookupPath([S("value", Py(0x7f0cd7b2cc00))]) }, name_py: Py(0x7f0cef43cdc0), 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(0x5568ff732770), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "Angle" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f0cd7ba78a0), path: LookupPath([S("type", Py(0x7f0cd7ba7720))]) }, name_py: Py(0x7f0cef43cbf8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cdc79d1f0)), 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, values: [Py(0x7f0cdc79d1f0)] }, expected_repr: "'default_scene'", name: "literal['default_scene']" }), validate_default: false, copy_default: false, name: "default[literal['default_scene']]", undefined: Py(0x7f0cde289e70) }), frozen: false }], model_name: "default_scene", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x5568ffbce270), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "default_scene" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ff73d500), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"bottom": 0, "center": 1, "top": 2}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc76f4d0), Py(0x7f0cdc76f530), Py(0x7f0cdc76f590)] }, missing: None, expected_repr: "'bottom', 'center' or 'top'", strict: false, class_repr: "AnnotationTextAlignmentY", name: "str-enum[AnnotationTextAlignmentY]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7f0cd7ba7990), path: LookupPath([S("name", Py(0x7f0cd7ba79c0))]) }, name_py: Py(0x7f0cef43a950), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f0cd7ba7c60), path: LookupPath([S("type", Py(0x7f0cd7ba7c90))]) }, name_py: Py(0x7f0cef43cbf8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cdc798370)), 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, values: [Py(0x7f0cdc798370)] }, expected_repr: "'mesh_by_name'", name: "literal['mesh_by_name']" }), validate_default: false, copy_default: false, name: "default[literal['mesh_by_name']]", undefined: Py(0x7f0cde289e70) }), frozen: false }], model_name: "mesh_by_name", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x5568ff977620), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "mesh_by_name" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "point_size", lookup_key: Simple { key: "point_size", py_key: Py(0x7f0cd7c42630), path: LookupPath([S("point_size", Py(0x7f0cd7c400f0))]) }, name_py: Py(0x7f0cdc0f0b30), validator: Int(IntValidator { strict: false }), frozen: false }, Field { name: "text", lookup_key: Simple { key: "text", py_key: Py(0x7f0cd7ba7a50), path: LookupPath([S("text", Py(0x7f0cd7ba7a80))]) }, name_py: Py(0x7f0cef43c8f0), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f0cef43e7c8), path: LookupPath([S("x", Py(0x7f0cef43e7c8))]) }, name_py: Py(0x7f0cef43d0b8), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f0cef43e7f8), path: LookupPath([S("y", Py(0x7f0cef43e7f8))]) }, name_py: Py(0x7f0cef43e7f8), 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(0x5568ff73dbf0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "AnnotationTextOptions" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ffc14da0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"kg": 1, "lb": 2, "g": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc1e8a70), Py(0x7f0cdc1e8ad0), Py(0x7f0cdc1e8b30)] }, missing: None, expected_repr: "'g', 'kg' or 'lb'", strict: false, class_repr: "UnitMass", name: "str-enum[UnitMass]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "color", lookup_key: Simple { key: "color", py_key: Py(0x7f0cd7ba7ae0), path: LookupPath([S("color", Py(0x7f0cd7ba7c30))]) }, name_py: Py(0x7f0cee43da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cef347100)), 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(0x7f0cde289e70) }), frozen: false }, Field { name: "line_ends", lookup_key: Simple { key: "line_ends", py_key: Py(0x7f0cdc8e6c70), path: LookupPath([S("line_ends", Py(0x7f0cd7b500f0))]) }, name_py: Py(0x7f0cdcbead30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cef347100)), 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(0x7f0cde289e70) }), frozen: false }, Field { name: "line_width", lookup_key: Simple { key: "line_width", py_key: Py(0x7f0cd7b50630), path: LookupPath([S("line_width", Py(0x7f0cd7b50e70))]) }, name_py: Py(0x7f0ced271d30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cef347100)), 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(0x7f0cde289e70) }), frozen: false }, Field { name: "position", lookup_key: Simple { key: "position", py_key: Py(0x7f0cd7b501b0), path: LookupPath([S("position", Py(0x7f0cd7b50030))]) }, name_py: Py(0x7f0cedc14bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cef347100)), 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(0x7f0cde289e70) }), frozen: false }, Field { name: "text", lookup_key: Simple { key: "text", py_key: Py(0x7f0cd7ba7c00), path: LookupPath([S("text", Py(0x7f0cd7ba7b10))]) }, name_py: Py(0x7f0cef43c8f0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cef347100)), 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(0x7f0cde289e70) }), frozen: false }], model_name: "AnnotationOptions", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x5568ff739f20), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "AnnotationOptions" }), Model(ModelValidator { revalidate: Never, validator: TaggedUnion(TaggedUnionValidator { discriminator: LookupKey(Simple { key: "type", py_key: Py(0x7f0cef43cbf8), path: LookupPath([S("type", Py(0x7f0cef43cbf8))]) }), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"scene_by_index": 1, "scene_by_name": 2, "default_scene": 0, "mesh_by_index": 3, "mesh_by_name": 4}), expected_py_dict: None, expected_py_values: None, values: [DefinitionRef(DefinitionRefValidator { definition: "default_scene" }), DefinitionRef(DefinitionRefValidator { definition: "scene_by_index" }), DefinitionRef(DefinitionRefValidator { definition: "scene_by_name" }), DefinitionRef(DefinitionRefValidator { definition: "mesh_by_index" }), DefinitionRef(DefinitionRefValidator { definition: "mesh_by_name" })] }, 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[default_scene,scene_by_index,scene_by_name,mesh_by_index,mesh_by_name]" }), class: Py(0x5568ff979a40), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py(0x7f0cde289e70), name: "RootModel[Annotated[Union[default_scene, scene_by_index, scene_by_name, mesh_by_index, mesh_by_name], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ff73b5d0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"arrow": 1, "none": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc76ec90), Py(0x7f0cdc76eff0)] }, missing: None, expected_repr: "'none' or 'arrow'", strict: false, class_repr: "AnnotationLineEnd", name: "str-enum[AnnotationLineEnd]" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ffc26650), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"center": 1, "right": 2, "left": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc76f2f0), Py(0x7f0cdc76f350), Py(0x7f0cdc76f3b0)] }, 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: "end", lookup_key: Simple { key: "end", py_key: Py(0x7f0cd7ba7bd0), path: LookupPath([S("end", Py(0x7f0cd7ba7ba0))]) }, name_py: Py(0x7f0cef438900), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "start", lookup_key: Simple { key: "start", py_key: Py(0x7f0cd7ba7ab0), path: LookupPath([S("start", Py(0x7f0cd7ba7b40))]) }, name_py: Py(0x7f0cef43c340), 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(0x5568ff73bcc0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "AnnotationLineEndOptions" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ffaa8630), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"yd": 5, "ft": 1, "in": 2, "cm": 0, "mm": 4, "m": 3}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc7ddc70), Py(0x7f0cdc7de210), Py(0x7f0cdc7de1b0), Py(0x7f0cdc7de2d0), Py(0x7f0cdc7de330), Py(0x7f0cdc7de3f0)] }, 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: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f0cef43e7c8), path: LookupPath([S("x", Py(0x7f0cef43e7c8))]) }, name_py: Py(0x7f0cef43d0b8), validator: FunctionAfter(FunctionAfterValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), func: Py(0x5568ffb745f0), config: Py(0x7f0cd7a6dbc0), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f0cef43e7f8), path: LookupPath([S("y", Py(0x7f0cef43e7f8))]) }, name_py: Py(0x7f0cef43e7f8), validator: FunctionAfter(FunctionAfterValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), func: Py(0x5568ffb745f0), config: Py(0x7f0cd7a6dbc0), 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(0x5568fffbb0f0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "Point2d" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ffc146b0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"kg:m3": 1, "lb:ft3": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc1e8950), Py(0x7f0cdc1e89b0)] }, 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: "name", lookup_key: Simple { key: "name", py_key: Py(0x7f0cd7ba77b0), path: LookupPath([S("name", Py(0x7f0cd7ba7810))]) }, name_py: Py(0x7f0cef43a950), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py(0x7f0cd7ba7840), path: LookupPath([S("type", Py(0x7f0cd7ba7900))]) }, name_py: Py(0x7f0cef43cbf8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f0cdc799170)), 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, values: [Py(0x7f0cdc799170)] }, expected_repr: "'scene_by_name'", name: "literal['scene_by_name']" }), validate_default: false, copy_default: false, name: "default[literal['scene_by_name']]", undefined: Py(0x7f0cde289e70) }), frozen: false }], model_name: "scene_by_name", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x5568ff973290), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "scene_by_name" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x5568ffa651c0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"rotate": 1, "zoom": 2, "pan": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f0cdc1ea5d0), Py(0x7f0cdc1ea690), Py(0x7f0cdc1ea6f0)] }, missing: None, expected_repr: "'pan', 'rotate' or 'zoom'", strict: false, class_repr: "CameraDragInteractionType", name: "str-enum[CameraDragInteractionType]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f0cef43e7c8), path: LookupPath([S("x", Py(0x7f0cef43e7c8))]) }, name_py: Py(0x7f0cef43d0b8), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f0cef43e7f8), path: LookupPath([S("y", Py(0x7f0cef43e7f8))]) }, name_py: Py(0x7f0cef43e7f8), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f0cef43e828), path: LookupPath([S("z", Py(0x7f0cef43e828))]) }, name_py: Py(0x7f0cef43e828), 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(0x5568ff738b90), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f0cde289e70), name: "Point3d" })], cache_strings=True)[source]
- __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[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], cmd_id: kittycad.models.modeling_cmd_id.ModelingCmdId) -> None>[source]
- __slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
-
cmd:
RootModel[Annotated[Union[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], 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:`py 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_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]
A dictionary of computed field names and their corresponding
ComputedFieldInfo
objects.
- 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.
- model_copy(*, update=None, deep=False)[source]
Usage docs: https://docs.pydantic.dev/2.8/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.8/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
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – A set of fields to include in the output.exclude (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – A set of fields to exclude from the output.context (
Optional
[Any
]) – 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.8/concepts/serialization/#modelmodel_dump_json
Generates a JSON representation of the model using Pydantic’s
to_json
method.- Parameters:
indent (
Optional
[int
]) – Indentation to use in the JSON output. If None is passed, the output will be compact.include (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – Field(s) to include in the JSON output.exclude (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – Field(s) to exclude from the JSON output.context (
Optional
[Any
]) – 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[start_path, move_path_pen, extend_path, extrude, revolve, solid3d_shell_face, revolve_about_edge, close_path, camera_drag_start, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_look_at, default_camera_perspective_settings, default_camera_zoom, 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_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, entity_make_helix, entity_mirror, entity_mirror_across_edge, edit_mode_enter, 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_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, set_background_color, set_current_tool_properties, set_default_system_properties, curve_get_type, curve_get_control_points, 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, zoom_to_fit, view_isometric, solid3d_get_extrusion_face_info, edit_mode_exit, select_clear, select_get, get_num_objects], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'cmd_id': FieldInfo(annotation=ModelingCmdId, required=True)}[source]
Metadata about the fields defined on the model, mapping of field names to [
FieldInfo
][pydantic.fields.FieldInfo].This replaces
Model.__fields__
from Pydantic V1.
- 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
[dict
[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.8/concepts/json/#json-parsing
Validate the given JSON data against the Pydantic model.
- Parameters:
- Return type:
Self
- Returns:
The validated Pydantic model.
- Raises:
ValueError – If
json_data
is not a JSON string.
- 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