vispy 0.12.1__cp310-cp310-win_amd64.whl → 0.14.0__cp310-cp310-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of vispy might be problematic. Click here for more details.

Files changed (43) hide show
  1. vispy/app/backends/_glfw.py +1 -1
  2. vispy/app/backends/_qt.py +78 -53
  3. vispy/color/color_array.py +8 -1
  4. vispy/color/colormap.py +4 -24
  5. vispy/geometry/meshdata.py +76 -38
  6. vispy/geometry/tests/test_meshdata.py +72 -0
  7. vispy/gloo/gl/_constants.py +3 -3
  8. vispy/gloo/program.py +1 -1
  9. vispy/gloo/texture.py +9 -4
  10. vispy/scene/cameras/base_camera.py +4 -0
  11. vispy/scene/cameras/panzoom.py +4 -1
  12. vispy/scene/cameras/perspective.py +6 -0
  13. vispy/scene/cameras/tests/test_perspective.py +37 -0
  14. vispy/scene/canvas.py +9 -5
  15. vispy/scene/events.py +9 -0
  16. vispy/scene/node.py +18 -1
  17. vispy/scene/tests/test_visuals.py +113 -0
  18. vispy/scene/visuals.py +5 -1
  19. vispy/util/gallery_scraper.py +8 -0
  20. vispy/util/tests/test_gallery_scraper.py +2 -0
  21. vispy/version.py +2 -3
  22. vispy/visuals/__init__.py +1 -0
  23. vispy/visuals/filters/__init__.py +3 -2
  24. vispy/visuals/filters/base_filter.py +120 -0
  25. vispy/visuals/filters/markers.py +28 -0
  26. vispy/visuals/filters/mesh.py +61 -6
  27. vispy/visuals/filters/tests/test_primitive_picking_filters.py +70 -0
  28. vispy/visuals/instanced_mesh.py +152 -0
  29. vispy/visuals/line/dash_atlas.py +46 -41
  30. vispy/visuals/markers.py +49 -24
  31. vispy/visuals/mesh.py +2 -2
  32. vispy/visuals/tests/test_instanced_mesh.py +50 -0
  33. vispy/visuals/tests/test_mesh.py +17 -0
  34. vispy/visuals/text/_sdf_cpu.cp310-win_amd64.pyd +0 -0
  35. vispy/visuals/text/_sdf_cpu.pyx +21 -23
  36. vispy/visuals/tube.py +1 -1
  37. vispy/visuals/visual.py +142 -1
  38. vispy/visuals/volume.py +19 -10
  39. {vispy-0.12.1.dist-info → vispy-0.14.0.dist-info}/LICENSE.txt +1 -1
  40. {vispy-0.12.1.dist-info → vispy-0.14.0.dist-info}/METADATA +7 -6
  41. {vispy-0.12.1.dist-info → vispy-0.14.0.dist-info}/RECORD +43 -39
  42. {vispy-0.12.1.dist-info → vispy-0.14.0.dist-info}/WHEEL +1 -1
  43. {vispy-0.12.1.dist-info → vispy-0.14.0.dist-info}/top_level.txt +0 -0
vispy/visuals/visual.py CHANGED
@@ -83,9 +83,10 @@ A compound visual will automatically handle forwarding transform system changes
83
83
  and filter attachments to its internally-wrapped visuals. To the user, this
84
84
  will appear to behave as a single visual.
85
85
  """
86
-
87
86
  from __future__ import division
88
87
  import weakref
88
+ from contextlib import contextmanager
89
+
89
90
  import numpy as np
90
91
 
91
92
  from .. import gloo
@@ -337,6 +338,7 @@ class Visual(BaseVisual):
337
338
  raise ValueError("Cannot specify both program and "
338
339
  "vcode/fcode arguments.")
339
340
 
341
+ self._prev_gl_state = []
340
342
  self._program = self._vshare.program.add_program()
341
343
  self._prepare_transforms(self)
342
344
  self._filters = []
@@ -347,6 +349,11 @@ class Visual(BaseVisual):
347
349
 
348
350
  The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
349
351
 
352
+ This can also be used as a context manager that will revert the
353
+ gl_state on exit. When used as a context manager, this function is
354
+ designed to be constructed directly in the header of the `with`
355
+ statement to avoid confusion about what state will be restored on exit.
356
+
350
357
  Parameters
351
358
  ----------
352
359
  preset : str
@@ -354,14 +361,21 @@ class Visual(BaseVisual):
354
361
  **kwargs : dict
355
362
  Keyword arguments.
356
363
  """
364
+ prev_gl_state = self._vshare.gl_state.copy()
365
+
357
366
  self._vshare.gl_state = kwargs
358
367
  self._vshare.gl_state['preset'] = preset
359
368
 
369
+ return _revert_gl_state([(self, prev_gl_state)])
370
+
360
371
  def update_gl_state(self, *args, **kwargs):
361
372
  """Modify the set of GL state parameters to use when drawing.
362
373
 
363
374
  The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
364
375
 
376
+ This can also be used as a context manager that will revert the
377
+ gl_state on exit.
378
+
365
379
  Parameters
366
380
  ----------
367
381
  *args : tuple
@@ -369,12 +383,61 @@ class Visual(BaseVisual):
369
383
  **kwargs : dict
370
384
  Keyword arguments.
371
385
  """
386
+ prev_gl_state = self._vshare.gl_state.copy()
387
+
372
388
  if len(args) == 1:
373
389
  self._vshare.gl_state['preset'] = args[0]
374
390
  elif len(args) != 0:
375
391
  raise TypeError("Only one positional argument allowed.")
376
392
  self._vshare.gl_state.update(kwargs)
377
393
 
394
+ return _revert_gl_state([(self, prev_gl_state)])
395
+
396
+ def push_gl_state(self, *args, **kwargs):
397
+ """Define the set of GL state parameters to use when drawing.
398
+
399
+ The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
400
+
401
+ This differs from :py:meth:`.set_gl_state` in that it stashes the
402
+ current state. See :py:meth:`.pop_gl_state` for restoring the state.
403
+
404
+ Parameters
405
+ ----------
406
+ *args : tuple
407
+ Arguments.
408
+ **kwargs : dict
409
+ Keyword arguments.
410
+ """
411
+ self._prev_gl_state.append(self._vshare.gl_state.copy())
412
+ self.set_gl_state(*args, **kwargs)
413
+
414
+ def push_gl_state_update(self, *args, **kwargs):
415
+ """Modify the set of GL state parameters to use when drawing.
416
+
417
+ The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
418
+
419
+ This differs from :py:meth:`.update_gl_state` in that it stashes the
420
+ current state. See :py:meth:`.pop_gl_state` for restoring the state.
421
+
422
+ Parameters
423
+ ----------
424
+ *args : tuple
425
+ Arguments.
426
+ **kwargs : dict
427
+ Keyword arguments.
428
+ """
429
+ self._prev_gl_state.append(self._vshare.gl_state.copy())
430
+ self.update_gl_state(*args, **kwargs)
431
+
432
+ def pop_gl_state(self):
433
+ """Restore a previous set of GL state parameters if available.
434
+
435
+ If no previous GL state is available (see :py:meth:`.push_gl_state`),
436
+ this has no effect.
437
+ """
438
+ if self._prev_gl_state:
439
+ self.set_gl_state(**self._prev_gl_state.pop())
440
+
378
441
  def _compute_bounds(self, axis, view):
