+
    nDjy                       ^ RI Ht ^ RIt^ RIHtHt ^ RIHt ^ RIt	^RI
HtHtHt ^RIHt ^RIHtHtHtHtHt ^RIHt ^R	IHtHtHtHtHtHtHtH t H!t!H"t" ^R
I#H$t$H%t% ^RI&H't'H(t( ]'       d%   ^ RI)H*t* ^RI+H,t, ^RI-H.t. ^RI/H0t0 ^RI1H2t2 ^RI3H4t4 ]],          t5]]!,          ](,          ]',          t6 ! R R4      t7 ! R R4      t8R R lt9 ! R R4      t: ! R R]:4      t; ! R R]:4      t< ! R R]:4      t= ! R  R!]:4      t>]8]7,          t? ]?];,          ]<,          ]=,          ]>,          t@  ! R" R#4      tA]A]7,          ]8,          tB R$ R% ltCR# )&    )annotationsN)IterableMapping)TYPE_CHECKING)AsComponentsComponentBatchLikeDescribedComponentBatch)_spawn_viewer)BoolLikeEntityPathLikeFloat32ArrayLikeUtf8ArrayLikeUtf8Like)RecordingStream)
ActiveVisualizersContainerBlueprintEntityBehaviorPanelBlueprintTimePanelBlueprintViewBlueprintViewContentsViewportBlueprintVisibleTimeRangesVisualizerInstruction)
PanelStatePanelStateLike)VisualizableArchetype
Visualizer)Path)MemoryRecording)AbsoluteTimeRange)ContainerKindLike)LoopModeLike)PlayStateLikec                      ] tR t^*tRtRRRRRRRR/R R lltR	 R
 ltR R ltR R ltR R lt	R R lt
R R ltR R ltRtR# )Viewa  
Base class for all view types.

Consider using one of the subclasses instead of this class directly:

- [rerun.blueprint.BarChartView][]
- [rerun.blueprint.Spatial2DView][]
- [rerun.blueprint.Spatial3DView][]
- [rerun.blueprint.TensorView][]
- [rerun.blueprint.TextDocumentView][]
- [rerun.blueprint.TextLogView][]
- [rerun.blueprint.TimeSeriesView][]

These are ergonomic helpers on top of [rerun.blueprint.archetypes.ViewBlueprint][].
visibleN
propertiesdefaults	overridesc               <    V ^8  d   QhRRRRRRRRR	R
RRRRRRRR/	# )   class_identifierr   originr   contentsViewContentsLikenameUtf8Like | Noner'   BoolLike | Noner(   zdict[str, AsComponents] | Noner)   zAIterable[AsComponents | Iterable[DescribedComponentBatch]] | Noner*   zIMapping[EntityPathLike, VisualizerLike | Iterable[VisualizerLike]] | NonereturnNone )formats   "W/data/cameron/venvs/s3viz/lib/python3.14/site-packages/rerun_sdk/rerun/blueprint/api.py__annotate__View.__annotate__;   ss     >] >] #>] 	>]
 #>] >] !>] 3>] T>] ]>] 
>]    c                  \         P                  ! 4       V n        Wn        W@n        W n        W0n        WPn        Ve   TM/ V n        Ve   \        V4      M. V n
        Ve!   \        VP                  4       4      V n        R# / V n        R# )a  
Construct a blueprint for a new view.

Parameters
----------
name
    The name of the view.
class_identifier
    The class of the view to add. This must correspond to a known view class.
    Prefer to use one of the subclasses of `View` which will populate this for you.
origin
    The `EntityPath` to use as the origin of this view. All other entities will be transformed
    to be displayed relative to this origin.
contents
    The contents of the view specified as a query expression. This is either a single expression,
    or a list of multiple expressions. See [rerun.blueprint.archetypes.ViewContents][].
visible:
    Whether this view is visible.

    Defaults to true if not specified.
properties
    Dictionary of property archetypes to add to view's internal hierarchy.
defaults:
    List of archetypes or (described) component batches to add to the view.
    When an archetype in the view is missing a component included in this set,
    the value of default will be used instead of the normal fallback for the visualizer.

    Note that an archetype's required components typically don't have any effect.
    It is recommended to use the archetype's `from_fields` method instead and only specify the fields that you need.
