# battery RD4_own_plus_C4_plus_D1  unit source/render/render_debug
# candidate obj scratch/campaign/workers/A2/sweep/rdall/source/render/render_debug.obj
# candidate src research/compiler_application_20260925/workers/A2/copies/render_debug_final2_c_D1.c
# split root scratch/campaign/workers/A2/split_RD1
# provider root build/base
# shadow scratch/campaign/workers/A2/sh/rdall  drop []
## 1 strict rows (gate.py row logic) vs split root
EXACT       112  _build_circle_points
EXACT       160  _build_height_matrix
EXACT       448  _build_pill_points
EXACT       576  _render_debug
EXACT       656  _render_debug_add_cache_entry
EXACT       208  _render_debug_add_cache_string
EXACT       384  _render_debug_box
EXACT       304  _render_debug_box2d_outline
EXACT       288  _render_debug_box_outline
EXACT       480  _render_debug_bsp
EXACT       544  _render_debug_camera
EXACT       304  _render_debug_circle
EXACT       400  _render_debug_cylinder
EXACT       112  _render_debug_input
EXACT       176  _render_debug_line
EXACT       288  _render_debug_line2d
EXACT       128  _render_debug_line_offset
EXACT       112  _render_debug_matrix
EXACT       448  _render_debug_pill
EXACT       272  _render_debug_player
EXACT       288  _render_debug_point
EXACT       208  _render_debug_point2d
EXACT       144  _render_debug_polygon
EXACT       160  _render_debug_polygon_edges
EXACT       288  _render_debug_quadrilateral
EXACT        48  _render_debug_quaternion
EXACT       400  _render_debug_sphere
EXACT       112  _render_debug_string
EXACT       304  _render_debug_string_at_point
EXACT       128  _render_debug_structure
EXACT       416  _render_debug_structure_decals
EXACT       112  _render_debug_tick
EXACT       224  _render_debug_triangle
EXACT       192  _render_debug_vector
EXACT       240  _render_debug_vector2d
EXACT        64  _render_debug_vectors
== exact 36 of 36

