# WP-1462 GPU gate, 2026-09-26: gate.py compare against the reference Mac
# (Apple M4; Chromium on ANGLE Metal, Firefox and WebKit on Metal; headed).
# CI runs 36207686188 (native only) and 36208457312 (native and replay), commit 5f2f495c,
# python playwright 1.63.0, windows-latest and ubuntu-latest, headed (xvfb on Linux).
# replay: the Mac's /api/structure3d payload (gate_payload_mac.json), so only the
# renderer differs. native: the runner's own payload.

======== windows-latest, replay
chromium: 153.0.8010.12 on win32, replaying gate_payload_mac.json
  driver  Google Inc. (Google) | ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver) | samples 4
  ball                 0.28 levels,  0.57 % past 32   drawn 0.127  ring ink 2714
  dragged              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  ellipsoid            0.38 levels,  0.79 % past 32   drawn 0.077  ring ink 5331
  export-transparent   0.11 levels,  0.28 % past 32
  export               0.11 levels,  0.28 % past 32
  redrawn              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  restored             0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  rings-ball           0.50 levels,  1.01 % past 32   drawn 0.525  ring ink 9094
  rings                0.40 levels,  0.66 % past 32   drawn 0.801  ring ink 169536
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 23.00  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings-ball matches reference']

chromium-d3d11: 153.0.8010.12 on win32, replaying gate_payload_mac.json
  driver  Google Inc. (Microsoft) | ANGLE (Microsoft, Microsoft Basic Render Driver (0x0000008C) Direct3D11 vs_5_0 ps_5_0, D3D11) | samples 4
  ball                 0.08 levels,  0.17 % past 32   drawn 0.128  ring ink 2596
  dragged              0.08 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  ellipsoid            0.15 levels,  0.30 % past 32   drawn 0.079  ring ink 5114
  export-transparent   0.03 levels,  0.08 % past 32
  export               0.04 levels,  0.08 % past 32
  redrawn              0.08 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  restored             0.08 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  rings-ball           0.13 levels,  0.25 % past 32   drawn 0.528  ring ink 8915
  rings                0.13 levels,  0.19 % past 32   drawn 0.803  ring ink 168771
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  GO

firefox: 155.0 on win32, replaying gate_payload_mac.json
  the viewer declined: this browser has no WebGL2, which the structure viewer draws with

firefox-forced: 155.0 on win32, replaying gate_payload_mac.json
  driver  Google Inc. (Microsoft) | ANGLE (Microsoft, Microsoft Basic Render Driver (0x0000008C) Direct3D11 vs_5_0 ps_5_0), or similar | samples 0
  ball                 1.39 levels,  1.96 % past 32   drawn 0.130  ring ink 4314
  dragged              1.35 levels,  1.91 % past 32   drawn 0.126  ring ink 4641
  ellipsoid            1.80 levels,  2.45 % past 32   drawn 0.082  ring ink 7459
  export-transparent   0.03 levels,  0.08 % past 32
  export               0.03 levels,  0.08 % past 32
  redrawn              1.35 levels,  1.91 % past 32   drawn 0.126  ring ink 4641
  restored             1.35 levels,  1.91 % past 32   drawn 0.126  ring ink 4641
  rings-ball           2.44 levels,  3.49 % past 32   drawn 0.532  ring ink 10995
  rings                1.62 levels,  2.69 % past 32   drawn 0.805  ring ink 175993
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 23.93  contexts {'made': 6, 'lost': 6}
  NO-GO: ['ball matches reference', 'dragged matches reference', 'ellipsoid matches reference', 'redrawn matches reference', 'restored matches reference', 'rings-ball matches reference', 'rings matches reference']

webkit: 26.6 on win32, replaying gate_payload_mac.json
  driver  Apple Inc. | Apple GPU | samples 4
  ball                 0.06 levels,  0.17 % past 32   drawn 0.128  ring ink 2596
  dragged              0.06 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  ellipsoid            0.11 levels,  0.30 % past 32   drawn 0.079  ring ink 5114
  export-transparent   0.04 levels,  0.09 % past 32
  export               0.04 levels,  0.09 % past 32
  redrawn              0.06 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  restored             0.06 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  rings-ball           0.09 levels,  0.25 % past 32   drawn 0.528  ring ink 8915
  rings                0.10 levels,  0.19 % past 32   drawn 0.803  ring ink 168771
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  GO

