Ë
    Ûvžj%F  ã                   ó¦  — d Z ddlZej                  j                  d«      €ddlmZmZmZmZ dZ	nddl
mZmZ d„ ZdZ	dd	lmZ dd
lmZ g d¢Z G d„ de«      Z G d„ de«      Zg d¢Zej&                  ej(                  ej*                  ej,                  dœZg d¢Zeg d¢z   Zg d¢Zeez   dgz   Zg d¢Zddddddddej,                  ddœ
a	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%d„Zd„ Zd„ Z 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d„Z!d„ Z"d„ Z#d„ Z$d'd„Z%d(d „Z&d(d!„Z'd)d"„Z(d#„ Z)d$„ Z*y)*zConfiguration of the vieweré    NÚJUPYTER_CADQUERY)Úsend_commandÚsend_configÚget_portÚ	is_pytestF)r   r   c                   ó   — y)NF© r	   ó    úb/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/ocp_vscode/config.pyÚ<lambda>r      s   € ˜r
   T)ÚColor)ÚEnum)Úworkspace_configÚcombined_configÚset_viewer_configÚset_defaultsÚreset_defaultsÚget_defaultÚget_defaultsÚstatusÚCameraÚCollapseÚcheck_deprecatedc                   ó   — e Zd ZdZdZdZdZy)r   zCamera reset modesÚresetÚcenterÚkeepN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚRESETÚCENTERÚKEEPr	   r
   r   r   r   4   s   „ Ùà€EØ€FØ�Dr
   r   c                   ó    — e Zd ZdZdZdZdZdZy)r   z*Collapse modes for the CAD navigation treer   é   é   é   N)r   r   r    r!   ÚNONEÚLEAVESÚALLÚROOTr	   r
   r   r   r   <   s   „ Ù4à€DØ€FØ
€CØ�Dr
   r   )ÚEÚ1ÚCÚR)ÚaxesÚaxes0Úblack_edgesÚgridÚorthoÚtransparentÚexplodeÚambient_intensityÚdirect_intensityÚ	metalnessÚ	roughnessÚclip_slider_0Úclip_slider_1Úclip_slider_2Úclip_normal_0Úclip_normal_1Úclip_normal_2Úclip_planesÚclip_intersectionÚclip_object_colors)ÚcollapseÚdarkÚglassÚorbit_controlÚticksÚcenter_gridÚtoolsÚ
