user: Give a detailed overview of S: syntax, arguments, return values, common patterns.

assistant: 3d)](bpy.ops.view3d.html#bpy.ops.view3d.snap_cursor_to_center) - [snap_cursor_to_grid() (in module bpy.ops.view3d)](bpy.ops.view3d.html#bpy.ops.view3d.snap_cursor_to_grid) - [snap_cursor_to_selected() (in module bpy.ops.grease_pencil)](bpy.ops.grease_pencil.html#bpy.ops.grease_pencil.snap_cursor_to_selected)   - [(in module bpy.ops.view3d)](bpy.ops.view3d.html#bpy.ops.view3d.snap_cursor_to_selected) - [snap_cursor_value() (in module bpy.ops.graph)](bpy.ops.graph.html#bpy.ops.graph.snap_cursor_value) - [snap_curves_to_surface() (in module bpy.ops.curves)](bpy.ops.curves.html#bpy.ops.curves.snap_curves_to_surface) - [snap_distance (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_distance) - [snap_elements (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_elements) - [snap_elements_base (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_elements_base) - [snap_elements_individual (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_elements_individual) - [snap_elements_tool (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_elements_tool) - [snap_face_nearest_steps (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_face_nearest_steps) - [snap_ignore_muted (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_ignore_muted) - [snap_ignore_sound (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_ignore_sound) - [snap_playhead_element (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_playhead_element) - [snap_playhead_frame_step (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_playhead_frame_step) - [snap_playhead_second_step (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_playhead_second_step) - [snap_selected() (in module bpy.ops.uv)](bpy.ops.uv.html#bpy.ops.uv.snap_selected) - [snap_selected_to_active() (in module bpy.ops.view3d)](bpy.ops.view3d.html#bpy.ops.view3d.snap_selected_to_active) - [snap_selected_to_cursor() (in module bpy.ops.view3d)](bpy.ops.view3d.html#bpy.ops.view3d.snap_selected_to_cursor) - [snap_selected_to_grid() (in module bpy.ops.view3d)](bpy.ops.view3d.html#bpy.ops.view3d.snap_selected_to_grid) - [snap_target (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_target) - [snap_to_borders (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_borders) - [snap_to_center (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_center) - [snap_to_current_frame (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_current_frame) - [snap_to_cursor() (in module bpy.ops.grease_pencil)](bpy.ops.grease_pencil.html#bpy.ops.grease_pencil.snap_to_cursor) - [snap_to_frame_range (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_frame_range) - [snap_to_grid() (in module bpy.ops.grease_pencil)](bpy.ops.grease_pencil.html#bpy.ops.grease_pencil.snap_to_grid) - [snap_to_hold_offset (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_hold_offset) - [snap_to_markers (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_markers) - [snap_to_retiming_keys (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_retiming_keys) - [snap_to_strips_preview (bpy.types.SequencerToolSettings attribute)](bpy.types.SequencerToolSettings.html#bpy.types.SequencerToolSettings.snap_to_strips_preview) - [snap_turn (bpy.types.XrNavigation attribute)](bpy.types.XrNavigation.html#bpy.types.XrNavigation.snap_turn) - [snap_uv_element (bpy.types.ToolSettings attribute)](bpy.types.ToolSettings.html#bpy.types.ToolSettings.snap_uv_element) - [sndparticle_boundary (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_boundary) - [sndparticle_bubble_buoyancy (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_bubble_buoyancy) - [sndparticle_bubble_drag (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_bubble_drag) - [sndparticle_combined_export (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_combined_export) - [sndparticle_life_max (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_life_max) - [sndparticle_life_min (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_life_min) - [sndparticle_potential_max_energy (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_max_energy) - [sndparticle_potential_max_trappedair (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_max_trappedair) - [sndparticle_potential_max_wavecrest (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_max_wavecrest) - [sndparticle_potential_min_energy (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_min_energy) - [sndparticle_potential_min_trappedair (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_min_trappedair) - [sndparticle_potential_min_wavecrest (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_min_wavecrest) - [sndparticle_potential_radius (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_potential_radius) - [sndparticle_sampling_trappedair (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_sampling_trappedair) - [sndparticle_sampling_wavecrest (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_sampling_wavecrest) - [sndparticle_update_radius (bpy.types.FluidDomainSettings attribute)](bpy.types.FluidDomainSettings.html#bpy.types.FluidDomainSettings.sndparticle_update_radius) - [socket_idname (bpy.types.NodeReroute attribute)](bpy.types.NodeReroute.html#bpy.types.NodeReroute.socket_idname) - [socket_type (bpy.types.ForeachGeometryElementGenerationItem attribute)](bpy.types.ForeachGeometryElementGenerationItem.html#bpy.types.ForeachGeometryElementGenerationItem.socket_type)   - [(bpy.types.ForeachGeometryElementInputItem attribute)](bpy.types.ForeachGeometryElementInputItem.html#bpy.types.ForeachGeometryElementInputItem.socket_type)   - [(bpy.types.ForeachGeometryElementMainItem attribute)](bpy.types.ForeachGeometryElementMainItem.html#bpy.types.ForeachGeometryElementMainItem.socket_type)   - [(bpy.types.NodeClosureInputItem attribute)](bpy.types.NodeClosureInputItem.html#bpy.types.NodeClosureInputItem.socket_type)   - [(bpy.types.NodeClosureOutputItem attribute)](bpy.types.NodeClosureOutputItem.html#bpy.types.NodeClosureOutputItem.socket_type)   - [(bpy.types.NodeCombineBundleItem attribute)](bpy.types.NodeCombineBundleItem.html#bpy.types.NodeCombineBundleItem.socket_type)   - [(bpy.types.NodeCompositorFileOutputItem attribute)](bpy.types.NodeCompositorFileOutputItem.html#bpy.types.NodeCompositorFileOutputItem.socket_type)   - [(bpy.types.NodeEvaluateClosureInputItem attribute)](bpy.types.NodeEvaluateClosureInputItem.html#bpy.types.NodeEvaluateClosureInputItem.socket_type)   - [(bpy.types.NodeEvaluateClosureOutputItem attribute)](bpy.types.NodeEvaluateClosureOutputItem.html#bpy.types.NodeEvaluateClosureOutputItem.socket_type)   - [(bpy.types.NodeFunctionFormatStringItem attribute)](bpy.types.NodeFunctionFormatStringItem.html#bpy.types.NodeFunctionFormatStringItem.socket_type)   - [(bpy.types.NodeGeometryBakeItem attribute)](bpy.types.NodeGeometryBakeItem.html#bpy.types.NodeGeometryBakeItem.socket_type)   - [(bpy.types.NodeGeometryViewerItem attribute)](bpy.types.NodeGeometryViewerItem.html#bpy.types.NodeGeometryViewerItem.socket_type)   - [(bpy.types.NodeSeparateBundleItem attribute)](bpy.types.NodeSeparateBundleItem.html#bpy.types.NodeSeparateBundleItem.socket_type)   - [(bpy.types.NodeTreeInterfaceSocket attribute)](bpy.types.NodeTreeInterfaceSocket.html#bpy.types.NodeTreeInterfaceSocket.socket_type)   - [(bpy.types.RepeatItem attribute)](bpy.types.RepeatItem.html#bpy.types.RepeatItem.socket_type)   - [(bpy.types.SimulationStateItem attribute)](bpy.types.SimulationStateItem.html#bpy.types.SimulationStateItem.socket_type) - [socket_value_update() (bpy.types.Node method)](bpy.types.Node.html#bpy.types.Node.socket_value_update) - [sockets_sync() (in module bpy.ops.node)](bpy.ops.node.html#bpy.ops.node.sockets_sync) - [soft_body (in module bpy.context)](bpy.context.html#bpy.context.soft_body) - [SoftBodyModifier (class in bpy.types)](bpy.types.SoftBodyModifier.html#bpy.types.SoftBodyModifier) - [SoftBodyModifier.point_cache (in module bpy.types)](bpy.types.SoftBodyModifier.html#bpy.types.SoftBodyModifier.point_cache) - [SoftBodyModifier.settings (in module bpy.types)](bpy.types.SoftBodyModifier.html#bpy.types.SoftBodyModifier.settings) - [SoftBodySettings (class in bpy.types)](bpy.types.SoftBodySettings.html#bpy.types.SoftBodySettings) - [SoftBodySettings.effector_weights (in module bpy.types)](bpy.types.SoftBodySettings.html#bpy.types.SoftBodySettings.effector_weights) - [solid_radius (bpy.types.DynamicPaintBrushSettings attribute)](bpy.types.DynamicPaintBrushSettings.html#bpy.types.DynamicPaintBrushSettings.solid_radius) - [solidify() (in module bmesh.ops)](bmesh.ops.html#bmesh.ops.solidify)   - [(in module bpy.ops.mesh)](bpy.ops.mesh.html#bpy.ops.mesh.solidify) - [solidify_mode (bpy.types.SolidifyModifier attribute)](bpy.types.SolidifyModifier.html#bpy.types.SolidifyModifier.solidify_mode) - [SolidifyModifier (class in bpy.types)](bpy.types.SolidifyModifier.html#bpy.types.SolidifyModifier) - [solve_camera() (in module bpy.ops.clip)](bpy.ops.clip.html#bpy.ops.clip.solve_camera) - [solver (bpy.types.BooleanModifier attribute)](bpy.types.BooleanModifier.html#bpy.types.BooleanModifier.solver)   - [(bpy.types.GeometryNodeMeshBoolean attribute)](bpy.types.GeometryNodeMeshBoolean.html#bpy.types.GeometryNodeMeshBoolean.solver)   - [(bpy.types.Itasc attribute)](bpy.types.Itasc.html#bpy.types.Itasc.solver)   - [(bpy.types.SPHFluidSettings attribute)](bpy.types.SPHFluidSettings.html#bpy.types.SPHFluidSettings.solver) - [solver_iterations (bpy.types.RigidBodyConstraint attribute)](bpy.types.RigidBodyConstraint.html#bpy.types.RigidBodyConstraint.solver_iterations)   - [(bpy.types.RigidBodyWorld attribute)](bpy.types.RigidBodyWorld.html#bpy.types.RigidBodyWorld.solver_iterations) - [sort() (bmesh.types.bmesh.types.BMEdgeSeq method)](bmesh.types.html#bmesh.types.bmesh.types.BMEdgeSeq.sort)   - [(bmesh.types.bmesh.types.BMFaceSeq method)](bmesh.types.html#bmesh.types.bmesh.types.BMFaceSeq.sort)   - [(bmesh.types.bmesh.types.BMVertSeq method)](bmesh.types.html#bmesh.types.bmesh.types.BMVertSeq.sort)   - [(bpy.types.FCurveKeyframePoints method)](bpy.types.FCurveKeyframePoints.html#bpy.types.FCurveKeyframePoints.sort)   - [(freestyle.types.freestyle.types.Operators static method)](freestyle.types.html#freestyle.types.freestyle.types.Operators.sort)   - [(in module bpy.ops.palette)](bpy.ops.palette.html#bpy.ops.palette.sort) - [sort_column_ui_context() (in module bpy.ops.file)](bpy.ops.file.html#bpy.ops.file.sort_column_ui_context) - [sort_elements() (in module bpy.ops.mesh)](bpy.ops.mesh.html#bpy.ops.mesh.sort_elements) - [sort_items_by_name() (bpy.types.UI_UL_list class method)](bpy.types.UI_UL_list.html#bpy.types.UI_UL_list.sort_items_by_name) - [sort_items_helper() (bpy.types.UI_UL_list static method)](bpy.types.UI_UL_list.html#bpy.types.UI_UL_list.sort_items_helper) - [sort_key (bpy.types.FreestyleLineStyle attribute)](bpy.types.FreestyleLineStyle.html#bpy.types.FreestyleLineStyle.sort_key) - [sort_method (bpy.types.FileSelectParams attribute)](bpy.types.FileSelectParams.html#bpy.types.FileSelectParams.sort_method)   - [(bpy.types.MovieTrackingDopesheet attribute)](bpy.types.MovieTrackingDopesheet.html#bpy.types.MovieTrackingDopesheet.sort_method) - [sort_order (bpy.types.FreestyleLineStyle attribute)](bpy.types.FreestyleLineStyle.html#bpy.types.FreestyleLineStyle.sort_order) - [sound (aud.aud.SequenceEntry attribute)](aud.html#aud.aud.SequenceEntry.sound)   - [(bpy.types.SoundStrip attribute)](bpy.types.SoundStrip.html#bpy.types.SoundStrip.sound)   - [(bpy.types.Speaker attribute)](bpy.types.Speaker.html#bpy.types.Speaker.sound) - [Sound (class in bpy.types)](bpy.types.Sound.html#bpy.types.Sound) - [Sound.channels (in module bpy.types)](bpy.types.Sound.html#bpy.types.Sound.channels) - [Sound.factory (in module bpy.types)](bpy.types.Sound.html#bpy.types.Sound.factory) - [Sound.packed_file (in module bpy.types)](bpy.types.Sound.html#bpy.types.Sound.packed_file) - [Sound.samplerate (in module bpy.types)](bpy.types.Sound.html#bpy.types.Sound.samplerate) - [sound_directory (bpy.types.PreferencesFilePaths attribute)](bpy.types.PreferencesFilePaths.html#bpy.types.PreferencesFilePaths.sound_directory) - [sound_offset (bpy.types.SoundStrip attribute)](bpy.types.SoundStrip.html#bpy.types.SoundStrip.sound_offset) - [sound_strip_add() (in module bpy.ops.sequencer)](bpy.ops.sequencer.html#bpy.ops.sequencer.sound_strip_add) - [sound_strips (bpy.types.ThemeNLAEditor attribute)](bpy.types.ThemeNLAEditor.html#bpy.types.ThemeNLAEditor.sound_strips) - [sound_strips_selected (bpy.types.ThemeNLAEditor attribute)](bpy.types.ThemeNLAEditor.html#bpy.types.ThemeNLAEditor.sound_strips_selected) - [sound_to_samples() (in module bpy.ops.graph)](bpy.ops.graph.html#bpy.ops.graph.sound_to_samples) - [soundclip_add() (in module bpy.ops.nla)](bpy.ops.nla.html#bpy.ops.nla.soundclip_add) - [SoundEqualizerModifier (class in bpy.types)](bpy.types.SoundEqualizerModifier.html#bpy.types.SoundEqualizerModifier) - [SoundEqualizerModifier.graphics (in module bpy.types)](bpy.types.SoundEqualizerModifier.html#bpy.types.SoundEqualizerModifier.graphics) - [SoundStrip (class in bpy.types)](bpy.types.SoundStrip.html#bpy.types.SoundStrip) - [SoundStrip.retiming_keys (in module bpy.types)](bpy.types.SoundStrip.html#bpy.types.SoundStrip.retiming_keys) - [source (bpy.types.CameraBackgroundImage attribute)](bpy.types.CameraBackgroundImage.html#bpy.types.CameraBackgroundImage.source)   - [(bpy.types.CompositorNodeCryptomatteV2 attribute)](bpy.types.CompositorNodeCryptomatteV2.html#bpy.types.CompositorNodeCryptomatteV2.source)   - [(bpy.types.Image attribute)](bpy.types.Image.html#bpy.types.Image.source)   - [(bpy.types.UserExtensionRepo attribute)](bpy.types.UserExtensionRepo.html#bpy.types.UserExtensionRepo.source) - [source_camera (bpy.types.GreasePencilLineartModifier attribute)](bpy.types.GreasePencilLineartModifier.html#bpy.types.GreasePencilLineartModifier.source_camera) - [source_collection (bpy.types.GreasePencilLineartModifier attribute)](bpy.types.GreasePencilLineartModifier.html#bpy.types.GreasePencilLineartModifier.source_collection) - [source_object (bpy.types.FieldSettings attribute)](bpy.types.FieldSettings.html#bpy.types.FieldSettings.source_object)   - [(bpy.types.GreasePencilLineartModifier attribute)](bpy.types.GreasePencilLineartModifier.html#bpy.types.GreasePencilLineartModifier.source_object) - [source_output_node_id (bpy.types.EvaluateClosureNodeViewerPathElem attribute)](bpy.types.EvaluateClosureNodeViewerPathElem.html#bpy.types.EvaluateClosureNodeViewerPathElem.source_output_node_id) - [source_type (bpy.types.GreasePencilLineartModifier attribute)](bpy.types.GreasePencilLineartModifier.html#bpy.types.GreasePencilLineartModifier.source_type) - [source_vertex_group (bpy.types.GreasePencilLineartModifier attribute)](bpy.types.GreasePencilLineartModifier.html#bpy.types.GreasePencilLineartModifier.source_vertex_group) - [space (bpy.types.DisplaceModifier attribute)](bpy.types.DisplaceModifier.html#bpy.types.DisplaceModifier.space)   - [(bpy.types.FunctionNodeRotateEuler attribute)](bpy.types.FunctionNodeRotateEuler.html#bpy.types.FunctionNodeRotateEuler.space)   - [(bpy.types.GreasePencilWeightAngleModifier attribute)](bpy.types.GreasePencilWeightAngleModifier.html#bpy.types.GreasePencilWeightAngleModifier.space)   - [(bpy.types.ParticleInstanceModifier attribute)](bpy.types.ParticleInstanceModifier.html#bpy.types.ParticleInstanceModifier.space)   - [(bpy.types.ShaderNodeDisplacement attribute)](bpy.types.ShaderNodeDisplacement.html#bpy.types.ShaderNodeDisplacement.space)   - [(bpy.types.ShaderNodeNormalMap attribute)](bpy.types.ShaderNodeNormalMap.html#bpy.types.ShaderNodeNormalMap.space)   - [(bpy.types.ShaderNodeVectorDisplacement attribute)](bpy.types.ShaderNodeVectorDisplacement.html#bpy.types.ShaderNodeVectorDisplacement.space)   - [(bpy.types.VolumeRender attribute)](bpy.types.VolumeRender.html#bpy.types.VolumeRender.space) - [Space (class in bpy.