======== windows-latest, native
chromium: 153.0.8010.12 on win32
  driver  Google Inc. (Google) | ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver) | samples 4
  ball                 0.28 levels,  0.57 % past 32   drawn 0.127  ring ink 2714
  dragged              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  ellipsoid            0.45 levels,  0.90 % past 32   drawn 0.077  ring ink 5278
  export-transparent   0.11 levels,  0.28 % past 32
  export               0.11 levels,  0.28 % past 32
  redrawn              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  restored             0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  rings-ball           0.50 levels,  1.01 % past 32   drawn 0.525  ring ink 9094
  rings                2.37 levels,  3.69 % past 32   drawn 0.801  ring ink 168559
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 23.00  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings-ball matches reference', 'rings matches reference']

chromium-d3d11: 153.0.8010.12 on win32
  driver  Google Inc. (Microsoft) | ANGLE (Microsoft, Microsoft Basic Render Driver (0x0000008C) Direct3D11 vs_5_0 ps_5_0, D3D11) | samples 4
  ball                 0.08 levels,  0.17 % past 32   drawn 0.128  ring ink 2596
  dragged              0.08 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  ellipsoid            0.22 levels,  0.41 % past 32   drawn 0.079  ring ink 5062
  export-transparent   0.03 levels,  0.08 % past 32
  export               0.04 levels,  0.08 % past 32
  redrawn              0.08 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  restored             0.08 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  rings-ball           0.13 levels,  0.25 % past 32   drawn 0.528  ring ink 8915
  rings                2.11 levels,  3.23 % past 32   drawn 0.803  ring ink 167781
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings matches reference']

firefox: 155.0 on win32
  the viewer declined: this browser has no WebGL2, which the structure viewer draws with

firefox-forced: 155.0 on win32
  driver  Google Inc. (Microsoft) | ANGLE (Microsoft, Microsoft Basic Render Driver (0x0000008C) Direct3D11 vs_5_0 ps_5_0), or similar | samples 0
  ball                 1.39 levels,  1.96 % past 32   drawn 0.130  ring ink 4314
  dragged              1.35 levels,  1.91 % past 32   drawn 0.126  ring ink 4641
  ellipsoid            1.84 levels,  2.55 % past 32   drawn 0.082  ring ink 7386
  export-transparent   0.03 levels,  0.08 % past 32
  export               0.03 levels,  0.08 % past 32
  redrawn              1.35 levels,  1.91 % past 32   drawn 0.126  ring ink 4641
  restored             1.35 levels,  1.91 % past 32   drawn 0.126  ring ink 4641
  rings-ball           2.44 levels,  3.49 % past 32   drawn 0.532  ring ink 10995
  rings                3.08 levels,  5.66 % past 32   drawn 0.805  ring ink 175010
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 23.93  contexts {'made': 6, 'lost': 6}
  NO-GO: ['ball matches reference', 'dragged matches reference', 'ellipsoid matches reference', 'redrawn matches reference', 'restored matches reference', 'rings-ball matches reference', 'rings matches reference']

webkit: 26.6 on win32
  driver  Apple Inc. | Apple GPU | samples 4
  ball                 0.06 levels,  0.17 % past 32   drawn 0.128  ring ink 2596
  dragged              0.06 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  ellipsoid            0.16 levels,  0.41 % past 32   drawn 0.079  ring ink 5062
  export-transparent   0.04 levels,  0.09 % past 32
  export               0.04 levels,  0.09 % past 32
  redrawn              0.06 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  restored             0.06 levels,  0.16 % past 32   drawn 0.124  ring ink 2749
  rings-ball           0.09 levels,  0.25 % past 32   drawn 0.528  ring ink 8915
  rings                1.58 levels,  3.23 % past 32   drawn 0.803  ring ink 167781
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings matches reference']

======== ubuntu-latest, replay
chromium: 153.0.8010.12 on linux, replaying gate_payload_mac.json
  driver  Google Inc. (Google) | ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver) | samples 4
  ball                 0.28 levels,  0.57 % past 32   drawn 0.127  ring ink 2714
  dragged              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  ellipsoid            0.38 levels,  0.79 % past 32   drawn 0.077  ring ink 5331
  export-transparent   0.11 levels,  0.29 % past 32
  export               0.11 levels,  0.28 % past 32
  redrawn              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  restored             0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  rings-ball           0.50 levels,  1.01 % past 32   drawn 0.525  ring ink 9094
  rings                0.40 levels,  0.66 % past 32   drawn 0.801  ring ink 169536
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 23.00  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings-ball matches reference']