overrides:
    Dictionary of visualizer overrides to apply to the view. The key is the path to the entity where the override
    should be applied. The value is a list of visualizers (or visualizable archetypes) which should be enabled for that entity, or a single visualizer.

    Each visualizer can be configured with arbitrary overrides and mappings.

    For any entity mentioned in this map, visualizers are no longer added automatically based on the entity's components.

    Important note: the path must be a fully qualified entity path starting at the root. The override paths
    do not yet support `$origin` relative paths or glob expressions.
    This will be addressed in <https://github.com/rerun-io/rerun/issues/6673>.

N)uuiduuid4idr-   r1   r.   r/   r'   r(   listr)   dictitemsvisualizer_overrides)	selfr-   r.   r/   r1   r'   r(   r)   r*   s	   &$$$$$$$$r8   __init__View.__init__;   sm    l **, 0	 (2(>*B*2*>XB?H?TD):$;!Z\!r;   c                   V ^8  d   QhRR/# r,   r4   strr6   )r7   s   "r8   r9   r:   {   s     ! ! !r;   c                     RV P                    2# )
The blueprint path where this view will be logged.

Note that although this is an `EntityPath`, is scoped to the blueprint tree and
not a part of the regular data hierarchy.
zview/r?   rD   s   &r8   blueprint_pathView.blueprint_path{   s     twwi  r;   c                    V ^8  d   QhRRRR/# )r,   entity_pathr   r4   rI   r6   )r7   s   "r8   r9   r:      s     _ _n _Y\ _r;   c                b    \        V4      P                  R4      pV P                  4        RV R2# )z
Construct the base path for visualizer overrides for a given entity in a view.

Note that although this is an `EntityPath`, is scoped to the blueprint tree and
not a part of the regular data hierarchy.
/z/ViewContents/overrides/z/visualizers)rI   removeprefixrN   )rD   rQ   entity_path_strs   && r8   *_blueprint_base_visualizer_path_for_entity/View._blueprint_base_visualizer_path_for_entity   s9     k*77<%%'((@@QQ]^^r;   c                   V ^8  d   QhRR/# r,   r4   	Containerr6   )r7   s   "r8   r9   r:      s      i r;   c                    ^RI Hp V! V 4      # )!Convert this view to a container.Tabs)
containersr^   )rD   r^   s   & r8   to_containerView.to_container   s    $Dzr;   c                   V ^8  d   QhRR/# r,   r4   	Blueprintr6   )r7   s   "r8   r9   r:            i r;   c                    \        V 4      # )z&Convert this view to a full blueprint.rd   rM   s   &r8   to_blueprintView.to_blueprint       r;   c                    V ^8  d   QhRRRR/# r,   streamr   r4   r5   r6   )r7   s   "r8   r9   r:      s     .i .i_ .i .ir;   c           
        \        V P                  \        4      '       d   V P                  pM\        V P                  R7      pVP                  V P	                  4       R,           V4       \        V P                  V P                  V P                  V P                  R7      pVP                  V P	                  4       V4       V P                  P                  4        F*  w  rEVP                  V P	                  4        RV 2V4       K,  	  V P                   F  p\        V\        4      '       d&   VP                  V P	                  4        R2V4       K>  \        V\        4      '       d'   VP                  V P	                  4        R2V.4       Kz  \        RV R24      h	  V P                   P                  4        F  w  rxV P#                  V4      p	\        V\$        4      '       d   Tp
MV.p
. pV
 F,  pV P'                  WV4      pVf   K  VP)                  V4       K.  	  \+        V4      ^ 8  g   Kx  TP                  T	\-        V Uu. uF  qP.                  NK  	  up4      4       K  	  R# u upi )	AInternal method to convert to an archetype and log to the stream.)queryz/ViewContents)r-   display_namespace_originr'   rS   z	/defaultszProvided default: z. is neither a component nor a component batch.N)
isinstancer/   r   logrN   r   r-   r1   r.   r'   r(   rB   r)   r   r   
ValueErrorrC   rV   r   _log_visualizer_likeappendlenr   bytes)rD   rm   r/   arch	prop_namepropdefaultpath
visualizerbase_visualizer_pathvisualizer_listvisualizer_idsvisualizer_idr?   s   &&            r8   _log_to_streamView._log_to_stream   s   dmm\22}}H $$--8H