## 2 object_audit
== sections (January-owned)
  ok   .rdata   sym:??_C@_03PMGGPEJJ@?$CFd?6?$AA@                    size     4/4     flags eq align 3/3
  ok   .rdata   sym:??_C@_04OEJCCLCC@?$HMn?$CFs?$AA@                 size     5/5     flags eq align 3/3
  ok   .rdata   sym:??_C@_05OPIONHBI@solid?$AA@                      size     6/6     flags eq align 3/3
  ok   .rdata   sym:??_C@_06IGAKEMNE@point2?$AA@                     size     7/7     flags eq align 3/3
  ok   .rdata   sym:??_C@_06JPBBHNJF@point3?$AA@                     size     7/7     flags eq align 3/3
  ok   .rdata   sym:??_C@_06KNCHBPBH@point1?$AA@                     size     7/7     flags eq align 3/3
  ok   .rdata   sym:??_C@_06LEDMCOFG@point0?$AA@                     size     7/7     flags eq align 3/3
  ok   .rdata   sym:??_C@_06LNLHEAAG@height?$AA@                     size     7/7     flags eq align 3/3
  ok   .rdata   sym:??_C@_08FHIPOKAI@?$HMnstuck?$CB?$AA@             size     9/9     flags eq align 3/3
  ok   .rdata   sym:??_C@_09MBGEJPJA@immediate?$AA@                  size    10/10    flags eq align 3/3
  ok   .rdata   sym:??_C@_09PHAEBKPA@?5leaf?5?$CF5d?$AA@             size    10/10    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BB@GECKHLGI@d?3?2debug_bsp?4txt?$AA@      size    17/17    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BD@FCHBBNKP@riding?5an?5elevator?$AA@     size    19/19    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BN@JJPKCCPJ@render?5debug?5cache?5overflo size    29/29    flags eq align 3/3
  ok   .rdata   sym:??_C@_0BP@NHMLPPIA@can?8t?5add?5box2d?5to?5debug size    31/31    flags eq align 3/3
  ok   .rdata   sym:??_C@_0CA@CADNHOKJ@plane_count?$DMMAXIMUM_BSP3D_ size    32/32    flags eq align 3/3
  ok   .rdata   sym:??_C@_0CC@HBIPCGOB@speed?5?$CF5f?$HMnslide?5?$CF size    34/34    flags eq align 3/3
  ok   .rdata   sym:??_C@_0CD@CLODFBGE@render?5debug?5cache?5string? size    35/35    flags eq align 3/3
  ok   .rdata   sym:??_C@_0CF@JKFPHJJE@c?3?2halo?2SOURCE?2render?2re size    37/37    flags eq align 3/3
  ok   .rdata   sym:??_C@_0DN@EHAAAEJO@point?$CI?$CF01?42f?0?$CF01?4 size    61/61    flags eq align 3/3
  ok   .rdata   sym:??_C@_0EB@EGDCEMGJ@?$HMnground_point?$CI?$CF01?4 size    65/65    flags eq align 4/4
  ok   .rdata   sym:??_C@_0N@IGDJDOFE@?$CF5d?5?$CF5d?5?$CFc?$HMn?$AA size    13/13    flags eq align 3/3
  ok   .rdata   sym:??_C@_0O@LHEAABKE@?5node?5plane?$HMn?$AA@        size    14/14    flags eq align 3/3
  ok   .rdata   sym:__real@3c4aa525                                  size     4/4     flags eq align 3/3
  ok   .rdata   sym:__real@3ccaa525                                  size     4/4     flags eq align 3/3
  ok   .rdata   sym:__real@3fd921fb60000000                          size     8/8     flags eq align 4/4
  ok   .text    sym:_build_circle_points                             size   112/112   flags eq align 5/5
  ok   .text    sym:_build_height_matrix                             size   160/160   flags eq align 5/5
  ok   .text    sym:_build_pill_points                               size   448/448   flags eq align 5/5
  ok   .text    sym:_render_debug                                    size   576/576   flags eq align 5/5
  ok   .text    sym:_render_debug_add_cache_entry                    size   656/656   flags eq align 5/5
  ok   .text    sym:_render_debug_add_cache_string                   size   208/208   flags eq align 5/5
  ok   .text    sym:_render_debug_box                                size   384/384   flags eq align 5/5
  ok   .text    sym:_render_debug_box2d_outline                      size   304/304   flags eq align 5/5
  ok   .text    sym:_render_debug_box_outline                        size   288/288   flags eq align 5/5
  ok   .text    sym:_render_debug_bsp                                size   480/480   flags eq align 5/5
  ok   .bss     sym:_render_debug_cache_strings                      size 29708/29708 flags eq align 4/4
  ok   .text    sym:_render_debug_camera                             size   544/544   flags eq align 5/5
  ok   .text    sym:_render_debug_circle                             size   304/304   flags eq align 5/5
  ok   .text    sym:_render_debug_cylinder                           size   400/400   flags eq align 5/5
  ok   .text    sym:_render_debug_input                              size   112/112   flags eq align 5/5
  ok   .text    sym:_render_debug_line                               size   176/176   flags eq align 5/5
  ok   .text    sym:_render_debug_line2d                             size   288/288   flags eq align 5/5
  ok   .text    sym:_render_debug_line_offset                        size   128/128   flags eq align 5/5
  ok   .text    sym:_render_debug_matrix                             size   112/112   flags eq align 5/5
  ok   .text    sym:_render_debug_pill                               size   448/448   flags eq align 5/5
  ok   .text    sym:_render_debug_player                             size   272/272   flags eq align 5/5
  ok   .text    sym:_render_debug_point                              size   288/288   flags eq align 5/5
  ok   .text    sym:_render_debug_point2d                            size   208/208   flags eq align 5/5
  ok   .text    sym:_render_debug_polygon                            size   144/144   flags eq align 5/5
  ok   .text    sym:_render_debug_polygon_edges                      size   160/160   flags eq align 5/5
  ok   .text    sym:_render_debug_quadrilateral                      size   288/288   flags eq align 5/5
  ok   .text    sym:_render_debug_quaternion                         size    48/48    flags eq align 5/5
  ok   .text    sym:_render_debug_sphere                             size   400/400   flags eq align 5/5
  ok   .text    sym:_render_debug_string                             size   112/112   flags eq align 5/5
  ok   .text    sym:_render_debug_string_at_point                    size   304/304   flags eq align 5/5
  ok   .text    sym:_render_debug_structure                          size   128/128   flags eq align 5/5
  ok   .text    sym:_render_debug_structure_decals                   size   416/416   flags eq align 5/5
  ok   .text    sym:_render_debug_tick                               size   112/112   flags eq align 5/5
  ok   .text    sym:_render_debug_triangle                           size   224/224   flags eq align 5/5
  ok   .text    sym:_render_debug_vector                             size   192/192   flags eq align 5/5
  ok   .text    sym:_render_debug_vector2d                           size   240/240   flags eq align 5/5
  ok   .text    sym:_render_debug_vectors                            size    64/64    flags eq align 5/5
== symbols (January)
  69 January symbols, 0 differ
