§
    YÂj;*  ã                  ót  — d Z ddlmZ ddlZddlmc mZ ddl	Z	ddl
Z
ddlmZ ddlZddlmZmZmZmZ ddlZ ee¦  «                             ¦   «         j        j        Zedz  dz  dz  d	z  Zed
z  dz  Zedz  dz  Zedz  ZdZdGd„ZdHd„ZdId„Z G d„ d¦  «        Z dJd„Z!dKd „Z"dLd"„Z#dLd#„Z$e%d$k    �r„ e&d%¦  «          e&d&¦  «          e&d%¦  «          e"¦   «         \  Z'Z(Z) e&d'e)d(         › �¦  «          e&d)e)d*         › �¦  «          e&d+e)d,         d-›d.e)d/         d-›d0�¦  «          e&d1e)d2         d-›d.e)d3         d-›d0�¦  «          e&d4e)d5         › �¦  «          e&d6e)d7         › �¦  «          e&d8¦  «         e'D ]{Z*e*j+        e*j,        z   e*j-        z   e*j.        z   e*j/        z   dk    rd9nd:Z0 e&d;e0› d<e*j1        j2        d=›d>e*j3        d?›d@e*j4        dA›d.e*j5        dA›dBe*j6        dA›d.e*j7        dA›d0�¦  «         Œ| e&d%¦  «         e)d7         dCk    r e&dD¦  «         dS  e&dE¦  «          e8dF¦  «         dS dS )MzŸ
Empirical Adversarial Stress Test: UV Coordinate Geometry & Texture Clamping
Audits all generated Cocos 3.8.x manifests across VFX, Monsters, and Characters.
é    )ÚannotationsN)ÚPath)ÚAnyÚDictÚListÚTupleÚclientÚcocosÚassetsÚ	resourcesÚvfxz#savage_primal_skills_vfx_atlas.jsonÚmonstersÚ
archetypesÚ
charactersg�íµ ÷Æ°>ÚvalÚfloatÚreturnc           	     óx   — t          j        dt          j        dt          | ¦  «        ¦  «        ¦  «        d         S )z;Converts a Python float to single-precision IEEE 754 float.Úfr   )ÚstructÚunpackÚpackr   )r   s    ú<C:\Projects\FreeExile\tests\challenger_uv_geometry_stress.pyÚ
to_float32r      s+   € åŒ=˜�fœk¨#­u°S©z¬zÑ:Ô:Ñ;Ô;¸AÔ>Ð>ó    ÚnÚintÚboolc                ó&   — | dk    o| | dz
  z  dk    S )z-Returns True if n is a positive power of two.r   é   © )r   s    r   Úis_power_of_twor"      s   € àˆqŠ5Ð'�a˜1˜q™5‘k aÒ'Ð'r   ú
