"""
The renderer registry.

Adding a plot type means adding a row to inference's decision table and an entry
here. Nothing dispatches on the number of dimensions any more.
"""

from .context import PlotContext
from .curves import render_line, render_profile, render_scalar, render_timeseries
from .extras import show_extra_views
from .geomap import render_geomap
from .globe import GlobeOptions, plot_3D_globe, render_globe
from .polar import plot_polar_views
from .section import render_section

RENDERERS = {
    'scalar': render_scalar,
    'line': render_line,
    'timeseries': render_timeseries,
    'profile': render_profile,
    'section': render_section,
    'geomap': render_geomap,
    'globe': render_globe,
}

__all__ = ['PlotContext', 'RENDERERS', 'show_extra_views',
           'plot_polar_views', 'plot_3D_globe', 'GlobeOptions']