chromium-gl: 153.0.8010.12 on linux, replaying gate_payload_mac.json
  driver  Google Inc. (Mesa) | ANGLE (Mesa, llvmpipe (LLVM 20.1.2 256 bits), OpenGL 4.5) | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.01 levels,  0.01 % past 32   drawn 0.079  ring ink 5083
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                0.01 levels,  0.01 % past 32   drawn 0.803  ring ink 168900
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  GO

firefox: 155.0 on linux, replaying gate_payload_mac.json
  driver  Mesa | llvmpipe, or similar | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.02 levels,  0.04 % past 32   drawn 0.079  ring ink 5083
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                0.07 levels,  0.15 % past 32   drawn 0.803  ring ink 168900
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  GO

firefox-forced: 155.0 on linux, replaying gate_payload_mac.json
  driver  Mesa | llvmpipe, or similar | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.02 levels,  0.04 % past 32   drawn 0.079  ring ink 5083
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                0.07 levels,  0.15 % past 32   drawn 0.803  ring ink 168900
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  GO

webkit: 26.6 on linux, replaying gate_payload_mac.json
  driver  Apple Inc. | Apple GPU | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.01 levels,  0.01 % past 32   drawn 0.079  ring ink 5083
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                0.01 levels,  0.01 % past 32   drawn 0.803  ring ink 168900
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  GO

======== ubuntu-latest, native
chromium: 153.0.8010.12 on linux
  driver  Google Inc. (Google) | ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver) | samples 4
  ball                 0.28 levels,  0.57 % past 32   drawn 0.127  ring ink 2714
  dragged              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  ellipsoid            0.45 levels,  0.90 % past 32   drawn 0.077  ring ink 5278
  export-transparent   0.11 levels,  0.29 % past 32
  export               0.11 levels,  0.28 % past 32
  redrawn              0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  restored             0.28 levels,  0.57 % past 32   drawn 0.123  ring ink 2854
  rings-ball           0.50 levels,  1.01 % past 32   drawn 0.525  ring ink 9094
  rings                2.37 levels,  3.69 % past 32   drawn 0.801  ring ink 168559
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 23.00  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings-ball matches reference', 'rings matches reference']

chromium-gl: 153.0.8010.12 on linux
  driver  Google Inc. (Mesa) | ANGLE (Mesa, llvmpipe (LLVM 20.1.2 256 bits), OpenGL 4.5) | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.09 levels,  0.14 % past 32   drawn 0.079  ring ink 5027
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                2.01 levels,  3.06 % past 32   drawn 0.803  ring ink 167912
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings matches reference']

firefox: 155.0 on linux
  driver  Mesa | llvmpipe, or similar | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.08 levels,  0.17 % past 32   drawn 0.079  ring ink 5027
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                1.56 levels,  3.19 % past 32   drawn 0.803  ring ink 167912
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings matches reference']

firefox-forced: 155.0 on linux
  driver  Mesa | llvmpipe, or similar | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.08 levels,  0.17 % past 32   drawn 0.079  ring ink 5027
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                1.56 levels,  3.19 % past 32   drawn 0.803  ring ink 167912
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings matches reference']

webkit: 26.6 on linux
  driver  Apple Inc. | Apple GPU | samples 4
  ball                 0.01 levels,  0.01 % past 32   drawn 0.128  ring ink 2594
  dragged              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  ellipsoid            0.07 levels,  0.14 % past 32   drawn 0.079  ring ink 5027
  export-transparent   0.02 levels,  0.02 % past 32
  export               0.02 levels,  0.02 % past 32
  redrawn              0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  restored             0.01 levels,  0.01 % past 32   drawn 0.124  ring ink 2745
  rings-ball           0.01 levels,  0.02 % past 32   drawn 0.528  ring ink 8920
  rings                1.51 levels,  3.06 % past 32   drawn 0.803  ring ink 167912
  hover   {'dx': -78, 'reading': 'Ca1 (Ca2+)  ·  (0.9667, 0.5000, 0.7500)'}
  redraw 0.000  restore 0.000  reset 22.95  contexts {'made': 6, 'lost': 6}
  NO-GO: ['rings matches reference']