4&&(?:HE!22LL	
 	

4&&($/#446OIJJ$--/0)=tD  7 }}G'<00

d1134I>HG%788

d1134I>	J #5gY>l!mnn % !% 9 9 ? ? AD#'#R#RSW#X *h//",#-,.0N-
 $ 9 9&Xb c ,"))-8 .
 >"Q&

/1BWeCfWeQSHHWeCf1gh !B Dgs   I-c               (    V ^8  d   QhRRRRRRRR/# )	r,   rm   r   r   rI   r   VisualizerLiker4   zuuid.UUID | Noner6   )r7   s   "r8   r9   r:      s2       " #	
 
r;   c                	   \        V\        4      '       d   VP                  4       p\        V\        4      '       d   V R VP                   2pVP                  V\        VP                  VP                  R7      4       VP                  e6   \        VP                  4      ^ 8  d   VP                  WCP                  4       VP                  # VP                  W#4       R# )rS   )component_mapN)rs   r   r   r   r?   rt   r   visualizer_typemappingsr*   rx   )rD   rm   r   r   visualizer_paths   &&&& r8   rv   View._log_visualizer_like   s     j"788#..0Jj*--!5 6a
GOJJ!6z7Q7Qakatat!u ##/C
8L8L4MPQ4Q

?,@,@A==  JJ+8r;   c                   V ^8  d   QhRR/# r,   r4   r5   r6   )r7   s   "r8   r9   r:           ) )4 )r;   c                	@    ^ RI Hp V! V R7      P                  4        R# r   )Viewer)	blueprintNrerun.notebookr   displayrD   r   s   & r8   _ipython_display_View._ipython_display_       )&&(r;   )	r-   r/   r)   r?   r1   r.   r(   r'   rC   )__name__
__module____qualname____firstlineno____doc__rE   rN   rV   r`   rh   r   rv   r   __static_attributes__r6   r;   r8   r&   r&   *   si     >] $(>] 6:>] W[>] `d>]@!_.i`0) )r;   r&   c                  ~    ] tR t^tRtRRRRRRRRRRRR/R	 R
 lltR R ltR R ltR R ltR R lt	R R lt
RtR# )rZ   a<  
Base class for all container types.

Consider using one of the subclasses instead of this class directly:

- [rerun.blueprint.Horizontal][]
- [rerun.blueprint.Vertical][]
- [rerun.blueprint.Grid][]
- [rerun.blueprint.Tabs][]

These are ergonomic helpers on top of [rerun.blueprint.archetypes.ContainerBlueprint][].
r/   Ncolumn_shares
row_sharesgrid_columns
active_tabr'   c               @    V ^8  d   QhRRRRRRRRR	RR
RRRRRRRRR/
# )r,   argszContainer | Viewr/   z!Iterable[Container | View] | Nonekindr"   r   zFloat32ArrayLike | Noner   r   z
int | Noner   zint | str | Noner1   r2   r'   r3   r4   r5   r6   )r7   s   "r8   r9   Container.__annotate__   sn     = == 4=  	=
 /= ,= != %= = != 
=r;   c                   V	'       d   Ve   \        R4      hVe   Wn        MWn        \        P                  ! 4       V n        W n        W0n        W@n        WPn        W`n	        Wpn
        Wn        R# )a  
Construct a new container.

Parameters
----------
*args:
    All positional arguments are forwarded to the `contents` parameter for convenience.
contents:
    The contents of the container. Each item in the iterable must be a `View` or a `Container`.
    This can only be used if no positional arguments are provided.
kind
    The kind of the container. This must correspond to a known container kind.
    Prefer to use one of the subclasses of `Container` which will populate this for you.
column_shares
    The layout shares of the columns in the container. The share is used to determine what fraction of the total width each
    column should take up. The column with index `i` will take up the fraction `shares[i] / total_shares`.
    This is only applicable to `Horizontal` or `Grid` containers.
row_shares
    The layout shares of the rows in the container. The share is used to determine what fraction of the total height each
    row should take up. The row with index `i` will take up the fraction `shares[i] / total_shares`.
    This is only applicable to `Vertical` or `Grid` containers.
grid_columns
    The number of columns in the grid. This is only applicable to `Grid` containers.
active_tab
    The active tab in the container. This is only applicable to `Tabs` containers.
name
    The name of the container
visible:
    Whether this container is visible.

    Defaults to true if not specified.

NzACannot provide both positional and keyword arguments for contents)ru   r/   r=   r>   r?   r   r   r   r   r   r1   r'   )
rD   r/   r   r   r   r   r   r1   r'   r   s
   &$$$$$$$$*r8   rE   Container.__init__   s[    \ H(`aa$M M**,	*$($	r;   c                   V ^8  d   QhRR/# rH   r6   )r7   s   "r8   r9   r   3  s     & & &r;   c                     RV P                    2# )rK   z
container/rL   rM   s   &r8   rN   Container.blueprint_path3  s     DGG9%%r;   c                   V ^8  d   QhRR/# rY   r6   )r7   s   "r8   r9   r   <        i r;   c                    V # )r\   r6   rM   s   &r8   r`   Container.to_container<      r;   c                   V ^8  d   QhRR/# rc   r6   )r7   s   "r8   r9   r   @  re   r;   c                    \        V 4      # )z+Convert this container to a full blueprint.rg   rM   s   &r8   rh   Container.to_blueprint@  rj   r;   c                    V ^8  d   QhRRRR/# rl   r6   )r7   s   "r8   r9   r   D  s     0 0_ 0 0r;   c                   Rp\        V P                  4       Fk  w  r4VP                  V4       W0P                  8X  g6   \	        V\
        4      '       g   K>  VP                  V P                  8X  g   K[  VP                  4       pKm  	  V P                  e   Vf   \        RV P                   R24      h\        V P                  V P                   Uu. uF  qDP                  4       NK  	  upV P                  V P                  V P                  V P                  VV P                  R7      pVP                  V P                  4       V4       R# u upi )ro   NzActive tab 'z&' not found in the container contents.)container_kindr/   
col_sharesr   r'   r   r   rq   )	enumerater/   r   r   rs   r&   r1   rN   ru   r   r   r   r   r'   r   rt   )rD   rm   active_tab_pathisubrz   s   &&    r8   r   Container._log_to_streamD  s    .FAv&OO#
3(=(=#((dooB]"%"4"4"6 /
 ??&?+B|DOO+<<bcdd!996:mmDms((*mD))LL**&	
 	

4&&($/ Es   E

c                   V ^8  d   QhRR/# r   r6   )r7   s   "r8   r9   r   ]  r   r;   c                	@    ^ RI Hp V! V R7      P                  4        R# r   r   r   s   & r8   r   Container._ipython_display_]  r   r;   )	r   r   r/   r   r?   r   r1   r   r'   )r   r   r   r   r   rE   rN   r`   rh   r   r   r   r6   r;   r8   rZ   rZ      sg    = 7;=
 26= /3= $(= (,= $(=~&02) )r;   rZ   c               $    V ^8  d   QhRRRRRR/# )r,   expandedbool | NonestatePanelStateLike | Noner4   r6   )r7   s   "r8   r9   r9   c  s#     	 	 	,A 	F[ 	r;   c                    V e   Ve   \        R4      hVe   V# V e)   V '       d   \        P                  # \        P                  # R# )z6Handle the case where `expanded` is used over `state`.Nz&Cannot set both 'expanded' and 'state')ru   r   Expanded	Collapsed)r   r   s   &&r8   	_to_stater   c  sH      1ABB&.z""HJ4H4HHr;   c                  J    ] tR tRtRtRRRR/R R lltR R	 ltR
 R ltRtR# )Panelio  at  
Base class for the panel types.

Consider using one of the subclasses instead of this class directly:

- [TopPanel][rerun.blueprint.TopPanel]
- [BlueprintPanel][rerun.blueprint.BlueprintPanel]
- [SelectionPanel][rerun.blueprint.SelectionPanel]
- [TimePanel][rerun.blueprint.TimePanel]

These are ergonomic helpers on top of [rerun.blueprint.archetypes.PanelBlueprint][].
r   Nr   c               (    V ^8  d   QhRRRRRRRR/# )	r,   rN   rI   r   r   r   r   r4   r5   r6   )r7   s   "r8   r9   Panel.__annotate__}  s4     0 0 0 	0
 %0 
0r;   c               2    Wn         \        W#4      V n        R# )z
Construct a new panel.

Parameters
----------
blueprint_path:
    The blueprint path of the panel.
expanded:
    Deprecated. Use `state` instead.
state:
    Whether the panel is expanded, collapsed, or hidden.

N)_blueprint_pathr   r   )rD   rN   r   r   s   &$$$r8   rE   Panel.__init__}  s    (  .x/
r;   c                   V ^8  d   QhRR/# rH   r6   )r7   s   "r8   r9   r     s     $ $ $r;   c                    V P                   # )rK   )r   rM   s   &r8   rN   Panel.blueprint_path  s     ###r;   c                    V ^8  d   QhRRRR/# rl   r6   )r7   s   "r8   r9   r     s     0 0_ 0 0r;   c                r    \        V P                  R7      pVP                  V P                  4       V4       R# )ro   r   N)r   r   rt   rN   )rD   rm   rz   s   && r8   r   Panel._log_to_stream  s,    **
 	

4&&($/r;   )r   r   )	r   r   r   r   r   rE   rN   r   r   r6   r;   r8   r   r   o  s/    0 !%	0
 (,0.$0 0r;   r   c                  >   a  ] tR tRtRtRRRR/R V 3R llltRtV ;t# )	TopPaneli  zThe state of the top panel.r   Nr   c               $    V ^8  d   QhRRRRRR/# r,   r   r   r   r   r4   r5   r6   )r7   s   "r8   r9   TopPanel.__annotate__  s(     U UK U?T U`d Ur;   c               *   < \         SV `  RWR7       R# )z
Construct a new top panel.

Parameters
----------
expanded:
    Deprecated. Use `state` instead.
state:
    Whether the panel is expanded, collapsed, or hidden.

    Collapsed and hidden both fully hide the top panel.

	top_panelrN   r   r   NsuperrE   rD   r   r   	__class__s   &$$r8   rE   TopPanel.__init__  s     	hTr;   r6   r   r   r   r   r   rE   r   __classcell__r   s   @r8   r   r     s)    %U$ UW[ U U Ur;   r   c                  >   a  ] tR tRtRtRRRR/R V 3R llltRtV ;t# )	BlueprintPaneli  z!The state of the blueprint panel.r   Nr   c               $    V ^8  d   QhRRRRRR/# r   r6   )r7   s   "r8   r9   BlueprintPanel.__annotate__  (     [ [K [?T [`d [r;   c               *   < \         SV `  RWR7       R# )z
Construct a new blueprint panel.

Parameters
----------
expanded:
    Deprecated. Use `state` instead.
state:
    Whether the panel is expanded, collapsed, or hidden.

    Collapsed and hidden both fully hide the blueprint panel.

blueprint_panelr   Nr   r   s   &$$r8   rE   BlueprintPanel.__init__       	(9HZr;   r6   r   r   s   @r8   r   r     )    +[$ [W[ [ [ [r;   r   c                  >   a  ] tR tRtRtRRRR/R V 3R llltRtV ;t# )	SelectionPaneli  z!The state of the selection panel.r   Nr   c               $    V ^8  d   QhRRRRRR/# r   r6   )r7   s   "r8   r9   SelectionPanel.__annotate__  r   r;   c               *   < \         SV `  RWR7       R# )z
Construct a new selection panel.

Parameters
----------
expanded:
    Deprecated. Use `state` instead.
state:
    Whether the panel is expanded, collapsed, or hidden.

    Collapsed and hidden both fully hide the selection panel.

selection_panelr   Nr   r   s   &$$r8   rE   SelectionPanel.__init__  r   r;   r6   r   r   s   @r8   r   r     r   r;   r   c                  b   a  ] tR tRtRtRRRRRRRRRRR	RR
RRR/R V 3R llltR R ltRtV ;t# )	TimePaneli  zThe state of the time panel.r   Nr   timelineplayback_speedfps
play_state	loop_modetime_selectionc               <    V ^8  d   QhRRRRRRRRR	RR
RRRRRRR/	# )r,   r   r   r   r   r   r2   r   zfloat | Noner   r  zPlayStateLike | Noner  zLoopModeLike | Noner  zAbsoluteTimeRange | Noner4   r5   r6   )r7   s   "r8   r9   TimePanel.__annotate__  sf     5- 5- 5- %	5-
 "5- %5- 5- )5- '5- 15- 
5-r;   c               r   < \         S	V `  RWR7       W0n        W@n        WPn        W`n        Wpn        Wn        R# )a  
Construct a new time panel.

Parameters
----------
expanded:
    Deprecated. Use `state` instead.
state:
    Whether the panel is expanded, collapsed, or hidden.

    Expanded fully shows the panel, collapsed shows a simplified panel,
    hidden fully hides the panel.
timeline:
    What timeline the timepanel should display.

playback_speed:
    A time playback speed multiplier.

fps:
    Frames per second. Only applicable for sequence timelines.

play_state:
    If the time is currently paused, playing, or following.

loop_mode:
    How the time should loop.

    A loop selection only works if there's also a `time_selection`
    passed.

time_selection:
    Selects a range of time on the time panel.


time_panelr   N)r   rE   r   r   r   r  r  r  )
rD   r   r   r   r   r   r  r  r  r   s
   &$$$$$$$$r8   rE   TimePanel.__init__  s8    \ 	xU ,$",r;   c                    V ^8  d   QhRRRR/# rl   r6   )r7   s   "r8   r9   r    s     H H_ H Hr;   c           	     p   \        V P                  V P                  V P                  V P                  V P
                  V P                  R7      pVP                  V P                  4       V4       V P                  e;   \        V P                  R7      pVP                  V P                  4       VRR7       R# R# )ro   )r   r   r   r   r  r  N)r  T)static)
r   r   r   r   r   r  r  rt   rN   r  )rD   rm   rz   static_archs   &&  r8   r   TimePanel._log_to_stream  s    !**]]..nn..
 	

4&&($/??&,??K JJt**,k$JG 'r;   )r   r  r  r   r  r   )	r   r   r   r   r   rE   r   r   r   r   s   @r8   r   r     sm    &5- !%5- (,	5-
 %)5- (,5- !5- ,05- *.5- 485- 5-nH Hr;   r   c                      ] tR tRtRtRRRRRR/R R	 lltR
 R ltR R ltR R ltRRRRRR/R R llt	R!R R llt
RRRRRRRR/R R lltR tR# )"rd   i?  z2The top-level description of the viewer blueprint.auto_layoutN
auto_viewscollapse_panelsFc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r,   partsBlueprintPartr  r   r  r  boolr4   r5   r6   )r7   s   "r8   r9   Blueprint.__annotate__B  sC     S: S:S: !S:  	S:
 S: 
S:r;   c                  ^RI Hp W0n        . pV EF+  p\        V\        \
        34      '       d   VP                  V4       K3  \        V\        4      '       d&   \        V R4      '       d   \        R4      hWpn
        Kn  \        V\        4      '       d&   \        V R4      '       d   \        R4      hWpn        K  \        V\        4      '       d&   \        V R4      '       d   \        R4      hWpn        K  \        V\        4      '       d'   \        V R4      '       d   \        R	4      hWpn        EK   \        R
V 24      h	  W n        Wn        \'        V4      ^ 8X  d/   V P"                  f   RV n        V P$                  f
   RV n        R# R# \'        V4      ^8X  d   V^ ,          P)                  4       V n        R# V! VR7      V n        R# )a/  
Construct a new blueprint from the given parts.

Each [BlueprintPart][rerun.blueprint.BlueprintPart] can be one of the following:

- [ContainerLike][rerun.blueprint.ContainerLike]
- [BlueprintPanel][rerun.blueprint.BlueprintPanel]
- [SelectionPanel][rerun.blueprint.SelectionPanel]
- [TimePanel][rerun.blueprint.TimePanel]

It is an error to provide more than one of instance of any of the panel types.

Blueprints only have a single top-level "root" container that defines the viewport.
If you provide multiple `ContainerLike` instances, they will be combined under a single
root `Tab` container.

Parameters
----------
*parts:
    The parts of the blueprint.
auto_layout:
    Whether to automatically layout the viewport. If `True`, the container layout will be
    reset whenever a new view is added to the viewport. Defaults to `False`.
    Defaults to `False` unless no Containers or Views are provided, in which case it defaults to `True`.
    If you want to create a completely empty Blueprint, you must explicitly set this to `False`.
auto_views:
    Whether to automatically add views to the viewport. If `True`, the viewport will
    automatically add views based on content in the data store.
    Defaults to `False` unless no Containers or Views are provided, in which case it defaults to `True`.
    If you want to create a completely empty Blueprint, you must explicitly set this to `False`.
collapse_panels:
    Whether to collapse panels in the viewer. Defaults to `False`.

    This fully hides the blueprint/selection panels, and shows the simplified time panel.

r]   r   z"Only one top panel can be providedr   z(Only one blueprint panel can be providedr   z(Only one selection panel can be providedr  z#Only one time panel can be providedzUnknown part type: NT)r/   )r_   r^   r  rs   rZ   r&   rw   r   hasattrru   r   r   r   r   r   r   r  r  r  rx   r`   root_container)rD   r  r  r  r  r^   r/   parts   &$$$*   r8   rE   Blueprint.__init__B  so   V 	%.(*D$D 122%D(++4--$%IJJ!%D.114!233$%OPP'+$D.114!233$%OPP'+$D),,4..$%JKK"& #6tf!=>>) , %&x=A&"&'#'  (]a"*1+":":"<D"&"9Dr;   c                   V ^8  d   QhRR/# rc   r6   )r7   s   "r8   r9   r    r   r;   c                    V # )z+Conform with the `BlueprintLike` interface.r6   rM   s   &r8   rh   Blueprint.to_blueprint  r   r;   c                    V ^8  d   QhRRRR/# rl   r6   )r7   s   "r8   r9   r    s     !@ !@_ !@ !@r;   c                   \        V R4      '       d=   V P                  P                  V4       V P                  P                  P                  pMRp\        VV P                  V P                  R7      pVP                  RV4       \        V R4      '       d   V P                  P                  V4       \        V R4      '       d   V P                  P                  V4       M-V P                  '       d   \        RR7      P                  V4       \        V R	4      '       d   V P                  P                  V4       M-V P                  '       d   \        RR7      P                  V4       \        V R
4      '       d   V P                  P                  V4       R# V P                  '       d   \!        RR7      P                  V4       R# R# )ro   r  N)r  r  r  viewportr   r   	collapsedr   r   r  )r  r  r   r?   ry   r   r  r  rt   r   r   r  r   r   r   r  r   )rD   rm   root_container_idviewport_archs   &&  r8   r   Blueprint._log_to_stream  sS   4)**..v6 $ 3 3 6 6 < < $),((
 	