379
442
  """Return the (min, max) bounding values of this visual along *axis*
380
443
  in the local coordinate system.
@@ -616,6 +679,9 @@ class CompoundVisual(BaseVisual):
616
679
 
617
680
  The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
618
681
 
682
+ This can also be used as a context manager that will revert the
683
+ gl_state on exit.
684
+
619
685
  Parameters
620
686
  ----------
621
687
  preset : str
@@ -623,14 +689,21 @@ class CompoundVisual(BaseVisual):
623
689
  **kwargs : dict
624
690
  Keyword arguments.
625
691
  """
692
+ prev_gl_state = []
626
693
  for v in self._subvisuals:
694
+ prev_gl_state.append((v, v._vshare.gl_state))
627
695
  v.set_gl_state(preset=preset, **kwargs)
628
696
 
697
+ return _revert_gl_state(prev_gl_state)
698
+
629
699
  def update_gl_state(self, *args, **kwargs):
630
700
  """Modify the set of GL state parameters to use when drawing.
631
701
 
632
702
  The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
633
703
 
704
+ This can also be used as a context manager that will revert the
705
+ gl_state on exit.
706
+
634
707
  Parameters
635
708
  ----------
636
709
  *args : tuple
@@ -638,9 +711,58 @@ class CompoundVisual(BaseVisual):
638
711
  **kwargs : dict
639
712
  Keyword arguments.
640
713
  """
714
+ prev_gl_state = []
641
715
  for v in self._subvisuals:
716
+ prev_gl_state.append((v, v._vshare.gl_state))
642
717
  v.update_gl_state(*args, **kwargs)
643
718
 
719
+ return _revert_gl_state(prev_gl_state)
720
+
721
+ def push_gl_state(self, *args, **kwargs):
722
+ """Define the set of GL state parameters to use when drawing.
723
+
724
+ The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
725
+
726
+ This differs from :py:meth:`.set_gl_state` in that it stashes the
727
+ current state. See :py:meth:`.pop_gl_state` for restoring the state.
728
+
729
+ Parameters
730
+ ----------
731
+ *args : tuple
732
+ Arguments.
733
+ **kwargs : dict
734
+ Keyword arguments.
735
+ """
736
+ for v in self._subvisuals:
737
+ v.push_gl_state(*args, **kwargs)
738
+
739
+ def push_gl_state_update(self, *args, **kwargs):
740
+ """Modify the set of GL state parameters to use when drawing.
741
+
742
+ The arguments are forwarded to :func:`vispy.gloo.wrappers.set_state`.
743
+
744
+ This differs from :py:meth:`.update_gl_state` in that it stashes the
745
+ current state. See :py:meth:`.pop_gl_state` for restoring the state.
746
+
747
+ Parameters
748
+ ----------
749
+ *args : tuple
750
+ Arguments.
751
+ **kwargs : dict
752
+ Keyword arguments.
753
+ """
754
+ for v in self._subvisuals:
755
+ v.push_gl_state_update(*args, **kwargs)
756
+
757
+ def pop_gl_state(self):
758
+ """Restore a previous set of GL state parameters if available.
759
+
760
+ If no previous GL state is available (see :py:meth:`.push_gl_state`),
761
+ this has no effect.
762
+ """
763
+ for v in self._subvisuals:
764
+ v.pop_gl_state()
765
+
644
766
  def attach(self, filt, view=None):
645
767
  """Attach a Filter to this visual
646
768
 
@@ -681,6 +803,25 @@ class CompoundVisual(BaseVisual):
681
803
  return bounds
682
804
 
683
805
 
806
+ @contextmanager
807
+ def _revert_gl_state(prev_gl_state):
808
+ """Context manager to store and revert GL state for a list of visuals.
809
+
810
+ Parameters
811
+ ----------
812
+ prev_gl_state : list
813
+ A list of (Visual, gl_state) tuples, where gl_state is a dictionary of
814
+ `gl_state` params as would be passed to :py:func:`set_gl_state`.
815
+ """
816
+ for v, state in prev_gl_state:
817
+ v._prev_gl_state.append(state)
818
+ try:
819
+ yield
820
+ finally:
821
+ for v, _ in prev_gl_state:
822
+ v.pop_gl_state()
823
+
824
+
684
825
  class CompoundVisualView(BaseVisualView, CompoundVisual):
685
826
  def __init__(self, visual):
686
827
  BaseVisualView.__init__(self, visual)
vispy/visuals/volume.py CHANGED
@@ -369,9 +369,13 @@ _MIP_SNIPPETS = dict(
369
369
  int maxi = -1; // Where the maximum value was encountered
370
370
  """,
371
371
  in_loop="""
372
- if( val > maxval ) {
372
+ if ( val > maxval ) {
373
373
  maxval = val;
374
374
  maxi = iter;
375
+ if ( maxval >= clim.y ) {
376
+ // stop if no chance of finding a higher maxval
377
+ iter = nsteps;
378
+ }
375
379
  }
376
380
  """,
377
381
  after_loop="""
@@ -395,8 +399,7 @@ _MIP_SNIPPETS = dict(
395
399
  }
396
400
  frag_depth_point = max_loc_tex * u_shape;
397
401
  gl_FragColor = applyColormap(maxval);
398
- }
399
- else {
402
+ } else {
400
403
  discard;
401
404
  }
402
405
  """,