== candidate-only surplus (no credit; needs provider link)
  +.drectve sec:.drectve#0                                       size 42
  +.rdata   sym:??_C@_00CNPNBAHC@?$AA@                           size 1
  +.rdata   sym:??_C@_01NOFIACDB@w?$AA@                          size 2
  +.rdata   sym:??_C@_02ILAJHIEO@p0?$AA@                         size 3
  +.rdata   sym:??_C@_02JCBCEJAP@p1?$AA@                         size 3
  +.rdata   sym:??_C@_04BHIIPFEC@base?$AA@                       size 5
  +.rdata   sym:??_C@_05BBEJFBFA@point?$AA@                      size 6
  +.rdata   sym:??_C@_05MAIECAHP@plane?$AA@                      size 6
  +.rdata   sym:??_C@_05PEENBMOG@color?$AA@                      size 6
  +.rdata   sym:??_C@_06BBLOAEEI@center?$AA@                     size 7
  +.rdata   sym:??_C@_06CGBPGGIE@bounds?$AA@                     size 7
  +.rdata   sym:??_C@_06GPGIDCJA@points?$AA@                     size 7
  +.rdata   sym:??_C@_06ICGJLFIM@string?$AA@                     size 7
  +.rdata   sym:??_C@_06NBFPPGEG@vector?$AA@                     size 7
  +.rdata   sym:??_C@_0BE@DKJODJEH@?4?4?2math?2real_math?4h?$AA@ size 20
  +.rdata   sym:??_C@_0CB@FEGCJDLB@projection?$DO?$DN_x?5?$CG?$C size 33
  +.rdata   sym:??_C@_0L@LKENDBEE@?$HO?$CIsign?$CG?$HO1?$CJ?$AA@ size 11
  +.rdata   sym:_D3DPRIMITIVETOVERTEXCOUNT                       size 88
  +.rdata   sym:_D3DSIMPLERENDERSTATEENCODE                      size 328
  +.rdata   sym:_D3DTEXTUREDIRECTENCODE                          size 16
  +.rdata   sym:__real@00000000                                  size 4
  +.rdata   sym:__real@3f000000                                  size 4
  +.rdata   sym:__real@3f1a36e2e0000000                          size 8
  +.rdata   sym:__real@3f800000                                  size 4
  +.rdata   sym:__real@42480000                                  size 4
  +.rdata   sym:__real@42652ee1                                  size 4
  +.rdata   sym:__real@447a0000                                  size 4
  +.text    sym:_arctangent                                      size 16
  +.text    sym:_cosine                                          size 16
  +.text    sym:_cross_product3d                                 size 64
  +.text    sym:_dot_product3d                                   size 32
  +.text    sym:_magnitude3d                                     size 48
  +.text    sym:_magnitude_squared3d                             size 48
  +.text    sym:_normalize3d                                     size 96
  +.text    sym:_plane3d_distance_to_point                       size 48
  +.text    sym:_point_from_line2d                               size 48
  +.text    sym:_point_from_line3d                               size 48
  +.text    sym:_project_point2d                                 size 224
  +.text    sym:_rotate_vector2d                                 size 48
  +.text    sym:_scale_vector3d                                  size 48
  +.text    sym:_set_real_point2d                                size 32
  +.text    sym:_set_real_point3d                                size 32
  +.text    sym:_sine                                            size 16
  +.text    sym:_square_root                                     size 16
OBJECT AUDIT: PASS
[exit 0]

## 3 pdb_storage
source/render/render_debug: 69 split symbols, 0 disagreements with PDB publics
[exit 0]

## 4 surplus identity
  _sine                              vs source\ai\actor_combat.obj               IDENTICAL
  _cosine                            vs source\ai\actor_combat.obj               IDENTICAL
  _arctangent                        vs source\ai\actor_perception.obj           IDENTICAL
  _square_root                       vs source\ai\action_charge.obj              IDENTICAL
  _set_real_point2d                  vs source\ai\path_obstacles.obj             IDENTICAL
  _point_from_line2d                 vs source\ai\action_vehicle.obj             IDENTICAL
  _rotate_vector2d                   vs source\ai\path_obstacles.obj             IDENTICAL
  _project_point2d                   vs source\effects\decals.obj                IDENTICAL
  _set_real_point3d                  vs source\ai\ai_debug.obj                   IDENTICAL
  _point_from_line3d                 vs source\ai\action_charge.obj              IDENTICAL
  _scale_vector3d                    vs source\ai\action_charge.obj              IDENTICAL
  _magnitude_squared3d               vs source\ai\action_alert.obj               IDENTICAL
  _magnitude3d                       vs source\ai\action_charge.obj              IDENTICAL
  _normalize3d                       vs source\ai\action_charge.obj              IDENTICAL
  _dot_product3d                     vs source\ai\action_charge.obj              IDENTICAL
  _cross_product3d                   vs source\ai\action_obey.obj                IDENTICAL
  _plane3d_distance_to_point         vs source\effects\decals.obj                IDENTICAL