tree_widthÚupÚ	pan_speedÚrotate_speedÚ
zoom_speedr8   r9   r:   r;   Úangular_toleranceÚdefault_colorÚdefault_edgecolorÚdefault_facecolorÚdefault_thickedgecolorÚdefault_vertexcolorÚdefault_opacityÚ	deviationÚmodifier_keys)Úedge_accuracyÚdebugÚhelper_scaleÚrender_edgesÚrender_matesÚrender_jointsÚrender_normalsÚreset_cameraÚshow_parentÚshow_sketch_localÚtimeitÚzoom)r1   r2   r4   rJ   r5   r6   r3   r7   re   ÚpositionÚ
quaternionÚtargetrS   rW   r8   r9   r:   r;   rP   rN   rO   rG   rK   rL   rE   ç      ð?©
r]   r`   r^   r_   r\   rb   rc   rd   rE   r[   c'                 óÊ  — t         s|%€
t        «       }%t        «       j                  «       D �'�(ci c]  \  }'}(|(€Œ	|'|(“Œ })}'}(|)j	                  d«      �t
        |)d   j                     |)d<   |)j	                  d«      �t        |)d   «      j                  |)d<   d|)dœ}*	 t        |*|%|&¬«       yc c}(}'w # t        $ r'}+t        dt        |+j                  «      z   «      |+‚d}+~+ww xY w)zSet viewer configNrE   rS   Úui)ÚtypeÚconfig©ÚportÚtitlez1Cannot set viewer config. Is the viewer running?
)Úis_jupyter_cadqueryr   ÚlocalsÚitemsÚgetÚCOLLAPSE_MAPPINGÚvaluer   Ú	web_colorr   Ú	ExceptionÚRuntimeErrorÚstrÚargs),r1   r2   r4   rJ   r5   r6   r3   r7   re   rf   rg   rh   rS   rW   r8   r9   r:   r;   rP   rN   rO   rG   rK   rL   rE   ra   ÚstatesÚtabr<   r=   r>   r?   r@   rA   rC   rB   rD   rp   ÚviewerÚkÚvrn   ÚdataÚexs,                                               r   r   r   É   së   € õT  4 <Ü‹zˆä%›xŸ~™~Ô/ÔAÑ/‘t�q˜!°1±=ˆa�‰dÐ/€FÑAà‡z�z�*ÓÐ)Ü-¨f°ZÑ.@×.FÑ.FÑGˆˆzÑØ‡z�zÐ%Ó&Ð2Ü&+¨FÐ3FÑ,GÓ&H×&RÑ&RˆÐ"Ñ#ð Øñ€Dð
Ü�D˜t¨6Ö2ùó Bøô ò ÜØ@Ä3ÀrÇwÁwÃ<ÑOó
àð	ûðús"   ®
B,¹B,ÂB2 Â2	C"Â;"CÃC"c                 ó4   — t        «       j                  | «      S )zGet default value for key)r   ru   )Úkeys    r   r   r     s   € ä‹>×Ñ˜cÓ"Ð"r
   c                  óV   — t        t        «       «      } | j                  t        «       | S )zGet all defaults)Údictr   ÚupdateÚDEFAULTS)Úresults    r   r   r     s!   € äÔ"Ó$Ó%€FØ
‡M�M”(ÔØ€Mr
   c4           
      ó„  — t        «       j                  «       D �4�5ci c]  \  }4}5|5€Œ	|4|5“Œ }6}4}5t        |6«      }6|6j                  «       D ]0  \  }7}8|7t        v s
t        r|7dv r
|8t
        |7<   Œ"t        d|7› d�«       Œ2 t        dd|1i|6j                  «       D �4�5ci c]  \  }4}5|4t        v sŒ|4|5“Œ c}5}4¤Ž yc c}5}4w c c}5}4w )a/  Set viewer defaults
    Keywords to configure the viewer:
    - UI
        glass:             Use glass mode where tree is an overlay over the cad object (default=False)
        tools:             Show tools (default=True)
        tree_width:        Width of the object tree (default=240)

    - Viewer
        axes:              Show axes (default=False)
        axes0:             Show axes at (0,0,0) (default=False)
        grid:              Show grid (default=False)
        ortho:             Use orthographic projections (default=True)
        transparent:       Show objects transparent (default=False)
        default_opacity:   Opacity value for transparent objects (default=0.5)
        black_edges:       Show edges in black color (default=False)
        orbit_control:     Mouse control use "orbit" control instead of "trackball" control (default=False)
        collapse:          Collapse.LEAVES: collapse all single leaf nodes,
                           Collapse.ROOT: expand root only,
                           Collapse.ALL: collapse all nodes,
                           Collapse.NONE: expand all nodes
                           (default=Collapse.ROOT)
        ticks:             Hint for the number of ticks in both directions (default=10)
        center_grid:       Center the grid at the origin or center of mass (default=False)
        up:                Use z-axis ('Z') or y-axis ('Y') as up direction for the camera (default="Z")
        explode:           Turn on explode mode (default=False)

        zoom:              Zoom factor of view (default=1.0)
        position:          Camera position
        quaternion:        Camera orientation as quaternion
        target:            Camera look at target
        reset_camera:      Camera.RESET: Reset camera position, rotation, zoom and target
                           Camera.CENTER: Keep camera position, rotation, zoom, but look at center
                           Camera.KEEP: Keep camera position, rotation, zoom, and target
                           (default=Camera.RESET)
        clip_slider_0:     Setting of clipping slider 0 (default=None)
        clip_slider_1:     Setting of clipping slider 1 (default=None)
        clip_slider_2:     Setting of clipping slider 2 (default=None)
        clip_normal_0:     Setting of clipping normal 0 (default=[-1,0,0])
        clip_normal_1:     Setting of clipping normal 1 (default=[0,-1,0])
        clip_normal_2:     Setting of clipping normal 2 (default=[0,0,-1])
        clip_intersection: Use clipping intersection mode (default=[False])
        clip_planes:       Show clipping plane helpers (default=False)
        clip_object_colors: Use object color for clipping caps (default=False)

        pan_speed:         Speed of mouse panning (default=1)
        rotate_speed:      Speed of mouse rotate (default=1)
        zoom_speed:        Speed of mouse zoom (default=1)

    - Renderer
        deviation:         Shapes: Deviation from linear deflection value (default=0.1)
        angular_tolerance: Shapes: Angular deflection in radians for tessellation (default=0.2)
        edge_accuracy:     Edges: Precision of edge discretization (default: mesh quality / 100)

        default_color:     Default mesh color (default=(232, 176, 36))
        default_edgecolor: Default mesh color (default=(128, 128, 128))
        ambient_intensity: Intensity of ambient light (default=1.00)
        direct_intensity:  Intensity of direct light (default=1.10)
        metalness:         Metalness property of the default material (default=0.30)
        roughness:         Roughness property of the default material (default=0.65)

        render_edges:      Render edges  (default=True)
        render_normals:    Render normals (default=False)
        render_mates:      Render mates for MAssemblies (default=False)
        render_joints:     Render mates for MAssemblies (default=False)
        show_parent:       Render parent of faces, edges or vertices as wireframe (default=False)
        show_sketch_local: In build123d show local sketch in addition to relocate sketch (default=True)
        helper_scale:      Scale of rendered helpers (locations, axis, mates for MAssemblies) (default=1)

    - Debug
        debug:             Show debug statements to the VS Code browser console (default=False)
        timeit:            Show timing information from level 0-3 (default=False)

    - Jupyter Cadquery only:
        viewer:            The title of the sidecar in Jupyter CadQuery
        cad_width:         The viewer width in  Jupyter CadQuery
        height:            The viewer height in  Jupyter CadQuery
    N)r   Ú	cad_widthÚheightÚ'z' is an unkown config, ignored!r   r	   )	rs   rt   r   ÚCONFIG_KEYSrr   r‰   Úprintr   ÚCONFIG_SET_KEYS)9rG   rK   rL   r1   r2   r4   r5   r6   rW   r3   rH   rE   rI   rJ   rM   r7   re   ra   r<   r=   r>   r?   r@   rA   rC   rB   rD   rN   rO   rP   rX   rQ   rZ   rR   rS   r8   r9   r:   r;   r]   r`   r^   r_   rb   rc   r\   Ú