:}-4%%NN))&14*++  //7!!!-<<VD4*++  //7!!!-<<VD4&&OO**62!!!K(77? "r;   c                   V ^8  d   QhRR/# r   r6   )r7   s   "r8   r9   r    r   r;   c                	@    ^ RI Hp V! V R7      P                  4        R# r   r   r   s   & r8   r   Blueprint._ipython_display_  r   r;   urlmake_activeTmake_defaultc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r,   application_idrI   r)  z
str | Noner*  r  r+  r4   r5   r6   )r7   s   "r8   r9   r    sC     .f .f.f 	.f
 .f .f 
.fr;   c          	         \         P                  ! \        P                  ! VRRRR7      4      pVP	                  R^ R7       V P                  V4       \        P                  ! W#WEP                  4       4       R# )a#  
Connect to a remote Rerun Viewer on the given URL and send this blueprint.

Parameters
----------
application_id:
    The application ID to use for this blueprint. This must match the application ID used
    when initiating rerun for any data logging you wish to associate with this blueprint.
url:
    The URL to connect to

    The scheme must be one of `rerun://`, `rerun+http://`, or `rerun+https://`,
    and the pathname must be `/proxy`.

    The default is `rerun+http://127.0.0.1:9876/proxy`.
make_active:
    Immediately make this the active blueprint for the associated `app_id`.
    Note that setting this to `false` does not mean the blueprint may not still end
    up becoming active. In particular, if `make_default` is true and there is no other
    currently active blueprint.