@@ -406,7 +409,7 @@ _ATTENUATED_MIP_SNIPPETS = dict(
406
409
  before_loop="""
407
410
  float maxval = u_mip_cutoff; // The maximum encountered value
408
411
  float sumval = 0.0; // The sum of the encountered values
409
- float scaled = 0.0; // The scaled value
412
+ float scale = 0.0; // The cumulative attenuation
410
413
  int maxi = -1; // Where the maximum value was encountered
411
414
  vec3 max_loc_tex = vec3(0.0); // Location where the maximum value was encountered
412
415
  """,
@@ -415,9 +418,12 @@ _ATTENUATED_MIP_SNIPPETS = dict(
415
418
  // * attenuation value does not depend on data values
416
419
  // * negative values do not amplify instead of attenuate
417
420
  sumval = sumval + clamp((val - clim.x) / (clim.y - clim.x), 0.0, 1.0);
418
- scaled = val * exp(-u_attenuation * (sumval - 1) / u_relative_step_size);
419
- if( scaled > maxval ) {
420
- maxval = scaled;
421
+ scale = exp(-u_attenuation * (sumval - 1) / u_relative_step_size);
422
+ if( maxval > scale * clim.y ) {
423
+ // stop if no chance of finding a higher maxval
424
+ iter = nsteps;
425
+ } else if( val * scale > maxval ) {
426
+ maxval = val * scale;
421
427
  maxi = iter;
422
428
  max_loc_tex = loc;
423
429
  }
@@ -439,9 +445,13 @@ _MINIP_SNIPPETS = dict(
439
445
  int mini = -1; // Where the minimum value was encountered
440
446
  """,
441
447
  in_loop="""
442
- if( val < minval ) {
448
+ if ( val < minval ) {
443
449
  minval = val;
444
450
  mini = iter;
451
+ if ( minval <= clim.x ) {
452
+ // stop if no chance of finding a lower minval
453
+ iter = nsteps;
454
+ }
445
455
  }
446
456
  """,
447
457
  after_loop="""
@@ -465,8 +475,7 @@ _MINIP_SNIPPETS = dict(
465
475
  }
466
476
  frag_depth_point = min_loc_tex * u_shape;
467
477
  gl_FragColor = applyColormap(minval);
468
- }
469
- else {
478
+ } else {
470
479
  discard;
471
480
  }
472
481
  """,
@@ -3,7 +3,7 @@ Vispy licensing terms
3
3
 
4
4
  Vispy is licensed under the terms of the (new) BSD license:
5
5
 
6
- Copyright (c) 2013-2022, Vispy Development Team. All rights reserved.
6
+ Copyright (c) 2013-2023, Vispy Development Team. All rights reserved.
7
7
 
8
8
  Redistribution and use in source and binary forms, with or without
9
9
  modification, are permitted provided that the following conditions are met:
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vispy
3
- Version: 0.12.1
3
+ Version: 0.14.0
4
4
  Summary: Interactive visualization in Python
5
5
  Home-page: http://vispy.org
6
6
  Download-URL: https://pypi.python.org/pypi/vispy
7
7
  Author: Vispy contributors
8
8
  Author-email: vispy@googlegroups.com
9
- License: (new) BSD
9
+ License: BSD-3-Clause
10
10
  Keywords: visualization,OpenGl,ES,medical,imaging,3D,plotting,numpy,bigdata,ipython,jupyter,widgets
11
11
  Platform: any
12
12
  Classifier: Development Status :: 3 - Alpha
@@ -19,12 +19,13 @@ Classifier: Operating System :: MacOS :: MacOS X
19
19
  Classifier: Operating System :: Microsoft :: Windows
20
20
  Classifier: Operating System :: POSIX
21
21
  Classifier: Programming Language :: Python
22
- Classifier: Programming Language :: Python :: 3.6
23
- Classifier: Programming Language :: Python :: 3.7
24
22
  Classifier: Programming Language :: Python :: 3.8
23
+ Classifier: Programming Language :: Python :: 3.9
24
+ Classifier: Programming Language :: Python :: 3.10
25
+ Classifier: Programming Language :: Python :: 3.11
25
26
  Classifier: Framework :: IPython
26
27
  Provides: vispy
27
- Requires-Python: >=3.6
28
+ Requires-Python: >=3.8
28
29
  Description-Content-Type: text/x-rst
29
30
  License-File: LICENSE.txt
30
31
  Requires-Dist: numpy
@@ -47,7 +48,7 @@ Requires-Dist: Pillow ; extra == 'io'
47
48
  Provides-Extra: ipython-static
48
49
  Requires-Dist: ipython ; extra == 'ipython-static'
49
50
  Provides-Extra: pyglet
50
- Requires-Dist: pyglet (>=1.2) ; extra == 'pyglet'
51
+ Requires-Dist: pyglet >=1.2 ; extra == 'pyglet'
51
52
  Provides-Extra: pyqt5
52
53
  Requires-Dist: pyqt5 ; extra == 'pyqt5'
53
54
  Provides-Extra: pyqt6
@@ -1,6 +1,6 @@
1
1
  vispy/__init__.py,sha256=Q-ECX_hCYaK0N0nHaVUQM6bNTUf4A3uGTxGcnlY2FFU,935
2
2
  vispy/conftest.py,sha256=SUNIUsn7o-cQa0mDMAhxoyeU_ENZjqO5B_xTJSNi-yQ,501
3
- vispy/version.py,sha256=lNwxzj9CX_sasOFAEAGDtMB-MQvT_jd7LGtmsEn5g58,183
3
+ vispy/version.py,sha256=H75fMnWLjwm1ZPikWyWUVlZmuwO_sGw7HXy4afzlQQs,166
4
4
  vispy/app/__init__.py,sha256=NDhvVlPpRUm5zkfs4L1VwbdE1Hhg7dGEkI28RYH2KTM,640
5
5
  vispy/app/_default_app.py,sha256=ACldZQfK7nl2zGInuJBsCm1sfFKZE-UFBgSeavG8gVo,2497
6
6
  vispy/app/_detect_eventloop.py,sha256=h7IMsSZXuIAz9M3bezB_gB2BQqcfiPcdpo5vAn8cd7Y,6622
@@ -11,7 +11,7 @@ vispy/app/qt.py,sha256=7yos1jeDws_SqUddLzOfH4kKtaUkYqCuNA7gS-dBiB8,3503
11
11
  vispy/app/timer.py,sha256=8wzJCnXsrcOOboq0ngQz2LVCy8fV035UmQMlFseorrY,5928
12
12
  vispy/app/backends/__init__.py,sha256=vWTYrTxmF7ccEp3ovoREK--UuBMnXB9S6Ev-kmB0gcI,1889
13
13
  vispy/app/backends/_egl.py,sha256=NbuplBeyUeGnHjpQDrsaijY9d3JadW8UDryNIkfvOhc,8742
14
- vispy/app/backends/_glfw.py,sha256=1-WzSOBse-jNX3PqyYdIcRAiawbKwVd3gk-_hML8Pjg,17531
14
+ vispy/app/backends/_glfw.py,sha256=HQwz4cmg9YQar3m01IN-96S1GoQ6k_YmT-qzcH0Ahj4,17534
15
15
  vispy/app/backends/_jupyter_rfb.py,sha256=V3f7sJ-LLhnYckUUNaNALLDQoek9L2EEs39e4brF_gM,9083
16
16
  vispy/app/backends/_offscreen_util.py,sha256=YHcJrKXAZPuPyYvu5yvh-XXUx7G8tncjGEhedUY9Q04,3818
17
17
  vispy/app/backends/_osmesa.py,sha256=XT0ueItVyAouAoSsUO4VAoq4AXyTmiUVVm9Kng5hbsE,7837
@@ -22,7 +22,7 @@ vispy/app/backends/_pyqt6.py,sha256=Rgug7PyAevgYPzkxcsRGOKSuZxh9rdP_RFjl8Xzq97s,
22
22
  vispy/app/backends/_pyside.py,sha256=zljctUXPATBxgmMYCvnibRKN-OQC_lOWZGBTmSYQIoA,1371
23
23
  vispy/app/backends/_pyside2.py,sha256=qZpBbEVmrq6uXty8fn-cmitWQJyhPpuoAYC-MC43Cng,2017
24
24
  vispy/app/backends/_pyside6.py,sha256=3Tjd1WfxOGCvyhQgmo49_KGsfSfDgmWvSuD1LW9aKXw,1869
25
- vispy/app/backends/_qt.py,sha256=CL7yxVdkV2P-mRV7I67inT4vsLpVYQI9SwZRKx4CDJU,35814
25
+ vispy/app/backends/_qt.py,sha256=0Yru1QPN17guoZ-Xs4zShhFtUOfgY7qY0ZZWIIz1wS8,36417
26
26
  vispy/app/backends/_sdl2.py,sha256=6Rf6TOLuP-YLmA02rjBjxnMaZSQkSihryn6UDgjyxfc,15544
27
27
  vispy/app/backends/_template.py,sha256=zFzyc74YHyOvIL26zz2nb15M27OJ_iusTVTkUF_835A,8197
28
28
  vispy/app/backends/_test.py,sha256=JDzZW-aq-1eOM167zpf5aWWeIn2lw6F-k4RcDl7wM2E,259
@@ -41,9 +41,9 @@ vispy/app/tests/test_qt.py,sha256=XsTD7oHGgJcQU-05ycUrxvYZreRSLbIojc3OhFe0Dz4,13
41
41
  vispy/app/tests/test_simultaneous.py,sha256=S0kKHhAAtWOqjCtaP-g1AG6QOy5N5vNaGJbYCSRA4mQ,4661
42
42
  vispy/color/__init__.py,sha256=3IPPPTuiFWGfVmhFBSk5QCcNp-8_paj8HPrLmgkSFPY,661
43
43
  vispy/color/_color_dict.py,sha256=TqlZoWaeO3ddWwm57MaGqqoiDU5q0OmBBxpzhAcz-iM,5417
44
- vispy/color/color_array.py,sha256=84EgwLxGMCyj09JsS6BS8D1im7f2i-ZpuVJSqW9ozzQ,14634
44
+ vispy/color/color_array.py,sha256=KCOVxr_qvNfgZQI6lJHeyIVne3MeYAEx6t0V3DhFjAY,14860
45
45
  vispy/color/color_space.py,sha256=h0ntDbT4PTYaCYf2bEGRbVKI_HjbyQ2zuFSwAet9EQA,6232
46
- vispy/color/colormap.py,sha256=TeU3JF781JOS4O0KA0S74v_DeV7xgL_dW58FL1-7x0c,44788
46
+ vispy/color/colormap.py,sha256=tsSL64QFavSyY_wzlYW2_5pXThvDC9oY02jYta5g6Jo,43720
47
47
  vispy/color/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  vispy/color/tests/test_color.py,sha256=wghhl5hWzLQAJexx53X2pGqxKkzvq7EsZZB6fjP1JcQ,13271
49
49
  vispy/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -60,7 +60,7 @@ vispy/geometry/curves.py,sha256=aatBl8ArN1z_RumPHS4ZlCTXPUPOh8mGJ-jeKJ6LpXU,1354
60
60
  vispy/geometry/generation.py,sha256=eCJzZFJBz8dGwsPiN-Zzdq6vuP5JRFUhllPXayljMKg,21584
61
61
  vispy/geometry/isocurve.py,sha256=LNHyCpKDmtzITP1kvKQQvhmD__Pb25VYDn0fXbtJQTs,5971
62
62
  vispy/geometry/isosurface.py,sha256=NXWY0UREZQoTYe4RUPsUWDn5qdmdPHTPhpKCiR1Hyrk,21116
63
- vispy/geometry/meshdata.py,sha256=jXwcoiWfyYNqq5HNiixnnNvuuL2ZcprtUQ-xQpFoHOc,25989
63
+ vispy/geometry/meshdata.py,sha256=r01dO5HuMxWFsJz3YFyGJVVgslVHwvV4Y6PSCaQxPvg,27528
64
64
  vispy/geometry/normals.py,sha256=E1LF5g1Pf-9YdveK_385eJLmYCFjEvshrLVSd3s0jlc,2514
65
65
  vispy/geometry/parametric.py,sha256=1K2MoBwJJbWL46iqE3VM2LrgBqi08BW8r2qsMomlru4,1996
66
66
  vispy/geometry/polygon.py,sha256=VAgsEr4N7i1jhCUq7KBlm1juiueauNzh6a9S9WhSuxE,4338
@@ -70,7 +70,7 @@ vispy/geometry/triangulation.py,sha256=TB3WRBO5pMWHVm1-6u93ISmqYqtuSGQuBLNRpVJRM
70
70
  vispy/geometry/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
71
  vispy/geometry/tests/test_calculations.py,sha256=vIskbDm-LJkNE7pQ1Ig8dq1QYjS4ka6mgsnuGNdlPZA,1061
72
72
  vispy/geometry/tests/test_generation.py,sha256=GXZE3U9W7fZ7wow3j2RXcNGDV9FytRvb6yRPErKF3wc,2166
73
- vispy/geometry/tests/test_meshdata.py,sha256=espQeph0aMn0QPJ2AN61eUUz7lhpPaEgpsdczfgZeMw,1312
73
+ vispy/geometry/tests/test_meshdata.py,sha256=awAY1VmD81HHXIox-bGvSPRs71nCChOGIZCUwTk-pRg,4335
74
74
  vispy/geometry/tests/test_triangulation.py,sha256=IrwcANHEIyjeE-b-ZyeYm8K_JLyOfczLJ2AGRzEIIjw,13206
75
75
  vispy/gloo/__init__.py,sha256=zK8VDdY_d2sXDLe2ppCRkbXzqj9FrvKsuyU0SVa9OOU,2078
76
76
  vispy/gloo/buffer.py,sha256=0nE9huwI7l64KPxXgDIBVGIyt8FlpyA7beoALeAVaRQ,17251
@@ -79,12 +79,12 @@ vispy/gloo/framebuffer.py,sha256=rG0fcM2NkED9jFF-GFk0vBDZfqriP63W8VSDr0gcVnM,960
79
79
  vispy/gloo/glir.py,sha256=JPoIchay0FsZseejmRUProQi5gExDSkAxIIIUL3sc4A,67857
80
80
  vispy/gloo/globject.py,sha256=eMkpFZrqJYSHx8A5j1lH-uczqZk-IX2ZYb77E-b1DOM,4013
81
81
  vispy/gloo/preprocessor.py,sha256=lMp2OxCyZDb5gyLUYK3qLMhStrmbyIgnVYnmniWr-wE,2358
82
- vispy/gloo/program.py,sha256=4WFB1h-hTvtXBQWkQpSjGt6e72WfDmbZRSljCxQiH-M,22866
83
- vispy/gloo/texture.py,sha256=9i4v0qdhZ3jqaDb1ih-4JxIaiZZZrHXqIJFa-PZ_UNk,39215
82
+ vispy/gloo/program.py,sha256=Uvo4TN6EViPqaDHhbDmOQjKYm-K6c_WHnFgPEvqTscc,22867
83
+ vispy/gloo/texture.py,sha256=ULvBx-iBNo7z7yWZuhweL1yW-uPsuRTObC8URR03_GU,39467
84
84
  vispy/gloo/util.py,sha256=sC1OM-L0iY3ymJIU4eNOk_9hzDKZVNiKKHOBT_6m500,4548
85
85
  vispy/gloo/wrappers.py,sha256=Buyf8Xl8oPREzH9cn9Ez6ltQ6eaSKDfRrVmuA3GHys0,27222
86
86
  vispy/gloo/gl/__init__.py,sha256=U4QjPJQQNkGFPW2IrDE-KenH4xgcz5D3ULc-Mro39wM,8186
87
- vispy/gloo/gl/_constants.py,sha256=yFxB_sOClewZSJk0ZWQeFBdkaE3_BuLyUrv3NTM9Cs8,17082
87
+ vispy/gloo/gl/_constants.py,sha256=vPvl12f_s5Khrn0DCXKNqoWBk8bfP1yJSaH9VlI15os,17101
88
88
  vispy/gloo/gl/_es2.py,sha256=QDRyABJMCMQHPSfImfnUTnq_-whHr6cyNm3mZJv8fTQ,39293
89
89
  vispy/gloo/gl/_gl2.py,sha256=jZ_Y3WVQvsSsSiJsgTWzShCVTUgqrikbuWsqlCtlVpM,55890
90
90
  vispy/gloo/gl/_proxy.py,sha256=KelhVCgrXzM8BZDRTNaUgWT_RuPi2nasaYQpSI3lxeQ,15204
@@ -269,28 +269,28 @@ vispy/plot/plotwidget.py,sha256=7zRjuSYGc3J6rpUmfMbI10j0kS0qEo0rzuN-3N1RaIw,1911
269
269
  vispy/plot/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
270
270
  vispy/plot/tests/test_plot.py,sha256=KZYPQRC9dyr6mJebDSmEtW_mzT5gdLuhZGHpv1B9j3Y,1760
271
271
  vispy/scene/__init__.py,sha256=x8xRdezKIt0HKvqjEbMGkcpZ5ZGsF_athtHG0d7aOrQ,1530
272
- vispy/scene/canvas.py,sha256=nQVSO5_tOXMQI79mVQ1iPkeXq1Vgil1bFgVgF8pljjc,23254
273
- vispy/scene/events.py,sha256=Hcmmd6gyheq9bx6cfwyOcL9gwaX0Q8d9Du2xHEeS3ag,2261
274
- vispy/scene/node.py,sha256=p0Rjc9mBjt5xkjshgD8Zl0EH_nLbsG5DDwap9vqCIOc,19653
272
+ vispy/scene/canvas.py,sha256=5T522ppfQATjwEk7pgDXpKe72Ik6kB2wYR_gQwnFkYE,23407
273
+ vispy/scene/events.py,sha256=0FUjs0IG9b-EuuYlDWOi-sHuuxVJWdHn13TDYPHv2K8,2548
274
+ vispy/scene/node.py,sha256=U0o5OzlAqyx9o-RnDLoQijINflnBxYyZdmev44UAEMw,20312
275
275
  vispy/scene/subscene.py,sha256=uIPaLqVpHxeK0YycOWxrdcNSrY4t3KkYqj6BckCS8O0,584
276
- vispy/scene/visuals.py,sha256=AkR65fLudYM-Xg-vpMuiKVPHk7Cl9k_yNUGkCYctCmc,10075
276
+ vispy/scene/visuals.py,sha256=-sZfp5xdmB0tS8v8ZEJGaP6KY1FIR4ae8l--znzlM9M,10212
277
277
  vispy/scene/cameras/__init__.py,sha256=Yebnynea-WoUzrg72S6s9RVh2OkXY3FlYOxI6_EV2bk,1271
278
278
  vispy/scene/cameras/_base.py,sha256=CKRsQo7BtUTkQnKcSgL2qbIS5FtsGzO6ZNFWARrh4AY,1315
279
279
  vispy/scene/cameras/arcball.py,sha256=CfwtKfw5_q9XWj63NF8CuaDl4MVWZBU4iaMl3De3_kg,3712
280
- vispy/scene/cameras/base_camera.py,sha256=9UAEGPj7EVJ4jySf4uzSzBySw7r29Dts8fZ77lNXV9Q,19145
280
+ vispy/scene/cameras/base_camera.py,sha256=cQ8PXZjenxQ-PuHx5zDxrAXeuk32DHG2E73qETHRPyc,19439
281
281
  vispy/scene/cameras/fly.py,sha256=alVajdbGl3LqBlC7-j54eOu5I3msXYvUtsZnfcVf8YU,16817
282
282
  vispy/scene/cameras/magnify.py,sha256=1SwWW3yA6OXnu-FjcuPY_k82XquaXI4PV8_XdcnCdvs,5550
283
- vispy/scene/cameras/panzoom.py,sha256=6qF9RHWJTO6pvuh4Tho1IgN7LmTQTCofXMDPzwQdDkc,11090
284
- vispy/scene/cameras/perspective.py,sha256=oIarH_FfkBIQDbrLbJ_S5_VD6vmHIG0_bIcOVYrLxtA,11944
283
+ vispy/scene/cameras/panzoom.py,sha256=HPXim0zw41CS5ZUCQpV851jkMpJLNuPLrbOm82ZK8_I,11274
284
+ vispy/scene/cameras/perspective.py,sha256=80u9xp25qUxSihyCxfwJX_rG_GylLZ19Drj9R93Kq7c,12172
285
285
  vispy/scene/cameras/turntable.py,sha256=wVAY12B23ckgY19s86Dhqq6t02D9MNZUCR7dA-2ufpo,5880
286
286
  vispy/scene/cameras/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
287
  vispy/scene/cameras/tests/test_cameras.py,sha256=IJNUkgmmLSsgDk48hp1MOevner_eQNs7st324JsCjN4,1095
288
288
  vispy/scene/cameras/tests/test_link.py,sha256=HLQaBPyjCryXlIJD63hKkSBA-ubEzojbmatQqHGBi9I,1665
289
- vispy/scene/cameras/tests/test_perspective.py,sha256=L1Iv5sHoOdfarJPNC4UNoBTVnEfeP2rt7vSnczp0E1U,3305
289
+ vispy/scene/cameras/tests/test_perspective.py,sha256=AzXoWVd0c87Rxk1l7YJNP9yOF2p6ERp7E-EAW7eBlFA,4451
290
290
  vispy/scene/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
291
  vispy/scene/tests/test_canvas.py,sha256=qspBRbyhERHR5H4AjxeaoGHGZ2uH0KVwG71Vj-3Db_o,4277
292
292
  vispy/scene/tests/test_node.py,sha256=drLZcMQNrS8ehsm5nVJ_yGV4HAJxOzZ-P89-4siETwM,5078
293
- vispy/scene/tests/test_visuals.py,sha256=Fspb4EbDkLKeUWk0Pqx3zFeM7IphHP5kYPyxgiN2_sA,1047
293
+ vispy/scene/tests/test_visuals.py,sha256=t2Bghv2nfeftnpdU1NqDNhvx5tpCbQRvedVZRp1CZU0,4506
294
294
  vispy/scene/widgets/__init__.py,sha256=_6bqjoYW_5xSZGVjtpr3r6z2T1LaDOTZIYi-OWe15ns,701
295
295
  vispy/scene/widgets/anchor.py,sha256=EHuMUcdR7HZYNlfgMwuRzP8bD65EXElF8AVXxptsi7o,899
296
296
  vispy/scene/widgets/axis.py,sha256=rv2Egm1Fukybm08m--GDqxsIlk9-qkUHPSWtAJSM3Do,3042
@@ -319,7 +319,7 @@ vispy/util/fetching.py,sha256=3li7FkaSwtixJtBR-khdOz1m_Nn6ihFXrGzZdtmsyq0,10580
319
319
  vispy/util/filter.py,sha256=xN6NYKQFsiLraKZJ9dJe6cbydnHdqN_F5pnilMsQjMI,1441
320
320
  vispy/util/fourier.py,sha256=8oaw_5nXY3oEgNWMQurxZCiXCfJrvq5-4fbr0xiuNYc,2036
321
321
  vispy/util/frozen.py,sha256=Dcgn28UYDAYUmkDgb7pcMkQTO3UD7tcuLBlPzb_pTtY,916
322
- vispy/util/gallery_scraper.py,sha256=AxpmyYUpa56j_nm-rsiYZeOV7Nh2oaMNXPmxyw1lgTM,10027
322
+ vispy/util/gallery_scraper.py,sha256=GnKEiB-BzEZ_8brM1CUmeIQJ7mLlJeG4dIjK3Syl9L0,10316
323
323
  vispy/util/keys.py,sha256=sfROf2zcn7v8Za2w76WG1YVkTBTBtXQrlwPN_LHY5Ss,2534
324
324
  vispy/util/logs.py,sha256=8LkHGbYJwJJoyBFWyWXlFlgsfDXDXUIm0KYTTg_L6-A,13167
325
325
  vispy/util/osmesa_gl.py,sha256=2ioIw4Rtc9VltZIp6nYq_vQUS6v-Iv4EMTs7sLtTNRg,614
@@ -367,14 +367,14 @@ vispy/util/tests/test_docstring_parameters.py,sha256=-65435PbKyQuAs7chCf1muvKGps
367
367
  vispy/util/tests/test_emitter_group.py,sha256=NF09uoz1F5yPXJsUhQ3psN2VySKHcVd5R85l6BTAxxk,8192
368
368
  vispy/util/tests/test_event_emitter.py,sha256=yII5Nrv6-frGwV4vAY_lvsKY1qhNHQUXcjihsYmnCLw,20710
369
369
  vispy/util/tests/test_fourier.py,sha256=yEa-VxWlFYkbOtVAHk3MUt5gbi9ZauLXCv54SZCKQdQ,1308
370
- vispy/util/tests/test_gallery_scraper.py,sha256=ODb3Ypc0W5-rAMCxFz2raLr_piBGeWugdRAR0JWzw1I,3814
370
+ vispy/util/tests/test_gallery_scraper.py,sha256=Rn61FpphnnA8KCBLj-t9ePyplcRPAhf1DWXnDcOPSQ4,3892
371
371
  vispy/util/tests/test_import.py,sha256=ZG9J9O-dgK7WddOE8SJdmRs0uEgSrz1WMn5W0GNLkvY,4842
372
372
  vispy/util/tests/test_key.py,sha256=yYt3NeS-wa1T6t59sfOHAs64t0KQf_oNdeB89dGADW0,673
373
373
  vispy/util/tests/test_logging.py,sha256=-Dihn-qFl12SyfG4R6fGzlDEl4bQ9rXKb5berkPAnsw,1574
374
374
  vispy/util/tests/test_run.py,sha256=m4MO_HygF_mk_aFK5zMp-5EDaxRcECJeRWc_x8Bv1ik,438
375
375
  vispy/util/tests/test_transforms.py,sha256=LPX8AgB65LVO-sY2KxgBODzd_GmLDMwBpY4cjks17GA,1554
376
376
  vispy/util/tests/test_vispy.py,sha256=alCPm4Pc0pHyhLLrlflhmSVZWHNBjZ8LVx8QgOTWkb4,1542
377
- vispy/visuals/__init__.py,sha256=0QJM6ToZizkvv_6E5Jf1WmwkwWqOUaz-Bd2Qq5aqrTY,2221
377
+ vispy/visuals/__init__.py,sha256=iCtogjsTpVVGd9GNFbpLHABetHoGEeTAJNP2MvXn-Jw,2278
378
378
  vispy/visuals/_scalable_textures.py,sha256=3ed0PAr4fuFzteC3KAWdPe9Ui6BP5IRqzxpvftbm1ho,20136
379
379
  vispy/visuals/axis.py,sha256=D_kdZYJ5tzX1NOrywRn57iMiiOLJLbC59NW-dabFg30,24250
380
380
  vispy/visuals/border.py,sha256=of996lva-tNa-kRb544IWkzrcP-YVtHGEZPMjxgs2lI,7085
@@ -388,13 +388,14 @@ vispy/visuals/histogram.py,sha256=LaTASUMj1XJHxTIL9tSATuFPIUitIxyUDKqfpQZqVt0,21
388
388
  vispy/visuals/image.py,sha256=fffw3ml_0GW2-XVtYoKbBh2kxtaKENdpEXEgXeMXEFY,27298
389
389
  vispy/visuals/image_complex.py,sha256=GPzlC57zP6UjAVXQvW8kUFAfW27AqGLAzmPnMm43S6k,5403
390
390
  vispy/visuals/infinite_line.py,sha256=vOKsbwe0AoytKHynB4CM9RtHE7hWlhdse0j0KzlBX7o,6205
391
+ vispy/visuals/instanced_mesh.py,sha256=3NqIPWGDdcP9gIh5BJWVX2fD6aithsTbEvT_qAk3C_g,5841
391
392
  vispy/visuals/isocurve.py,sha256=-zfihrkG3zD33UsqYjpkZv5-nNO6gYSH8wTBS9Q7-X4,7624
392
393
  vispy/visuals/isoline.py,sha256=Q6y524xuFUaHXTXXhVx52BPEeVaYsW0Re0ZTjlNe1IA,8749
393
394
  vispy/visuals/isosurface.py,sha256=BxcQRw9n0pdynvinB_WqpFCJzeVHC8RnGe4CJbgkiUw,4013
394
395
  vispy/visuals/line_plot.py,sha256=W9wZTANfV0_0EDbaCh4rCDM5xOn9VGiLGqU6juev-kU,5017
395
396
  vispy/visuals/linear_region.py,sha256=5CRd43NkV_hv2rUDQgumHyT7vgpWhbK5wRR5amagTk0,6813
396
- vispy/visuals/markers.py,sha256=8JZQkAf9cBGS6M2sSnBnbvToWh0l4YqgGfnolX_Rm2o,26297
397
- vispy/visuals/mesh.py,sha256=YWLPlpPORV-IiT8myEMZg0RO89Wc9QtV7tMKe-9D3VE,12324
397
+ vispy/visuals/markers.py,sha256=MUUcVClc6oVoS_xY4JZWezZy30qH0kCnlZWGo8c95ww,27708
398
+ vispy/visuals/mesh.py,sha256=nW_HYW7vXK_02jAv-UxWHfGquMi2SY1rkB-OUcWx74g,12340
398
399
  vispy/visuals/mesh_normals.py,sha256=mLZd7Ops19M2RqCzRTHa3o61zhvwu2umE7ud4gqvkaw,6513
399
400
  vispy/visuals/plane.py,sha256=U_FI8y5BejtjTnroGeKYkOTOdQPSUL1IlO1ZVXdfb-I,2257
400
401
  vispy/visuals/polygon.py,sha256=nQFcyExoy_QS0EF9Xow5NRwXLYtqC6tZd_KVZfBtFgw,4755
@@ -404,9 +405,9 @@ vispy/visuals/scrolling_lines.py,sha256=Pkxp8JuH_4Fbd9tMctZN1W5BNkI4NYKSCsGYe_yE
404
405
  vispy/visuals/spectrogram.py,sha256=Dho8_mOxvxT8QzdUIbUqOGNdSJhtf4IeZjyVNp1ZtZM,5109
405
406
  vispy/visuals/sphere.py,sha256=2JMsmoyjQvO6F7G-W1Bg2wAUQjyyeoTPWCPTQs04B1U,3171
406
407
  vispy/visuals/surface_plot.py,sha256=0Po1no74ln5lE5ddtSkCyjiBkkraWldv_04lpskgZUY,7471
407
- vispy/visuals/tube.py,sha256=TPPeluFqf6tJ3PaVtfi8hCe14_mt_e7itE7g4A0XeIM,6156
408
- vispy/visuals/visual.py,sha256=tt8A4tdkcxtZTPrWMAVd204qq_IAGpdpOaK9XWcoKvk,25900
409
- vispy/visuals/volume.py,sha256=KxcPxv3nx2bqR7vYDQbXqL9R58mlTjYxPWoNLlAod14,50030
408
+ vispy/visuals/tube.py,sha256=Attnn3Dtue0hTmONb3dDT0A56TAAkHoVumSMm26TyN8,6158
409
+ vispy/visuals/visual.py,sha256=WnQQGr46ACEwiPnVDv_J0e3qEOSEkvZEdDwYEZpPvGM,30714
410
+ vispy/visuals/volume.py,sha256=wZJYZGmX0_Qg24C5_mbWes7u7OiMpoM4R0IhdJfL81c,50464
410
411
  vispy/visuals/windbarb.py,sha256=8mgIMTlzsp20EnY8_ZjX_jUAyciu1ErXY-Ta2Ec2FJo,9597
411
412
  vispy/visuals/xyz_axis.py,sha256=13Ni3QO8NYQsB5UzQXTZY7mF_TgQskzOZTPLKsHZIDw,991
412
413
  vispy/visuals/collections/__init__.py,sha256=tuanWMADPtUXijXdB7MNhHWbnfcKAcftdHaqX7PUfnM,1157
@@ -428,14 +429,16 @@ vispy/visuals/collections/raw_triangle_collection.py,sha256=LmxecFmMVN4Pb8QQM2To
428
429
  vispy/visuals/collections/segment_collection.py,sha256=9Feu1zFgTmnsnsMIHSJeCY8mEz864nD9dBki_GlToxs,816
429
430
  vispy/visuals/collections/triangle_collection.py,sha256=hnEVDh8fmduTedtdwqAv6B1zMLQMAkRNCAY5KBAj5hM,641
430
431
  vispy/visuals/collections/util.py,sha256=a1VIXCcLQo-sgROJaRmSe7JacnVoIrkFD_qAWg_Jkzc,5391
431
- vispy/visuals/filters/__init__.py,sha256=K2JJGhL444Vs_POo0BbwUfo1KoC1yykOpoefgRK6o84,439
432
- vispy/visuals/filters/base_filter.py,sha256=pzQpIDBB60c9hk5AfQxl0cP-vJaB_F1PPWjKDX4CGfY,3599
432
+ vispy/visuals/filters/__init__.py,sha256=BmbLl8w9ZOEdRU8fhycHQn7TH5U-YvJGStd-HUuk7SU,556
433
+ vispy/visuals/filters/base_filter.py,sha256=wkH5QSzr9EchFH9GEMDNgz5J2wOD09KP0Cd_HX25cQY,7766
433
434
  vispy/visuals/filters/clipper.py,sha256=S4O8DE0W2Mrn070Ra8y9weFyYrfkj-rMTDnxKHCnXD4,1801
434
435
  vispy/visuals/filters/clipping_planes.py,sha256=xyZopj2zg6vK1IhxwGRK-PyxBlViFLyjAmH2x41BLc0,4649
435
436
  vispy/visuals/filters/color.py,sha256=M_aF-TNCtwDjfvpbtjH62ToVCNrfMKEDMB_kgxR36ks,5230
436
- vispy/visuals/filters/mesh.py,sha256=T2dBkC8My10fs5HSAUA0gGdOdLXXkjhKQOuMrGkMis8,25102
437
+ vispy/visuals/filters/markers.py,sha256=qS6EstAuH55oC6khhsXtw2_dXkZy1xgAlRTv3xRuIdA,799
438
+ vispy/visuals/filters/mesh.py,sha256=S9U15viRCJUGSfYpRR3tVZ4wQBXIP4O5egJeRmDnRIw,26896
437
439
  vispy/visuals/filters/picking.py,sha256=449YDNZYR14jt6KMhzs41wz1lsik7F0p2YaMZnyFZHo,1597
438
440
  vispy/visuals/filters/tests/__init__.py,sha256=yhDex0XDn0SIeqRp8QezJPJ3uoF6XE4TjIIi5suyVU0,163
441
+ vispy/visuals/filters/tests/test_primitive_picking_filters.py,sha256=KpDuc4Sn_hMV9j4BIsYH--fcTtPIrPOYJiQWMi3nE6I,2212
439
442
  vispy/visuals/filters/tests/test_wireframe_filter.py,sha256=NpY32ZR7aQGIJj5NFVTD2OC2q-zOZd4e0SZFiwf7MmM,507
440
443
  vispy/visuals/glsl/__init__.py,sha256=XHRaWJLE8newB7J_DGGehXn62eY7lRH-7J5gqxuluTY,44
441
444
  vispy/visuals/glsl/antialiasing.py,sha256=aIP-KikzSCwqRobgiSGL_GnjfKmobizSsHGD-ed2Cqg,3328
@@ -453,7 +456,7 @@ vispy/visuals/graphs/tests/test_layouts.py,sha256=AfeOD0I3NG8cINMPiLy-oA_AXhTo7a
453
456
  vispy/visuals/graphs/tests/test_networkx_layout.py,sha256=2m9vh9FmkI4dhGS_Ly0yU0K6Vj7wbHEv_f5IZeAKsQM,1564
454
457
  vispy/visuals/line/__init__.py,sha256=KTtPT4TxidIEHJ2NI-qAzI8JReDgDVcivJ00rwTd-g0,242
455
458
  vispy/visuals/line/arrow.py,sha256=7Tx3u54Vo2MO8E8_UbYTj0XVHjRbfXvVH_90BGnGMUA,10439
456
- vispy/visuals/line/dash_atlas.py,sha256=G29DQoAbLlpoJUuxbe77I09rtUWkEYbrXmtp1rpJpk4,3037
459
+ vispy/visuals/line/dash_atlas.py,sha256=FgQscJavb6mAV9t8ucyfwjS-F2LreBHcr4TJ1N0eG5A,3065
457
460
  vispy/visuals/line/line.py,sha256=QLlEJ2xMkY83TByK-BesK0rvYPf4ZgQ7Qp7NAwr5iaQ,19065
458
461
  vispy/visuals/shaders/__init__.py,sha256=j2euRzM-OfZYC3L5y88P8h5eBrBxYlNW9m8Qlylhpw0,691
459
462
  vispy/visuals/shaders/compiler.py,sha256=EG9Qv-zZLN7CfzUSw_mycSjxffxKo9vznGn0qGJZhGE,7506
@@ -479,10 +482,11 @@ vispy/visuals/tests/test_histogram.py,sha256=x8kuryeEQPy8yZPEGHSPUgwnntn4lZQ556R
479
482
  vispy/visuals/tests/test_image.py,sha256=xIXQGHFFv7Rrh-Frt4tbQT9m0Ff7Z75gTuja2CGtbJ0,14345
480
483
  vispy/visuals/tests/test_image_complex.py,sha256=8xoC71Wy9t1yb5Bot02CEHMgmQJFGHPLCFr5I3ZnwtE,1487
481
484
  vispy/visuals/tests/test_infinite_line.py,sha256=PnyBJ9dKmFwPlon2rfE23OSeLiOH65mmZKgDdlWVgc4,1989
485
+ vispy/visuals/tests/test_instanced_mesh.py,sha256=e1BnmF-JGI_8ZrZJ_VWUlEburrgSimB-GJE89qzLQow,1436
482
486
  vispy/visuals/tests/test_isosurface.py,sha256=2tfPdWxzh4Zk09DmxLjGO5VKG2gICzN5c-uLys3JY_Y,491
483
487
  vispy/visuals/tests/test_linear_region.py,sha256=qh_auUURx3PVHS0PTF24Z1YKbVQFuc73vHPejOujABc,6368
484
488
  vispy/visuals/tests/test_markers.py,sha256=oh3MYnfvB_IXoSATcwEz5I_F3lJ1SJpvhkY6zD-ZAV0,1778
485
- vispy/visuals/tests/test_mesh.py,sha256=u-XH6Ni_joxscWI5jfzoeWxa18Q1g6DR-k794Ze2k_k,9943
489
+ vispy/visuals/tests/test_mesh.py,sha256=dwLBk14GQcQuZ04Xd1xAVFYuISlxDHzeXTGjgmEfqHE,10461
486
490
  vispy/visuals/tests/test_mesh_normals.py,sha256=6L28MJSTn3Uq0fDnKP99_Qa6cXTgP5vxf_p2OZbaSvo,8901
487
491
  vispy/visuals/tests/test_polygon.py,sha256=C_tg_wqhOGypfaR_OgKGSovbN1e92uvAr8t0i8lrK3U,4269
488
492
  vispy/visuals/tests/test_rectangle.py,sha256=I3vKnjaGDeToEDocLPg8ZWm2RT2LaMidtUsZE7fpYiE,6821
@@ -494,8 +498,8 @@ vispy/visuals/tests/test_text.py,sha256=webfWtJcSgUkj3QBtZ4kggrs5OdkGZGb0byYc4mt
494
498
  vispy/visuals/tests/test_volume.py,sha256=mepaB3ssWl0s4gFU_yYTlhsQ1TCCkg_KtdTkLvR2Brs,18120
495
499
  vispy/visuals/tests/test_windbarb.py,sha256=cqEEcAnPMf29ZloL2fWJo2N04lrJgmQnD-Kt8mXWEQA,1135
496
500
  vispy/visuals/text/__init__.py,sha256=qWgGDKR-ezH4ZzzGKfs72S_zOauVDn5snJ5uHnYv6LE,364
497
- vispy/visuals/text/_sdf_cpu.cp310-win_amd64.pyd,sha256=UUTvwguBHPpZVIvEE35cWUhCrP9EJ-Ga-5YvUuzVjhY,46080
498
- vispy/visuals/text/_sdf_cpu.pyx,sha256=QQjYt9D4LKP_DtwJ8g_rBA3ZToVh2atDZquL8lRsUV4,4035
501
+ vispy/visuals/text/_sdf_cpu.cp310-win_amd64.pyd,sha256=Msa6s2AgRGednX9Pst51IoRi6nM2Y2_-4lDCzrxh2Og,153600
502
+ vispy/visuals/text/_sdf_cpu.pyx,sha256=HiFaCXt0FgauyWD8WPpqESjp6mt9qx8n_s_CMRx8brc,3901
499
503
  vispy/visuals/text/_sdf_gpu.py,sha256=XW5nKivmvUx7tA8LebC7u7N37QQfBcMSUrdPvkG9JU8,10796
500
504
  vispy/visuals/text/text.py,sha256=hK8oSjF34PfczzBa5V7nmsR6uCfI-eqcR3zUB73YpjA,25928
501
505
  vispy/visuals/transforms/__init__.py,sha256=BNbVO0GWBoQZShivY_RDrRHcey-zOmQoF1A47hXgua4,1264
@@ -508,8 +512,8 @@ vispy/visuals/transforms/nonlinear.py,sha256=oiHDhqoM9E4rBGMmqZtVSJVspt1FgZORig6
508
512
  vispy/visuals/transforms/transform_system.py,sha256=dKRMid1Gm0bhh9K_v1RiC-xxbmQF61OHz_0Ur8GdMmU,14098
509
513
  vispy/visuals/transforms/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
510
514
  vispy/visuals/transforms/tests/test_transforms.py,sha256=QbAo0I3g5VkaQzzsZ03zktP-ge2JiXQeD2rqV6_LK7o,7114
511
- vispy-0.12.1.dist-info/LICENSE.txt,sha256=XWDeRDwkP6-8C2YfBtCOmdF031iGVM5xD1OZhy90oDM,1810
512
- vispy-0.12.1.dist-info/METADATA,sha256=o4lgaVXQmZgsm9Iu9Fkj2YisjgjmumVVz8eKwRFwhis,8492
513
- vispy-0.12.1.dist-info/WHEEL,sha256=rneS2j8QNmAwdNKHN86s6-qP7AMcWZgqiEoH3bdbh_Y,102
514
- vispy-0.12.1.dist-info/top_level.txt,sha256=mciStn1SI48jYwEhJXlrMJ3HaJ90XOr5ZGJ8YdFI674,6
515
- vispy-0.12.1.dist-info/RECORD,,
515
+ vispy-0.14.0.dist-info/LICENSE.txt,sha256=oENMqsC-O8FBKA0sbJxkd_T1-rK5oVsTFdfC4IzuRIs,1810
516
+ vispy-0.14.0.dist-info/METADATA,sha256=hZn5MXgoX9LjjLNpR2_59X9BG5xG4ccm1gKKGzbdGM0,8546
517
+ vispy-0.14.0.dist-info/WHEEL,sha256=yrvteVAZzxQvtDnzdCRh4dP01sPIxYhLXIXplC7o50E,102
518
+ vispy-0.14.0.dist-info/top_level.txt,sha256=mciStn1SI48jYwEhJXlrMJ3HaJ90XOr5ZGJ8YdFI674,6
519
+ vispy-0.14.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-win_amd64
5
5