mate_scaler[   rd   r   rŒ   r�   r€   r�   Úkwargsr…   rw   s9                                                            r   r   r     sÆ   € ôL  &›xŸ~™~Ô/ÔAÑ/‘t�q˜!°1±=ˆa�‰dÐ/€FÑAä˜fÓ%€Fà—l‘l–n‰
ˆˆUØ”+ÑÝ CÐ+LÑ$Là!ŒH�SŠMä�A�c�UÐ9Ð:Õ;ð %ô ñ ØðØ+1¯<©<¬>ÔR©>¡4 1 a¸QÄ/Ò=Q˜!˜Q™$¨>ÒRóùó Bùó Ss   œ
B6§B6ÂB<Â*B<c                 ó    — |€t        | «      S |S )zSet default value for key)r   )r…   rw   s     r   Úpresetr•   ®  s   € à$˜}Œ;�sÓÐ7°%Ð7r
   c                 óh   — | j                  «       D ��ci c]  \  }}|t        v sŒ||“Œ c}}S c c}}w )z/Filter out all non-UI keys from the config dict)rt   ÚCONFIG_UI_KEYS©Úconfr€   r�   s      r   Ú	ui_filterrš   ³  s/   € à!ŸZ™Zœ\ÔA™\‘T�Q˜¨Q´.Ò-@ˆAˆq‰D˜\ÒAÐAùÓAó   ”.¥.c                 óh   — | j                  «       D ��ci c]  \  }}|t        v sŒ||“Œ c}}S c c}}w )z6Filter out all non-workspace keys from the config dict)rt   ÚCONFIG_WORKSPACE_KEYSr˜   s      r   Úworkspace_filterrž   ¸  s0   € à!ŸZ™Zœ\ÔH™\‘T�Q˜¨QÔ2GÒ-GˆAˆq‰D˜\ÒHÐHùÓHr›   c                 ón  — t        «       ri S t        s| €