make_default:
    Make this the default blueprint for the `app_id`.
    The default blueprint will be used as the template when the user resets the
    blueprint for the app. It will also become the active blueprint if no other
    blueprint is currently active.

FTr-  r+  make_thread_defaultdefault_enabledr   sequenceN)r   _from_nativebindingsnew_blueprintset_timer   connect_grpc_blueprint	to_native)rD   r-  r)  r*  r+  blueprint_streams   &&$$$ r8   connect_grpcBlueprint.connect_grpc  sm    F +77""-"$) $	
 	!!+!:,-'',HbHbHder;   c               $    V ^8  d   QhRRRRRR/# )r,   r-  rI   r~   zstr | Path | Noner4   r5   r6   )r7   s   "r8   r9   r    s'     D D3 D.? D4 Dr;   c           	        Vf   V R2pM\        V4      p\        P                  ! \        P                  ! VRRRR7      4      pVP                  R^ R7       V P                  V4       \        P                  ! W#P                  4       4       R# )ap  
Save this blueprint to a file. Rerun recommends the `.rbl` suffix.

Parameters
----------
application_id:
    The application ID to use for this blueprint. This must match the application ID used
    when initiating rerun for any data logging you wish to associate with this blueprint.
path
    The path to save the blueprint to. Defaults to `<application_id>.rbl`.

