Tutorials
=========

Step-by-step guides to help you get started with pylinkage and master its features.

Getting Started
---------------

New to pylinkage? Start here to learn the fundamentals.

.. toctree::
   :maxdepth: 1

   getting_started

Core Features
-------------

Learn to use pylinkage's main capabilities.

.. toctree::
   :maxdepth: 1

   visualization
   cam_follower
   advanced_optimization
   multi_objective
   kinematics_optimization
   sensitivity_analysis

Advanced Topics
---------------

Dive deeper into specialized features.

.. toctree::
   :maxdepth: 1

   synthesis
   symbolic
   graph_representation
   custom_joints

Quick Reference
---------------

.. list-table::
   :header-rows: 1
   :widths: 30 70

   * - Tutorial
     - What You'll Learn
   * - :doc:`getting_started`
     - Create joints, build linkages, run simulations, basic visualization
   * - :doc:`visualization`
     - Matplotlib animations, Plotly interactive plots, SVG export
   * - :doc:`cam_follower`
     - Cam profiles, motion laws, translating/oscillating followers
   * - :doc:`advanced_optimization`
     - PSO optimization, fitness functions, bounds, grid search
   * - :doc:`multi_objective`
     - NSGA-II/III Pareto optimization, trade-off analysis, hypervolume
   * - :doc:`kinematics_optimization`
     - Velocity analysis, acceleration, kinematic-based optimization
   * - :doc:`sensitivity_analysis`
     - Sensitivity coefficients, Monte Carlo tolerance analysis, robustness
   * - :doc:`synthesis`
     - Function/path/motion generation, Burmester theory, Grashof analysis
   * - :doc:`symbolic`
     - SymPy expressions, analytical gradients, symbolic optimization
   * - :doc:`graph_representation`
     - Assur groups, hypergraphs, component libraries, structural analysis
   * - :doc:`custom_joints`
     - Extend the Joint class, custom constraint types
