larvaworld.portal.canvas_widgets.environment_canvas =================================================== .. py:module:: larvaworld.portal.canvas_widgets.environment_canvas Attributes ---------- .. autoapisummary:: larvaworld.portal.canvas_widgets.environment_canvas.LANE_MODELS_COLOR_DARK larvaworld.portal.canvas_widgets.environment_canvas.DEFAULT_SOURCE_COLOR larvaworld.portal.canvas_widgets.environment_canvas.DEFAULT_LARVA_COLOR larvaworld.portal.canvas_widgets.environment_canvas.HIGHLIGHT_COLOR larvaworld.portal.canvas_widgets.environment_canvas.STATIC_LARVA_GROUP_MEMBER_HALF_LENGTH larvaworld.portal.canvas_widgets.environment_canvas.ENV_CANVAS_WIDTH larvaworld.portal.canvas_widgets.environment_canvas.ENV_CANVAS_HEIGHT larvaworld.portal.canvas_widgets.environment_canvas.ENV_CANVAS_Y_HALF_RANGE larvaworld.portal.canvas_widgets.environment_canvas.ENV_CANVAS_X_HALF_RANGE Classes ------- .. autoapisummary:: larvaworld.portal.canvas_widgets.environment_canvas.EnvironmentCanvas Module Contents --------------- .. py:data:: LANE_MODELS_COLOR_DARK :value: '#5a4760' .. py:data:: DEFAULT_SOURCE_COLOR :value: '#4caf50' .. py:data:: DEFAULT_LARVA_COLOR :value: '#2f4858' .. py:data:: HIGHLIGHT_COLOR :value: '#f97316' .. py:data:: STATIC_LARVA_GROUP_MEMBER_HALF_LENGTH :value: 0.0015 .. py:data:: ENV_CANVAS_WIDTH :value: 760 .. py:data:: ENV_CANVAS_HEIGHT :value: 620 .. py:data:: ENV_CANVAS_Y_HALF_RANGE :value: 0.3 .. py:data:: ENV_CANVAS_X_HALF_RANGE :value: 0.36774193548387096 .. py:class:: EnvironmentCanvas(*, width: int = ENV_CANVAS_WIDTH, height: int = ENV_CANVAS_HEIGHT, editable: bool = False, snap_heads_to_midline: bool = False) Reusable read-only Bokeh canvas for portal environment previews. .. py:attribute:: width :value: 760 .. py:attribute:: height :value: 620 .. py:attribute:: editable :value: False .. py:attribute:: snap_heads_to_midline :value: False .. py:attribute:: arena_source .. py:attribute:: food_grid_overlay_source .. py:attribute:: food_grid_cell_source .. py:attribute:: thermoscape_aura_source .. py:attribute:: thermoscape_marker_source .. py:attribute:: windscape_segment_source .. py:attribute:: windscape_head_source .. py:attribute:: odorscape_contour_source .. py:attribute:: odor_layer_source .. py:attribute:: odor_peak_source .. py:attribute:: food_source .. py:attribute:: food_highlight_source .. py:attribute:: source_group_circle_source .. py:attribute:: source_group_ellipse_source .. py:attribute:: source_group_rect_source .. py:attribute:: source_group_member_source .. py:attribute:: source_group_circle_highlight_source .. py:attribute:: source_group_ellipse_highlight_source .. py:attribute:: source_group_rect_highlight_source .. py:attribute:: border_source .. py:attribute:: border_highlight_source .. py:attribute:: larva_group_circle_source .. py:attribute:: larva_group_ellipse_source .. py:attribute:: larva_group_rect_source .. py:attribute:: larva_group_member_source .. py:attribute:: larva_group_circle_highlight_source .. py:attribute:: larva_group_ellipse_highlight_source .. py:attribute:: larva_group_rect_highlight_source .. py:attribute:: sim_larva_centroid_source .. py:attribute:: sim_larva_head_source .. py:attribute:: sim_larva_midline_source .. py:attribute:: sim_larva_trail_source .. py:attribute:: sim_larva_segment_source .. py:attribute:: sim_larva_body_contour_source .. py:attribute:: sim_larva_label_source .. py:attribute:: dynamic_ring_source .. py:attribute:: fig .. py:method:: view() -> panel.viewable.Viewable .. py:method:: set_larva_frame(frame: larvaworld.portal.canvas_widgets.environment_models.LarvaPreviewFrame) -> None .. py:method:: set_dynamic_overlays(*, rings: tuple[larvaworld.portal.canvas_widgets.environment_models.CanvasRingOverlay, Ellipsis] = ()) -> None .. py:method:: clear_dynamic_overlays() -> None .. py:method:: clear_larva_frame() -> None .. py:method:: clear() -> None .. py:method:: set_state(state: larvaworld.portal.canvas_widgets.environment_models.EnvironmentCanvasState) -> None .. py:method:: set_selected_object(object_id: str | None) -> None