Nz.rblFTr/  r   r2  )	rI   r   r4  r5  r6  r7  r   save_blueprintr9  )rD   r-  r~   r:  s   &&& r8   saveBlueprint.save  s     <$%T*Dt9D*77""-"$) $	
 	!!+!:,-&@&@&BCr;   porti&  memory_limitz75%hide_welcome_screendetach_processc               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r,   r-  rI   rB  intrC  rD  r  rE  r4   r5   r6   )r7   s   "r8   r9   r    sN      e  e e 	 e
  e " e  e 
 er;   c               N    \        W#WER7       V P                  VRV R2R7       R# )aw  
Spawn a Rerun viewer with this blueprint.

Parameters
----------
application_id:
    The application ID to use for this blueprint. This must match the application ID used
    when initiating rerun for any data logging you wish to associate with this blueprint.
port:
    The port to listen on.
memory_limit:
    An upper limit on how much memory the Rerun Viewer should use.
    When this limit is reached, Rerun will drop the oldest data.
    Example: `16GB` or `50%` (of system total).
hide_welcome_screen:
    Hide the normal Rerun welcome screen.
detach_process:
    Detach Rerun Viewer process from the application process.

)rB  rC  rD  rE  zrerun+http://127.0.0.1:z/proxy)r-  r)  N)r
   r;  )rD   r-  rB  rC  rD  rE  s   &&$$$$r8   spawnBlueprint.spawn  s4    : 	FY	
 	?VW[V\\b=cdr;   )r  r  r   r  r  r   r  r   )N)r   r   r   r   r   rE   rh   r   r   r;  r@  rI  r   r6   r;   r8   rd   rd   ?  s    <S: $(S: #'	S:
 !&S:j!@F)
