skyscapes.scene.container
=========================

.. py:module:: skyscapes.scene.container

.. autoapi-nested-parse::

   Top-level Scene container.

   A ``Scene`` is everything in the telescope's field of view. It wraps a
   planetary :class:`System` (star + planets + disk) together with a small,
   explicit set of named background sources -- one field per type.

   Backgrounds are deliberately *not* grouped into a single
   ``tuple[AbstractBackground, ...]`` field. With JAX, an explicit static
   PyTree shape is preferable to a heterogeneous container: JIT can fully
   trace each named field without having to retrace over a Python loop, and
   the eventual concrete background types (zodi, galaxy fields, exozodiacal
   dust clumps, line-of-sight transients) are likely to need very different
   integration kernels in the downstream simulator. Each new source type is
   added as its own explicit ``Scene`` field with a concrete type.

   For now, the only background field is ``zodi``. Additional fields
   (``galaxy_field``, ``exozodi_clumps``, ...) will be added one at a time as
   the corresponding source types are implemented.



Classes
-------

.. autoapisummary::

   skyscapes.scene.container.Scene


Module Contents
---------------

.. py:class:: Scene

   Bases: :py:obj:`equinox.Module`


   Field-of-view container: planetary system + named background sources.

   Attributes:
       system: The planetary system (star + planets + disk).
       zodi: Optional zodiacal-light background (any
           :mod:`skyscapes.background` zodi variant).


   .. py:attribute:: system
      :type:  skyscapes.scene.system.System


   .. py:attribute:: zodi
      :type:  skyscapes.background.Zodi | None
      :value: None



   .. py:property:: star

      Convenience accessor for the host star.



   .. py:property:: planets

      Convenience accessor for the planet tuple.



   .. py:property:: disk

      Convenience accessor for the system's disk (may be ``None``).



   .. py:method:: __repr__()

      Tree-shaped summary of the contained system + zodi.