t        «       } 	 t        d| |¬«      }|r|j	                  dd«      S |j	                  d«      �t
        |d      |d<   t        t        |j                  «       «      «      S # t        $ r'}t        dt        |j                  «      z   «      |‚d}~ww xY w)zGet viewer statusNr   ro   Ú_debugStartedFrE   z4Cannot access viewer status. Is the viewer running?
)r   rr   r   r   ru   ÚCOLLAPSE_REVERSE_MAPPINGr‡   Úsortedrt   ry   rz   r{   r|   )rp   r   r[   Úresponserƒ   s        r   r   r   ½  s­   € ô „{Øˆ	å 4 <Ü‹zˆðÜ ¨t¸6ÔBˆÙØ—<‘< °Ó7Ð7à�|‰|˜JÓ'Ð3Ü'?ÀÈÑ@TÑ'U�˜Ñ$Üœ˜xŸ~™~Ó/Ó0Ó1Ð1øäò ÜØCÄcÈ"Ï'É'ÃlÑRó
àð	ûðús    !B ÁAB Â	B4Â"B/Â/B4c           	      óØ  — t        «       rdddddœS t        s| €
t        «       } 	 t        d| |¬«      }t        j
                  t        j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  dœ}t        |j                  d	«      t        «      r||j                  d	d
«         |d	<   t        |j                  d«      t        «      r*t        |j                  dd«      j                  «          |d<   t        |«      S # t        $ r'}t!        dt        |j"                  «      z   «      |‚d}~ww xY w)zGet viewer workspace configF)r&   éê   é8   )é{   é-   é   )Ú_splashrT   rU   rV   Nrn   ro   )ÚnoneÚleavesÚallÚrootr-   r.   r/   r0   rE   r0   ra   r"   ú4Cannot access viewer config. Is the viewer running?
)r   rr   r   r   r   r)   r*   r+   r,   Ú
isinstanceru   r{   r   Úupperr‡   ry   rz   r|   )rp   r   r™   Úmappingrƒ   s        r   r   r   Ô  s   € ô „{àØ!-Ø&2Ø#/ñ	
ð 	
õ  4 <Ü‹zˆðÜ˜H¨4°vÔ>ˆä—M‘MÜ—o‘oÜ—<‘<Ü—M‘MÜ—‘Ü—‘Ü—‘Ü—‘ñ	
ˆô �d—h‘h˜zÓ*¬CÔ0Ø& t§x¡x°
¸CÓ'@ÑAˆD�ÑÜ�d—h‘h˜~Ó.´Ô4Ü#)¨$¯(©(°>À7Ó*K×*QÑ*QÓ*SÑ#TˆD�Ñ Ü�D‹zÐøäò ÜØCÄcÈ"Ï'É'ÃlÑRó
àð	ûðús   ¥DD9 Ä9	E)Å"E$Å$E)c                 óŽ  — t         s| €
t        «       } 	 t        | |¬«      }t        | |¬«      }|j                  dd«       }|j                  t        «       |r|j                  t        |«      «       t        t        |j                  «       «      «      S # t        $ r'}t        dt        |j                  «      z   «      |‚d}~ww xY w)z-Get combined config from workspace and statusN)rp   r   r¯   rª   F)rr   r   r   r   ry   rz   r{   r|   ru   rˆ   r‰   rž   r‡   r¢   rt   )rp   r   Úwspace_configÚwspace_statusrƒ   Ú
use_statuss         r   r   r   ù  s¶   € õ  4 <Ü‹zˆðÜ(¨d¸6ÔBˆÜ D°Ô8ˆð #×&Ñ& y°%Ó8Ð8€Jà×ÑœÔ"áØ×ÑÔ-¨mÓ<Ô=Ü”�}×*Ñ*Ó,Ó-Ó.Ð.øô ò ÜØCÄcÈ"Ï'É'ÃlÑRó
àð	ûðús   ”B Â	CÂ"B?Â?Cc                 ój   — t        «       }|j                  t        «       | €|S |j                  | «      S )z,Get changed config from workspace and status)r   rˆ   r‰   ru   )r…   r´   s     r   Úget_changed_configr¸     s4   € ä$Ó&€MØ×ÑœÔ"Ø
€{ØÐà× Ñ  Ó%Ð%r
   c                  ó(  — t        «       j                  «       D � �ci c]  \  } }| t        v r| |“Œ }} }t        j                  |d<   t        d	i |¤Ž |j                  d«      �t        |d   ¬«       ddddddddt        j                  ddœ