source/render/render_debug: 17 candidate-only code COMDATs, 0 not identical
0 candidate-only static code sections
[exit 0]

## 5 selected-provider link (both orders)
??_C@_00CNPNBAHC@?$AA@                       provider source/ai/action_obey                            PASS
??_C@_01NOFIACDB@w?$AA@                      provider source/bitmaps/tiff_file                         PASS
??_C@_02ILAJHIEO@p0?$AA@                     provider source/tool/error_geometry                       PASS
??_C@_02JCBCEJAP@p1?$AA@                     provider source/tool/error_geometry                       PASS
??_C@_04BHIIPFEC@base?$AA@                   provider source/rasterizer/xbox/rasterizer_xbox_dynavobgeom PASS
??_C@_05BBEJFBFA@point?$AA@                  provider source/ai/ai_debug                               PASS
??_C@_05MAIECAHP@plane?$AA@                  provider source/physics/collision_bsp_definitions         PASS
??_C@_05PEENBMOG@color?$AA@                  provider source/effects/decals                            PASS
??_C@_06BBLOAEEI@center?$AA@                 provider source/ai/action_vehicle                         PASS
??_C@_06CGBPGGIE@bounds?$AA@                 provider source/bitmaps/bitmap_extract                    PASS
??_C@_06GPGIDCJA@points?$AA@                 provider source/tool/error_geometry                       PASS
??_C@_06ICGJLFIM@string?$AA@                 provider source/hs/hs                                     PASS
??_C@_06NBFPPGEG@vector?$AA@                 provider source/ai/actor_combat                           PASS
??_C@_0BE@DKJODJEH@?4?4?2math?2real_math?4h?$AA@ provider source/ai/path_obstacles                         PASS
??_C@_0CB@FEGCJDLB@projection?$DO?$DN_x?5?$CG?$CG?5projection?$DM?$DN_z@ provider source/ai/path_obstacles                         PASS
??_C@_0L@LKENDBEE@?$HO?$CIsign?$CG?$HO1?$CJ?$AA@ provider source/ai/path_obstacles                         PASS
_D3DPRIMITIVETOVERTEXCOUNT                   provider source/rasterizer/xbox/rasterizer_xbox_decals    PASS
_D3DSIMPLERENDERSTATEENCODE                  provider source/interface/progress_bar                    PASS
_D3DTEXTUREDIRECTENCODE                      provider source/cseries/headers                           PASS
__real@00000000                              provider source/ai/action_charge                          PASS
__real@3f000000                              provider source/ai/action_alert                           PASS
__real@3f1a36e2e0000000                      provider source/ai/action_charge                          PASS
__real@3f800000                              provider source/ai/action_charge                          PASS
__real@42480000                              provider source/ai/ai_debug                               PASS
__real@42652ee1                              provider source/rasterizer/rasterizer_lights              PASS
__real@447a0000                              provider source/ai/actor_firing_position                  PASS
_arctangent                                  provider source/ai/actor_perception                       PASS
_cosine                                      provider source/ai/actor_combat                           PASS
_cross_product3d                             provider source/ai/action_obey                            PASS
_dot_product3d                               provider source/ai/action_charge                          PASS
_magnitude3d                                 provider source/ai/action_charge                          PASS
_magnitude_squared3d                         provider source/ai/action_alert                           PASS
_normalize3d                                 provider source/ai/action_charge                          PASS
_plane3d_distance_to_point                   provider source/effects/decals                            PASS
_point_from_line2d                           provider source/ai/action_vehicle                         PASS
_point_from_line3d                           provider source/ai/action_charge                          PASS
_project_point2d                             provider source/effects/decals                            PASS
_rotate_vector2d                             provider source/ai/path_obstacles                         PASS
_scale_vector3d                              provider source/ai/action_charge                          PASS
_set_real_point2d                            provider source/ai/path_obstacles                         PASS
_set_real_point3d                            provider source/ai/ai_debug                               PASS
_sine                                        provider source/ai/actor_combat                           PASS
_square_root                                 provider source/ai/action_charge                          PASS
SELECTED-PROVIDER LINK: PASS
[exit 0]

## 6 protoscan
== research/compiler_application_20260925/workers/A2/copies/render_debug_final2_c_D1.c
[exit 0]

## 7 /W3 /Zs census
rc 0 {'C4146': 1, 'C4244': 11}

## 8 fake_match_scan
Review leads only: a finding does not prove fake source, a semantic bug, or an invalid byte match.
Scanned 1 file(s); 0 review lead(s); skipped 0 vendored path(s).
[exit 0]