List[Path]c                 ó`  — g } t                                ¦   «         r|                      t           ¦  «         t          t                               d¦  «        ¦  «        }|                      |¦  «         t          t                               d¦  «        ¦  «        }|                      |¦  «         | S )zLCollects all canonical generated manifests (VFX, 10 Monsters, 6 Characters).ú*/*_anim_manifest.json)ÚVFX_MANIFESTÚexistsÚappendÚsortedÚMONSTERS_DIRÚglobÚextendÚCHARACTERS_DIR)Ú	manifestsÚmonster_manifestsÚcharacter_manifestss      r   Úcollect_target_manifestsr1   #   s™   € à€IÝ×ÒÑÔð 'Ø×Ò�Ñ&Ô&Ð&å�|×0Ò0Ð1IÑJÔJÑKÔKÐØ×ÒÐ&Ñ'Ô'Ð'å ¥×!4Ò!4Ð5MÑ!NÔ!NÑOÔOÐØ×ÒÐ(Ñ)Ô)Ð)àÐr   c                  ó   — e Zd ZdZdd„ZdS )ÚFrameAuditMetricz5Holds empirical audit findings for a single manifest.Úmanifest_pathr   c                óØ   — || _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d S )Nr   ç      ð?ç        )ÚpathÚtotal_framesÚmin_uÚmax_uÚmin_vÚmax_vÚuv_out_of_bounds_violationsÚuv_degenerate_violationsÚarea_violationsÚpivot_violationsÚsampler_clamp_violationsÚfloat32_precision_violationsÚpixel_sync_violationsÚpot_violationsÚtexture_boundary_violations)Úselfr4   s     r   Ú__init__zFrameAuditMetric.__init__5   s{   € Ø!ˆŒ	ØˆÔØˆŒ
ØˆŒ
ØˆŒ
ØˆŒ
Ø+,ˆÔ(Ø()ˆÔ%Ø ˆÔØ !ˆÔØ()ˆÔ%Ø,-ˆÔ)Ø%&ˆÔ"ØˆÔØ+,ˆÔ(Ð(Ð(r   N)r4   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rH   r!   r   r   r3   r3   2   s.   € € € € € Ø?Ð?ð-ð -ð -ð -ð -ð -r   r3   r4   r   c           	     óè  — t          | ¦  «        }t          | dd¬¦  «        5 }t          j        |¦  «        }ddd¦  «         n# 1 swxY w Y   t	          |                     d|                     dd¦  «        ¦  «        ¦  «        }t	          |                     d|                     d	d¦  «        ¦  «        ¦  «        }t          |¦  «        rt          |¦  «        s|xj        d
z  c_        |                     d¦  «        p|                     d¦  «        }|rt          |¦  «        dk    r|xj	        d
z  c_	        nRt          |d         dz
  ¦  «        t          k    s!t          |d
         dz
  ¦  «        t          k    r|xj	        d
z  c_	        g }d|v r�t          |d         t          ¦  «        rf|d                              ¦   «         D ]K\  }}	t          |	                     dg ¦  «        ¦  «        D ]"\  }
}|                     |› d|
› d�|f¦  «         Œ#ŒLd|v rVt          |d         t          ¦  «        r;|d                              ¦   «         D ] \  }}|                     d|› d�|f¦  «         Œ!|D �]\  }}|xj        d
z  c_        |                     dd¦  «        }|                     dd¦  «        }|dk    s|dk    s	||z  dk    r|xj        d
z  c_        |                     dd¦  «        }|                     dd¦  «        }|dk     s|dk     s||z   |k    s	||z   |k    r|xj        d
z  c_        |                     d|¦  «        }|rt          |¦  «        dk    r|xj	        d
z  c_	        nRt          |d         dz
  ¦  «        t          k    s!t          |d
         dz
  ¦  «        t          k    r|xj	        d
z  c_	        |                     d¦  «        }|rt          |¦  «        dk    r|xj        d
z  c_        �Œ‹t+          |d         ¦  «        t+          |d
         ¦  «        t+          |d         ¦  «        t+          |d         ¦  «        f\  }}}}t-          |j        |¦  «        |_        t1          |j        |¦  «        |_        t-          |j        |¦  «        |_        t1          |j        |¦  «        |_        d|cxk    rdk    r2n n/d|cxk    rdk    r"n nd|cxk    rdk    rn nd|cxk    rdk    sn |xj        d
z  c_        ||k    s||k    r|xj        d
z  c_        |dk    rÐ|dk    rÊ|t+          |¦  «        z  }|t+          |¦  «        z  }||z   t+          |¦  «        z  }||z   t+          |¦  «        z  }t          ||z
  ¦  «        t          k    sQt          ||z
  ¦  «        t          k    s6t          ||z
  ¦  «        t          k    st          ||z
  ¦  «        t          k    r|xj        d
z  c_        ||f||f||f||fg}|D ]‡\  }}t1          dt-          d|¦  «        ¦  «        }t1          dt-          d|¦  «        ¦  «        } t          ||z
  ¦  «        t          k    st          || z
  ¦  «        t          k    r|xj        d
z  c_        Œˆ|dk    r_|dk    rY|dt+          |¦  «        z  z   }!|dt+          |¦  «        z  z   }"d|!cxk    rdk    rn nd|"cxk    rdk    sn |xj        d
z  c_        t?          |¦  «        t?          |¦  «        }$}#t?          |¦  «        t?          |¦  «        }&}%d|#cxk    r|$cxk     rdk    rn nd|%cxk    r|&cxk     rdk    sn |xj         d
z  c_         �Œ|S )zGExecutes exhaustive adversarial verification against a single manifest.Úrzutf-8)ÚencodingNÚtextureWidthÚtexture_widthr   ÚtextureHeightÚtexture_heightr    ÚdefaultPivotÚpivoté   g      à?gÍÌÌÌÌÌì?ÚclipsÚframesú[ú]z
top_level[ÚwÚhÚxÚyÚuvé   é   r7   r6   )!r3   ÚopenÚjsonÚloadr   Úgetr"   rE   ÚlenrA   ÚabsÚEPSILONÚ
isinstanceÚdictÚitemsÚ	enumerater(   r9   r@   rF   r>   r   Úminr:   Úmaxr;   r<   r=   r?   rD   rB   r   rC   )'r4   Úmetricr   ÚdataÚtex_wÚtex_hÚ	def_pivotÚframe_descriptorsÚ	clip_nameÚ	clip_dataÚidxÚframeÚframe_idÚframe_labelr[   r\   r]   r^   Úpr_   Úu0Úv0Úu1Úv1Úexp_u0Úexp_v0Úexp_u1Úexp_v1ÚcornersÚcuÚcvÚ	clamped_uÚ	clamped_vÚtexel_center_uÚtexel_center_vÚu0_f32Úu1_f32Úv0_f32Úv1_f32s'                                          r   Úaudit_manifestr�   G   sP  € å˜mÑ,Ô,€FÝ	ˆm˜S¨7Ð	3Ñ	3Ô	3ð ,°qÝ#œy¨™|œ|ˆð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,õ �—’˜¨¯ª°/À1Ñ)EÔ)EÑFÔFÑGÔG€EÝ�—’˜¨$¯(ª(Ð3CÀQÑ*GÔ*GÑHÔHÑIÔI€Eå˜EÑ"Ô"ð #¥°uÑ'=Ô'=ð #ØÐÔ Ñ"ÐÔà—’˜Ñ(Ô(Ð=¨D¯HªH°WÑ,=Ô,=€IØð %�˜I™œ¨!Ò+Ð+ØÐÔ 1Ñ$ÐÔÐÝ	ˆY�qŒ\˜CÑÑ	 Ô	 ¥7Ò	*Ð	*­c°)¸A´,ÀÑ2EÑ.FÔ.FÍÒ.PÐ.PØÐÔ 1Ñ$ÐÔð ;=ÐØ�$€€�: d¨7¤mµTÑ:Ô:€Ø$(¨¤M×$7Ò$7Ñ$9Ô$9ð 	Ið 	IÑ ˆI�yÝ'¨	¯ª°hÀÑ(CÔ(CÑDÔDð Ið I‘
��UØ!×(Ò(¨YÐ*?Ð*?¸Ð*?Ð*?Ð*?ÀÐ)GÑHÔHÐHÐHðIð �4ÐÐ�J t¨H¤~µtÑ<Ô<ÐØ# Hœ~×3Ò3Ñ5Ô5ð 	Hð 	H‰OˆH�eØ×$Ò$Ð&>°8Ð&>Ð&>Ð&>ÀÐ%FÑGÔGÐGÐGà/ð H5ñ H5Ñˆ�UØÐÔ˜qÑ ÐÔð �IŠI�c˜1ÑÔˆØ�IŠI�c˜1ÑÔˆØ�Š6ˆ6�Q˜!’V�V  A¡¨!š|˜|ØÐ"Ô" aÑ'Ð"Ô"à�IŠI�c˜1ÑÔˆØ�IŠI�c˜1ÑÔˆØˆqŠ5ˆ5�A˜’E�E˜a !™e uš_˜_°°Q±¸%²°ØÐ.Ô.°!Ñ3Ð.Ô.ð �IŠI�g˜yÑ)Ô)ˆØð 	)•C˜‘F”F˜a’K�KØÐ#Ô# qÑ(Ð#Ô#Ð#Ý��1”˜‘‰_Œ_�wÒ&Ð&­#¨a°¬d°T©kÑ*:Ô*:½WÒ*DÐ*DØÐ#Ô# qÑ(Ð#Ô#ð �YŠY�t‰_Œ_ˆØð 	•S˜‘W”W ’\�\ØÐ.Ô.°!Ñ3Ð.Ô.Ùå˜r !œu™œ¥u¨R°¬U¡|¤|µU¸2¸a¼5±\´\Å5ÈÈAÌÁ<Ä<ÐO‰ˆˆB��BÝ˜6œ<¨Ñ,Ô,ˆŒÝ˜6œ<¨Ñ,Ô,ˆŒÝ˜6œ<¨Ñ,Ô,ˆŒÝ˜6œ<¨Ñ,Ô,ˆŒà�rÐ Ð Ò Ð ˜SÒ Ð Ð Ð Ð  S¨BÐ%5Ð%5Ò%5Ð%5°#Ò%5Ð%5Ð%5Ð%5Ð%5¸#ÀÐ:JÐ:JÒ:JÐ:JÀsÒ:JÐ:JÐ:JÐ:JÐ:JÈsÐVXÐO_ÐO_ÒO_ÐO_Ð\_ÒO_ÐO_ÐO_ÐO_ØÐ.Ô.°!Ñ3Ð.Ô.à�Š8ˆ8�r˜R’x�xØÐ+Ô+¨qÑ0Ð+Ô+ð �1Š9ˆ9˜ š˜Ø�˜u™œÑ%ˆFØ�˜u™œÑ%ˆFØ˜!‘e�u U™|œ|Ñ+ˆFØ˜!‘e�u U™|œ|Ñ+ˆFå�B˜‘KÑ Ô ¥7Ò*Ð*Ý�r˜F‘{Ñ#Ô#¥gÒ-Ð-Ý�r˜F‘{Ñ#Ô#¥gÒ-Ð-Ý�r˜F‘{Ñ#Ô#¥gÒ-Ð-àÐ,Ô,°Ñ1Ð,Ô,ð ˜�8˜b "˜X¨¨B x°"°b°Ð:ˆØð 	5ð 	5‰FˆB�Ý˜C¥ S¨"¡¤Ñ.Ô.ˆIÝ˜C¥ S¨"¡¤Ñ.Ô.ˆIÝ�2˜	‘>Ñ"Ô"¥WÒ,Ð,µ°B¸±NÑ0CÔ0CÅgÒ0MÐ0MØÐ/Ô/°1Ñ4Ð/Ô/øð �1Š9ˆ9˜ š˜Ø #­¨e©¬Ñ"4Ñ4ˆNØ #­¨e©¬Ñ"4Ñ4ˆNØ˜>Ð0Ð0Ò0Ð0¨SÒ0Ð0Ð0Ð0Ð0°S¸NÐ5QÐ5QÒ5QÐ5QÈcÒ5QÐ5QÐ5QÐ5QØÐ/Ô/°1Ñ4Ð/Ô/õ $ B™œ­°B©¬�ˆÝ# B™œ­°B©¬�ˆØ�vÐ-Ð-Ò-Ð- Ð-Ð-Ò-Ð-¨#Ò-Ð-Ð-Ð-Ð-°#¸Ð2OÐ2OÒ2OÐ2OÀ&Ð2OÐ2OÒ2OÐ2OÈCÒ2OÐ2OÐ2OÐ2OØÐ/Ô/°1Ñ4Ð/Ô/ùà€Ms   ¢AÁAÁ
Aú2Tuple[List[FrameAuditMetric], int, Dict[str, Any]]c            	     ó*  — t          ¦   «         } g }d}d}d}d}d}d}| D ]Ð}t          |¦  «        }	|                     |	¦  «         ||	j        z  }|	j        |	j        z   |	j        z   |	j        z   |	j        z   |	j	        z   |	j
        z   |	j        z   |	j        z   }
||
z  }t          ||	j        ¦  «        }t          ||	j        ¦  «        }t          ||	j        ¦  «        }t          ||	j        ¦  «        }ŒÑt'          | ¦  «        |||||||dk    rdnddœ}|||fS )zERuns stress audit across all target manifests and aggregates results.r   r6   r7   ÚAPPROVEÚREQUEST_CHANGES)Úmanifest_countr9   Útotal_violationsÚglobal_min_uÚglobal_max_uÚglobal_min_vÚglobal_max_vÚverdict)r1   r�   r(   r9   r>   r?   r@   rA   rB   rC   rD   rE   rF   rm   r:   rn   r;   r<   r=   rf   )r.   Úmetricsr9   r•   r–   r—   r˜   r™   Úm_pathro   Úmanifest_violationsÚsummarys               r   Úrun_full_stress_auditrŸ   ±   sz  € å(Ñ*Ô*€IØ&(€Gà€LØÐØ€LØ€LØ€LØ€Làð 7ð 7ˆÝ Ñ'Ô'ˆØ�Š�vÑÔÐà˜Ô+Ñ+ˆàÔ.ØÔ-ñ.àÔ$ñ%ð Ô%ñ&ð Ô-ñ	.ð
 Ô1ñ2ð Ô*ñ+ð Ô#ñ$ð Ô0ñ1ð 	ð 	Ð/Ñ/Ðå˜<¨¬Ñ6Ô6ˆÝ˜<¨¬Ñ6Ô6ˆÝ˜<¨¬Ñ6Ô6ˆÝ˜<¨¬Ñ6Ô6ˆˆõ ˜i™.œ.Ø$Ø,Ø$Ø$Ø$Ø$Ø 0°AÒ 5Ð 5�9�9Ð;Lð	ð 	€Gð Ð$ gÐ-Ð-r   ÚNonec                 óJ  — t          ¦   «         } t          | ¦  «        }d}||k    }|�st          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }t          j        dt          | ¦  «        › �¦  «        dz   d	|iz  }t          t          j
        |¦  «        ¦  «        ‚d
x}x}}t          | v }|sæt          j        d|fdt          | f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nddœz  }t          j        d¦  «        dz   d|iz  }t          t          j
        |¦  «        ¦  «        ‚d
}t          j        }	d} |	|¦  «        }
t          |
¦  «        }t          |¦  «        }d}||k    }|�s¥t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }t          j        d¦  «        dz   d|iz  }t          t          j
        |¦  «        ¦  «        ‚d
x}	x}x}
x}x}x}}t          j        }	d} |	|¦  «        }
t          |
¦  «        }t          |¦  «        }d}||k    }|�s¥t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }t          j        d¦  «        dz   d|iz  }t          t          j
        |¦  «        ¦  «        ‚d
x}	x}x}
x}x}x}}d
S )zQAsserts that all 17 canonical manifests exist (1 VFX, 10 Monsters, 6 Characters).é   ©ú==)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)srf   r.   )Úpy0Úpy1Úpy3Úpy6zExpected 17 manifests, found z
>assert %(py8)sÚpy8N)Úin)z%(py0)s in %(py2)sr&   )r¥   Úpy2zVFX manifest missingz
>assert %(py4)sÚpy4r%   é
   )z‹%(py12)s
{%(py12)s = %(py0)s(%(py10)s
{%(py10)s = %(py1)s(%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s.glob
}(%(py6)s)
})
})
} == %(py15)sÚlistr*   )	r¥   r¦   r«   r¬   r¨   r©   Úpy10Úpy12Úpy15zExpected 10 monstersz
>assert %(py17)sÚpy17é   r-   zExpected 6 characters)r1   rf   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚ_format_assertmsgÚAssertionErrorÚ_format_explanationr&   r*   r+   r®   r-   )r.   Ú@py_assert2Ú@py_assert5Ú@py_assert4Ú@py_format7Ú@py_format9Ú@py_assert1Ú@py_format3Ú@py_format5Ú@py_assert3Ú@py_assert7Ú@py_assert9Ú@py_assert11Ú@py_assert14Ú@py_assert13Ú@py_format16Ú@py_format18s                    r   Ú$test_manifest_inventory_completenessrÍ   æ   s!  € å(Ñ*Ô*€IÝˆy‰>Œ>ÐQ˜RÐQˆ>˜RÒÐQÐQÑQÕQÔQÐQÐQÐQÐQˆ>˜RÐQÑQÔQÐQÕQÔQÑQÔQÐQÐQÕQÔQ�3ÑQÔQÐQÕQÔQ�3ÑQÔQÐQÐQÐQÕQÔQÑQÔQÐQÐQÕQÔQˆyÑQÔQÐQÕQÔQˆyÑQÔQÐQÐQÕQÔQˆ>ÑQÔQÕQÔQ˜RÑQÔQÐQÐQÑQÐQÕQÔQÐ!QÅÀYÁÄÐ!QÐ!QÑQÔQÐQÑQÐQÐQÐQÑQÐQÕQÕQÔQÐQÑQÔQÑQÔQÐQÐQÐQÐQÐQÐQÐQÝ˜9Ð$Ð<Ð<Ð<Õ<Ô<Ð<Ð<Ð<Ð<�<˜9Ð<Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<�<Ñ<Ô<Ð<Õ<Ô<�<Ñ<Ô<Ð<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<˜9Ñ<Ô<Ð<Õ<Ô<˜9Ñ<Ô<Ð<Ð<Ð<Ð<Ñ<Ð<Õ<Ô<Ð&<Ñ<Ô<Ð<Ñ<Ð<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ý Ô%Ð_Ð&>Ð_Ð%Ð%Ð&>Ñ?Ô?Ð_�tÐ?Ñ@Ô@Ð_�3Ð@ÑAÔAÐ_ÀRÐ_ÐAÀRÒGÐ_Ð_Ñ_Õ_Ô_Ð_Ð_Ð_Ð_ÐAÀRÐ_Ñ_Ô_Ð_Õ_Ô_Ñ_Ô_Ð_Ð_Õ_Ô_�3Ñ_Ô_Ð_Õ_Ô_�3Ñ_Ô_Ð_Ð_Ð_Õ_Ô_Ñ_Ô_Ð_Ð_Õ_Ô_�tÑ_Ô_Ð_Õ_Ô_�tÑ_Ô_Ð_Ð_Ð_Õ_Ô_Ñ_Ô_Ð_Ð_Õ_Ô_•LÑ_Ô_Ð_Õ_Ô_•LÑ_Ô_Ð_Ð_Õ_Ô_Ð%Ñ_Ô_Õ_Ô_Ð&>Ñ_Ô_Õ_Ô_Ð?Ñ_Ô_Õ_Ô_Ð@Ñ_Ô_Õ_Ô_ÐAÑ_Ô_Õ_Ô_ÀRÑ_Ô_Ð_Ð_Ñ_Ð_Õ_Ô_ÐI_Ñ_Ô_Ð_Ñ_Ð_Ð_Ð_Ñ_Ð_Õ_Õ_Ô_Ð_Ñ_Ô_Ñ_Ô_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ð_Ý"Ô'ÐaÐ(@ÐaÐ'Ð'Ð(@ÑAÔAÐa�tÐAÑBÔBÐa�3ÐBÑCÔCÐaÀqÐaÐCÀqÒHÐaÐaÑaÕaÔaÐaÐaÐaÐaÐCÀqÐaÑaÔaÐaÕaÔaÑaÔaÐaÐaÕaÔa�3ÑaÔaÐaÕaÔa�3ÑaÔaÐaÐaÐaÕaÔaÑaÔaÐaÐaÕaÔa�tÑaÔaÐaÕaÔa�tÑaÔaÐaÐaÐaÕaÔaÑaÔaÐaÐaÕaÔa•NÑaÔaÐaÕaÔa•NÑaÔaÐaÐaÕaÔaÐ'ÑaÔaÕaÔaÐ(@ÑaÔaÕaÔaÐAÑaÔaÕaÔaÐBÑaÔaÕaÔaÐCÑaÔaÕaÔaÀqÑaÔaÐaÐaÑaÐaÕaÔaÐJaÑaÔaÐaÑaÐaÐaÐaÑaÐaÕaÕaÔaÐaÑaÔaÑaÔaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐaÐar   c            	     ó6  — t          ¦   «         \  } }}|d         }d}||k    }|sŠt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }t          j        d|d         › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}}d
}||k    }|s²t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }	t          j        d|› d|› �¦  «        dz   d|	iz  }
t          t          j        |
¦  «        ¦  «        ‚d	x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}}d}|d         }||k    }|d         }||k    }d}||k    }|r|r|s–t          j        d|||fd||||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}x}x}x}x}}d}|d          }||k    }|d!         }||k    }d}||k    }|r|r|s–t          j        d|||fd||||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}x}x}x}x}}d	S )"z\Audits every frame descriptor across all manifests against geometric and sampler invariants.r9   i|  )ú>=)z%(py1)s >= %(py4)s)r¦   r¬   z0Expected > 5,500 audited frame descriptors, got z
>assert %(py6)sr¨   Nr   r£   )z%(py0)s == %(py3)sr•   )r¥   r§   z$Adversarial stress test failed with z violations: z
>assert %(py5)sÚpy5rš   r’   )z%(py1)s == %(py4)szassert %(py6)sr7   r–   r—   r6   )ú<=rÑ   rÑ   )z%(py1)s <= %(py6)sz%(py6)s <= %(py8)sz%(py8)s <= %(py10)s)r¦   r¨   r©   r¯   zassert %(py12)sr°   r˜   r™   )
rŸ   r´   rµ   r¹   rº   r»   r¼   r¶   r·   r¸   )r›   r•   rž   Ú@py_assert0rÅ   r½   rÄ   rÀ   rÂ   Ú@py_format4Ú@py_format6r¾   rÆ   rÇ   r¿   Ú@py_format11Ú@py_format13s                    r   Ú,test_uv_geometry_stress_and_sampler_clampingr×   ï   sƒ  € å)>Ñ)@Ô)@Ñ&€GÐ˜wà�>Ô"ð  dð Ð" dÒ*ð ð ð õ ìðð ð ð Ð" dð ñ ô õ ìð #ñ ô õ ìð '+ñ ô ð ð ñ ð õ ìð 	U¸7À>Ô;RÐTÐTñô ð ñ ð ð ð ñ ð õ õ ìðñ ô ñ ô ð ð ð ð ð ð ð ð  !ð Ð˜qÒ ð ð ð õ ìðð ð ð Ð˜qð ñ ô ð õ ìñô ð ð õ ìð ñ ô ð õ ìð ñ ô ð ð õ ìð  !ñ ô ð ð ñ ð õ ìð 	XÐ/?ÐWÐWÈgÐWÐWñô ð ñ ð ð ð ñ ð õ õ ìðñ ô ñ ô ð ð ð ð ð ð �9ÔÐ* Ð*Ð Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð Ð*Ñ*Ô*Õ*Ô*ÐÑ*Ô*Õ*Ô* Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ØÐK�'˜.Ô)ÐKˆ3Ð)ÒKÐK¨W°^Ô-DÐKÐ)Ð-DÒKÐKÈÐKÐ-DÈÒKÐKÐKÐKÐKÐKÐKÐKÕKÔKÐKÐKÐKÐKÐKÐKˆ3Ð)Ð-DÈÐKÑKÔKÕKÔKˆ3ÑKÔKÕKÔKÐ)ÑKÔKÕKÔKÐ-DÑKÔKÕKÔKÈÑKÔKÐKÐKÑKÐKÐKÐKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKØÐK�'˜.Ô)ÐKˆ3Ð)ÒKÐK¨W°^Ô-DÐKÐ)Ð-DÒKÐKÈÐKÐ-DÈÒKÐKÐKÐKÐKÐKÐKÐKÕKÔKÐKÐKÐKÐKÐKÐKˆ3Ð)Ð-DÈÐKÑKÔKÕKÔKˆ3ÑKÔKÕKÔKÐ)ÑKÔKÕKÔKÐ-DÑKÔKÕKÔKÈÑKÔKÐKÐKÑKÐKÐKÐKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKr   Ú__main__zP================================================================================zDCHALLENGER EMPIRICAL ADVERSARIAL STRESS TEST: UV GEOMETRY & CLAMPINGzManifests Audited : r”   zFrames Audited    : r9   zGlobal U Range    : [r–   z.6fz, r—   rZ   zGlobal V Range    : [r˜   r™   zTotal Violations  : r•   zEmpirical Verdict : rš   zP--------------------------------------------------------------------------------ÚPASSÚFAILrY   z] z<40z frames=Ú4dz U=[z.4fz] V=[r’   zNVERDICT: APPROVE - All UV coordinates strictly conform to [0.0, 1.0] geometry.z9VERDICT: REQUEST_CHANGES - Invariant violations detected.r    )r   r   r   r   )r   r   r   r   )r   r#   )r4   r   r   r3   )r   r�   )r   r    )9rL   Ú
__future__r   Úbuiltinsr¶   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter´   rc   ÚmathÚpathlibr   r   Útypingr   r   r   r   ÚpytestÚ__file__ÚresolveÚparentÚ	REPO_ROOTÚRESOURCES_DIRr&   r*   r-   rh   r   r"   r1   r3   r�   rŸ   rÍ   r×   rI   ÚprintÚmetrics_listÚ
violationsÚsummÚmr>   r?   r@   rA   rB   Ústatusr8   Únamer9   r:   r;   r<   r=   Úexitr!   r   r   ú<module>rò      s„  ððð ð
 #Ð "Ð "Ð "Ð "Ð "à  € € € € € € € € € € € € €€€€Ø €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø €€€àˆD�‰NŒN×"Ò"Ñ$Ô$Ô+Ô2€	à˜HÑ$ wÑ.°Ñ9¸KÑG€Ø˜uÑ$Ð'LÑL€Ø˜zÑ)¨LÑ8€Ø Ñ-€à
€ð?ð ?ð ?ð ?ð
(ð (ð (ð (ð
ð ð ð ð-ð -ð -ð -ð -ñ -ô -ð -ð*gð gð gð gðT-.ð -.ð -.ð -.ðjbð bð bð bðLð Lð Lð Lð ˆzÒÑØ	€Eˆ(�O„O€OØ	€EÐ
PÑQÔQÐQØ	€Eˆ(�O„O€Oà%:Ð%:Ñ%<Ô%<Ñ"€L�*˜dà	€EÐ
9 Ð&6Ô!7Ð
9Ð
9Ñ:Ô:Ð:Ø	€EÐ
7  nÔ!5Ð
7Ð
7Ñ8Ô8Ð8Ø	€EÐ
Y $ ~Ô"6Ð
YÐ
YÐ
Y¸dÀ>Ô>RÐ
YÐ
YÐ
YÐ
YÑZÔZÐZØ	€EÐ
Y $ ~Ô"6Ð
YÐ
YÐ
Y¸dÀ>Ô>RÐ
YÐ
YÐ
YÐ
YÑZÔZÐZØ	€EÐ
; Ð&8Ô!9Ð
;Ð
;Ñ<Ô<Ð<Ø	€EÐ
2  i¤Ð
2Ð
2Ñ3Ô3Ð3Ø	€Eˆ(�O„O€Oàð Lð LˆàÔ)ØÔ(ñ)àÔñ ð Ô ñ!ð Ô(ñ	)ð
 òð ��ð ð 	ð 	ˆð  K�&ð  Kð  K˜AœFœKð  Kð  Kð  K°Q´^ð  Kð  Kð  KÈAÌGð  Kð  Kð  KÐ[\Ô[bð  Kð  Kð  KÐmnÔmtð  Kð  Kð  KÐ|}ô  }Dð  Kð  Kð  Kð  Kñ  	Lô  	Lð  	Lð  	Là	€Eˆ(�O„O€OØˆI„˜)Ò#Ð#ØˆÐ^Ñ_Ô_Ð_Ð_Ð_àˆÐIÑJÔJÐJØˆˆQ‰Œˆˆˆð= Ðr   