a	yc c}} w )
z,Reset defaults not given in workspace configra   r6   N)r6   TFri   rj   r	   )
r   rt   r‘   r   r"   r   ru   r   r,   r‰   )r…   rw   rn   s      r   r   r     s§   € ô +Ó,×2Ñ2Ô4ôá4‰JˆC�Ø”/Ñ!ð 	ˆU‰
Ø4ð ñ ô
 $Ÿ\™\€Fˆ>ÑäÑ˜Òà‡z�z�-Ó Ð,Ü f¨]Ñ&;Õ<ð ØØØØØØ!ØÜ—M‘MØñ�Hùós   œBc                 ó  — | j                  d«      �t        d«       | d   | d<   | d= | j                  d«      du rt        d«       t        j                  | d<   | j                  d«      du rt        d«       t        j                  | d<   | j                  d	«      d
k(  rt        d«       t
        j                  | d	<   | j                  d	«      dk(  s| j                  d	«      dk(  rt        d«       t
        j                  | d	<   | j                  d	«      dk(  rt        d«       t
        j                  | d	<   | j                  d	«      dk(  rt        d«       t
        j                  | d	<   | j                  d«      �t        d«       | d   dk(  | d<   | S )zCheck for deprecated argumentsr’   z4
mate_scale is deprecated, use helper_scale instead
r\   ra   TzL
'reset_camera=True' is deprecated, use 'reset_camera=Camera.RESET' instead
FzN
'reset_camera=False' is deprecated, use 'reset_camera=Camera.CENTER' instead
rE   r/   zC
'collapse="C"' is deprecated, use 'collapse=Collapse.ALL' instead
r.   r&   zF
'collapse="1"' is deprecated, use 'collapse=Collapse.LEAVES' instead
r0   zD
'collapse="R"' is deprecated, use 'collapse=Collapse.ROOT' instead
r-   zD
'collapse="E"' is deprecated, use 'collapse=Collapse.NONE' instead
Úcontrolz]
'control="orbit" or "trackball"' is deprecated, use 'orbit_control=True' or 'False' instead
ÚorbitrH   )
ru   r�   r   r"   r#   r   r+   r*   r,   r)   )r“   s    r   r   r   :  sz  € à‡z�z�,ÓÐ+ÜÐFÔGØ!'¨Ñ!5ˆˆ~ÑØ�<Ð à‡z�z�.Ó! TÑ)ÜØ\ô	
ô "(§¡ˆˆ~Ñà‡z�z�.Ó! UÑ*ÜØ^ô	
ô "(§¡ˆˆ~Ñà‡z�z�*Ó Ò$ÜÐWÔXÜ%Ÿ\™\ˆˆzÑà‡z�z�*Ó Ò$¨¯
©
°:Ó(>À!Ò(CÜØXô	
ô &Ÿ_™_ˆˆzÑà‡z�z�*Ó Ò$ÜØVô	
ô &Ÿ]™]ˆˆzÑà‡z�z�*Ó Ò$ÜØVô	
ô &Ÿ]™]ˆˆzÑà‡z�z�)ÓÐ(ÜØqô	
ð #)¨Ñ"3°wÑ">ˆˆÑà€Mr
   )'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)4NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)NNF)NN)N)+r!   ÚosÚenvironru   Úocp_vscode.commsr   r   r   r   rr   Újupyter_cadquery.commsÚocp_tessellate.utilsr   Úenumr   Ú__all__r   r   rv   r)   r*   r+   r,   r¡   r—   r�   ÚCONFIG_CONTROL_KEYSr�   r‘   r‰   r   r   r   r   r•   rš   rž   r   r   r   r¸   r   r   r	   r
   r   Ú<module>rÅ      sT  ðÙ !ó$ 
à‡:�:‡>�>Ð$Ó%Ð-ßOÓOàÑç@á€IàÐå &å ò€ôˆTô ôˆtô ò (Ð ð 
�‰Ø	�‰Ø	�‰Ø	�‰ñ	Ð ò€ð. 'ò *ñ Ð ò>Ð ð $Ð&9Ñ9¸V¸HÑD€ò$€ðN ØØØØØØØØ—‘Øñ€ð  
Ø
Ø	ØØ
ØØØØ	ØØØØØØØØØØØØØ
Ø
ØØØØØØØØØØØØØØØ	ØóO?òD#ò
ð Ø
ØØ	Ø
Ø	Ø
ØØØØØØ
ØØØØ	ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ
ØàØØókTòn8ò
Bò
Ió
ó."óJ/ó0&òó>/r
   