7575from process_frame import process_overlay_frame
7676from process_frame import process_single_frame
7777
78- # Common state definitions to reduce repetition
79- COMMON_STATE = {
80- "session_id" : State ("session-id" , "data" ),
81- "file" : State ("current-file" , "data" ),
82- "file_list" : State ("file-add" , "value" ),
83- "c_key" : State ("c-picker-3d" , "value" ),
84- "size_vary" : State ("size-vary-switch" , "value" ),
85- "darkmode" : State ("darkmode-switch" , "value" ),
86- }
87-
88- FILTER_STATE = {
89- "cat_values" : State ({"type" : "filter-dropdown" , "index" : ALL }, "value" ),
90- "num_values" : State ({"type" : "filter-slider" , "index" : ALL }, "value" ),
91- "visible_list" : State ("visible-picker" , "value" ),
92- }
93-
94- ANIMATION_STATE = {
95- "slider_arg" : State ("slider-frame" , "value" ),
96- "ispaused" : State ("interval-component" , "disabled" ),
97- "decay" : State ("decay-slider" , "value" ),
98- }
99-
100- VISUAL_STATE = {
101- "colormap" : State ("colormap-3d" , "value" ),
102- "overlay_enable" : State ("overlay-switch" , "value" ),
103- }
104-
105- PICKER_3D_STATE = {
106- "slider_picker_3d" : State ("slider-picker-3d" , "value" ),
107- "x_picker_3d" : State ("x-picker-3d" , "value" ),
108- "y_picker_3d" : State ("y-picker-3d" , "value" ),
109- "z_picker_3d" : State ("z-picker-3d" , "value" ),
110- "x_ref_picker_3d" : State ("x-ref-picker-3d" , "value" ),
111- "y_ref_picker_3d" : State ("y-ref-picker-3d" , "value" ),
112- "z_ref_picker_3d" : State ("z-ref-picker-3d" , "value" ),
113- }
114-
115- # Common input definitions
116- FILTER_INPUTS = {
117- "cat_values" : Input ({"type" : "filter-dropdown" , "index" : ALL }, "value" ),
118- "num_values" : Input ({"type" : "filter-slider" , "index" : ALL }, "value" ),
119- "visible_list" : Input ("visible-picker" , "value" ),
120- }
121-
122- PICKER_3D_INPUTS = {
123- "slider_picker_3d" : Input ("slider-picker-3d" , "value" ),
124- "x_picker_3d" : Input ("x-picker-3d" , "value" ),
125- "y_picker_3d" : Input ("y-picker-3d" , "value" ),
126- "z_picker_3d" : Input ("z-picker-3d" , "value" ),
127- "x_ref_picker_3d" : Input ("x-ref-picker-3d" , "value" ),
128- "y_ref_picker_3d" : Input ("y-ref-picker-3d" , "value" ),
129- "z_ref_picker_3d" : Input ("z-ref-picker-3d" , "value" ),
130- }
131-
132- TRIGGER_INPUTS = {
133- "unused_vistable_trigger" : Input ("visible-table-change-trigger" , "data" ),
134- "unused_left_hide_trigger" : Input ("left-hide-trigger" , "data" ),
135- "unused_right_hide_trigger" : Input ("right-hide-trigger" , "data" ),
136- "unused_file_loaded" : Input ("file-loaded-trigger" , "data" ),
137- }
138-
13978
14079def get_scatter_3d_view_callbacks (app : dash .Dash ) -> None :
14180 """
@@ -187,10 +126,19 @@ def toggle_3d_config_collapse(n_clicks: int, is_open: bool) -> dict:
187126 "overlay_enable" : Input ("overlay-switch" , "value" ),
188127 },
189128 state = {
190- ** ANIMATION_STATE ,
191- ** FILTER_STATE ,
192- ** VISUAL_STATE ,
193- ** COMMON_STATE ,
129+ "slider_arg" : State ("slider-frame" , "value" ),
130+ "ispaused" : State ("interval-component" , "disabled" ),
131+ "decay" : State ("decay-slider" , "value" ),
132+ "cat_values" : State ({"type" : "filter-dropdown" , "index" : ALL }, "value" ),
133+ "num_values" : State ({"type" : "filter-slider" , "index" : ALL }, "value" ),
134+ "visible_list" : State ("visible-picker" , "value" ),
135+ "colormap" : State ("colormap-3d" , "value" ),
136+ "c_key" : State ("c-picker-3d" , "value" ),
137+ "size_vary" : State ("size-vary-switch" , "value" ),
138+ "darkmode" : State ("darkmode-switch" , "value" ),
139+ "session_id" : State ("session-id" , "data" ),
140+ "file" : State ("current-file" , "data" ),
141+ "file_list" : State ("file-add" , "value" ),
194142 },
195143 prevent_initial_call = True ,
196144 )
@@ -208,13 +156,13 @@ def slider_change_callback(
208156 visible_list : list ,
209157 # Visual state parameters
210158 colormap : str ,
159+ c_key : str ,
160+ size_vary : str ,
161+ darkmode : list ,
211162 # Common state parameters
212163 session_id : str ,
213164 file : str ,
214165 file_list : list ,
215- c_key : str ,
216- size_vary : str ,
217- darkmode : list ,
218166 ) -> dict :
219167 """
220168 Update the 3D scatter plot when slider position changes.
@@ -458,15 +406,33 @@ def visible_table_change_callback(
458406 ),
459407 },
460408 inputs = {
461- ** FILTER_INPUTS , # cat_values, num_values, visible_list
462- ** PICKER_3D_INPUTS , # slider_picker_3d, x_picker_3d, etc.
463- ** TRIGGER_INPUTS , # unused triggers
409+ "cat_values" : Input ({"type" : "filter-dropdown" , "index" : ALL }, "value" ),
410+ "num_values" : Input ({"type" : "filter-slider" , "index" : ALL }, "value" ),
411+ "visible_list" : Input ("visible-picker" , "value" ),
412+ "slider_picker_3d" : Input ("slider-picker-3d" , "value" ),
413+ "x_picker_3d" : Input ("x-picker-3d" , "value" ),
414+ "y_picker_3d" : Input ("y-picker-3d" , "value" ),
415+ "z_picker_3d" : Input ("z-picker-3d" , "value" ),
416+ "x_ref_picker_3d" : Input ("x-ref-picker-3d" , "value" ),
417+ "y_ref_picker_3d" : Input ("y-ref-picker-3d" , "value" ),
418+ "z_ref_picker_3d" : Input ("z-ref-picker-3d" , "value" ),
419+ "unused_vistable_trigger" : Input ("visible-table-change-trigger" , "data" ),
420+ "unused_left_hide_trigger" : Input ("left-hide-trigger" , "data" ),
421+ "unused_right_hide_trigger" : Input ("right-hide-trigger" , "data" ),
422+ "unused_file_loaded" : Input ("file-loaded-trigger" , "data" ),
464423 "c_key" : Input ("c-picker-3d" , "value" ),
465424 },
466425 state = {
467- ** ANIMATION_STATE , # ispaused, slider_arg, decay
468- ** VISUAL_STATE , # overlay_enable, colormap
469- ** COMMON_STATE , # size_vary, darkmode, session_id, file, file_list
426+ "slider_arg" : State ("slider-frame" , "value" ),
427+ "ispaused" : State ("interval-component" , "disabled" ),
428+ "decay" : State ("decay-slider" , "value" ),
429+ "colormap" : State ("colormap-3d" , "value" ),
430+ "overlay_enable" : State ("overlay-switch" , "value" ),
431+ "size_vary" : State ("size-vary-switch" , "value" ),
432+ "darkmode" : State ("darkmode-switch" , "value" ),
433+ "session_id" : State ("session-id" , "data" ),
434+ "file" : State ("current-file" , "data" ),
435+ "file_list" : State ("file-add" , "value" ),
470436 "trigger_val" : State ("background-trigger" , "data" ),
471437 "data_path" : State ("data-path" , "value" ),
472438 "case" : State ("test-case" , "value" ),
@@ -626,7 +592,9 @@ def regenerate_figure_callback(
626592 "trigger_idx" : Input ("background-trigger" , "data" ),
627593 },
628594 state = {
629- ** FILTER_STATE , # cat_values, num_values, visible_list
595+ "cat_values" : State ({"type" : "filter-dropdown" , "index" : ALL }, "value" ),
596+ "num_values" : State ({"type" : "filter-slider" , "index" : ALL }, "value" ),
597+ "visible_list" : State ("visible-picker" , "value" ),
630598 "c_key" : State ("c-picker-3d" , "value" ),
631599 "session_id" : State ("session-id" , "data" ),
632600 "file" : State ("current-file" , "data" ),
0 commit comments