.f 	.f
 !.f ".f`D@ e 	 e
 " e %* e  $ e  er;   rd   c               $    V ^8  d   QhRRRRRR/# )r,   r-  rI   r   BlueprintLiker4   r    r6   )r7   s   "r8   r9   r9   ?  s"     / /# /- /Tc /r;   c           	         VP                  4       p\        P                  ! \        P                  ! V RRRR7      4      pVP                  R^ R7       VP                  V4       VP                  4       # )z`Internal rerun helper to convert a `BlueprintLike` into a stream that can be sent to the viewer.FTr/  r   r2  )rh   r   r4  r5  r6  r7  r   memory_recording)r-  r   r:  s   $$ r8   create_in_memory_blueprintrO  ?  sr     &&(I
 '33) % 		
 kA6-.,,..r;   )D
__future__r   r=   collections.abcr   r   typingr   rerun_bindingsr5  _baseclassesr   r   r	   _spawnr
   	datatypesr   r   r   r   r   recording_streamr   
archetypesr   r   r   r   r   r   r   r   r   r   
componentsr   r   visualizersr   r   pathlibr   _memoryr    components.absolute_time_ranger!   components.container_kindr"   components.loop_moder#   components.play_stater$   r0   r   r&   rZ   r   r   r   r   r   r   ContainerLiker  rd   rL  rO  r6   r;   r8   <module>rb     s3   "  -   ! T T " [ [ .   3 :)A<24 </ "33j@CXXy) y)xz) z)z	40 40nUu U([U [([U [(LH LH^ D  (>9NJYV
te ten D 9,/r;   