fake-bpy-module 20250930__py3-none-any.whl → 20251002__py3-none-any.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 fake-bpy-module might be problematic. Click here for more details.

@@ -64,6 +64,9 @@ class KeyframesCo:
64
64
  :type action_group_name: str
65
65
  """
66
66
 
67
+ def action_ensure_channelbag_for_slot(action, slot) -> None:
68
+ """Ensure a layer and a keyframe strip exists, then ensure that strip has a channelbag for the slot."""
69
+
67
70
  def action_get_channelbag_for_slot(action, slot) -> None:
68
71
  """Returns the first channelbag found for the slot.
69
72
  In case there are multiple layers or strips they are iterated until a
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fake-bpy-module
3
- Version: 20250930
3
+ Version: 20251002
4
4
  Summary: Collection of the fake Blender Python API module for the code completion.
5
5
  Author: nutti
6
6
  Author-email: nutti.metro@gmail.com
@@ -144,7 +144,7 @@ bl_ui/properties_material/__init__.pyi,sha256=umksBehoHZj_Jkn6xWX0WQH1sCwyqSpCA9
144
144
  bl_ui/properties_material_gpencil/__init__.pyi,sha256=MPq6SsAQKqz8jJbpcmGK6zF0cbAUKB2rcsG2TIoGDMo,8744
145
145
  bl_ui/properties_object/__init__.pyi,sha256=CzGxZhQxo1rcRb58UdawZd9xAXZ8OcoD_L9xb-jhPF8,15771
146
146
  bl_ui/properties_output/__init__.pyi,sha256=5GXVxRcb0hPK_VmFnkZy_PqohxLlPPBwwDYzhI6UUUk,15439
147
- bl_ui/properties_paint_common/__init__.pyi,sha256=ay_2b_CZhG023FMFOr28gIDnHdCj_3yy_P8XvEUDsh4,8510
147
+ bl_ui/properties_paint_common/__init__.pyi,sha256=vrLWdXm58SM2Domx1YfBat8nE9OfzojlqvffS6fOmnI,8460
148
148
  bl_ui/properties_particle/__init__.pyi,sha256=PP0aeNih2eDjO-j5UgyyCmuySLPKPAyKb6wERtdUJUM,44322
149
149
  bl_ui/properties_physics_cloth/__init__.pyi,sha256=1d62dy9gKmAnfiSUO-4EfBYoSMAmmoT3G6dI-WMd0ww,10866
150
150
  bl_ui/properties_physics_common/__init__.pyi,sha256=nwBOYs0jv2XSayR_PYRyDUxO2Lf-4BQh0jCluVBpm6A,1448
@@ -169,7 +169,7 @@ bl_ui/space_graph/__init__.pyi,sha256=TIljcrouLfS7ICU4fUZaRP5ybcUfd81xiOONIRGbyz
169
169
  bl_ui/space_image/__init__.pyi,sha256=9jCK_TJ83BC_nZl9NweAKGpbvYvM-gzDuEkXFhGwgqk,47001
170
170
  bl_ui/space_info/__init__.pyi,sha256=xS8fd5VIJX3mvOvrjgftzsHAx3ZbNggmUGyJIRv6Pcs,3384
171
171
  bl_ui/space_nla/__init__.pyi,sha256=qogAgjcs_TFfi4eoTjkVsPi8GkXRA7s4cO9xip2N-Ss,10324
172
- bl_ui/space_node/__init__.pyi,sha256=mJ_r99fhDSOUTruk1tJPhOXz_nDKXTbg8WAPIh5c0qo,23219
172
+ bl_ui/space_node/__init__.pyi,sha256=Fn2kIFZ4PxrgtMx9s-l_uDIUC-WZgH6EqTmsO_3AJKw,22442
173
173
  bl_ui/space_outliner/__init__.pyi,sha256=1N93UIu-iU2UkqM7tQxeaxob3PRnnUjqY6rKdnT_sAE,8938
174
174
  bl_ui/space_properties/__init__.pyi,sha256=KJdc80dXfvxv5XYmO8CRmheQxff_jLYiS_6zzRG_xwg,2802
175
175
  bl_ui/space_sequencer/__init__.pyi,sha256=uYCt0g3AkdS55wUe5kywRn7eNFv56_Hn42jU3shsd4k,59948
@@ -195,7 +195,7 @@ bmesh/__init__.pyi,sha256=nhi3aUMSLycSJTzr1Txhjt_NU0y_82NN0NBe8pZYTkE,1541
195
195
  bmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
196
  bmesh/geometry/__init__.pyi,sha256=MZzpN0T12x1QweeZUui1LVTrnWyqyBgWsF6tPs1Pe9g,682
197
197
  bmesh/ops/__init__.pyi,sha256=p-7LAeeK1gD00D6TxnOz_JbD5b-_jW0rUQrwZrAfFsw,76498
198
- bmesh/types/__init__.pyi,sha256=OmWmRdfTmMgSvHSNquXBJuNtTMs1d5KZqgEpVBTv5B8,44318
198
+ bmesh/types/__init__.pyi,sha256=JBZwuzFtHu8bOyUuaYY08RlsXtmki0b0ZngHUF0IQks,41956
199
199
  bmesh/utils/__init__.pyi,sha256=N2mRD0u1ipJkw2nokIb-FCL858ikNQrOM_mqJPiCEXY,6285
200
200
  bpy/__init__.pyi,sha256=2c24IZe013Q0UbFSvpU9JKRYusCUwGYTXbNDx17dK5g,490
201
201
  bpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -248,8 +248,8 @@ bpy/ops/material/__init__.pyi,sha256=7yA8XRBaeLm-2IGqQqXcDGNctp3amhdmBMTPoWHw5G8
248
248
  bpy/ops/mball/__init__.pyi,sha256=3avjhyGC4WLxkWeTp16xJjaN3dp05ecbIXJnc2EtXVs,4258
249
249
  bpy/ops/mesh/__init__.pyi,sha256=ORj5lR7JCJdr3ZQrWVfe5p40LGnbAI8cxegrPOfmV8I,132167
250
250
  bpy/ops/nla/__init__.pyi,sha256=F0RGCo7T4Y6FAIZ9Jv-TtkDlV1PnWhWjZ2G3EACL0PM,19052
251
- bpy/ops/node/__init__.pyi,sha256=UmwuH1FgFBiiDhHRd67FsQvlaNNCllmY166KZBnkfhQ,82249
252
- bpy/ops/object/__init__.pyi,sha256=eDtqeh9hGz2nauPeWXnqUdsIAyuC7x3pC3td1shbY9Q,175898
251
+ bpy/ops/node/__init__.pyi,sha256=8v3qxwZpe9rXce3-w_YCtZUSig6zMaSXIEGZ1pS7gt4,84184
252
+ bpy/ops/object/__init__.pyi,sha256=CdW1k_qlZI0fFdNO0xv1nZpdvrx6NiTLd1u0SCLPIJ4,175903
253
253
  bpy/ops/outliner/__init__.pyi,sha256=ynP3AYcSIvRaROgjkuUMwL2F5P085Q_VVOZjhVC4VeY,29325
254
254
  bpy/ops/paint/__init__.pyi,sha256=14ik0wFRdTfSOMWb-ZQBc5FLHtq8xFeGiLMqrmtj374,38326
255
255
  bpy/ops/paintcurve/__init__.pyi,sha256=CyJ287wx58BG_V8H0yrKF8f01MUkuQLPMhlbSop8Tlw,3143
@@ -257,7 +257,7 @@ bpy/ops/palette/__init__.pyi,sha256=arZADeq1E2pbQE4cC4GdC9G3mrj31cbU2b4X_jiCdMY,
257
257
  bpy/ops/particle/__init__.pyi,sha256=yWaqgUeRvSlMs-0msSrT3EHoiDrYXsqeEJDQ7zK9yLo,14503
258
258
  bpy/ops/pointcloud/__init__.pyi,sha256=ncp0W4VO2eKWg0w0RbiCMX0T6Pp8lHgkuCozdZYV0cw,3980
259
259
  bpy/ops/pose/__init__.pyi,sha256=A3-d0foPDJrVEdxWK27m7rtwsv3jvgzG3vrn39YC6S0,28170
260
- bpy/ops/poselib/__init__.pyi,sha256=DOXa3tG3CV3zzklAPwfwqnbWwSZ0Cxv6E71a6Hs0oLQ,6451
260
+ bpy/ops/poselib/__init__.pyi,sha256=39eQ57Dd5_Etnkso2FMfF-x385RljybQRPg9sTLzTII,5877
261
261
  bpy/ops/preferences/__init__.pyi,sha256=ExaBIhejgkAc7k2DPX7S8II-gEXFmfZOoQVcw_Iom0E,19795
262
262
  bpy/ops/ptcache/__init__.pyi,sha256=alDSJmgA1aKoMo46EDHirj_L-9Xc7RvfCh27DRnRuWc,1834
263
263
  bpy/ops/render/__init__.pyi,sha256=1RwH4v1gGzN1loZmAd2B_Ff_kaAYSuPd2TbDkDFjB6E,8109
@@ -267,7 +267,7 @@ bpy/ops/screen/__init__.pyi,sha256=JVe5VWQxsb64V0cJ5DATt1h7wlBwW16qhjlQdzoux3s,2
267
267
  bpy/ops/script/__init__.pyi,sha256=xMWzlcdSykwWgk_ck_Mnv6pbex532LfNek21C_cWAjU,1047
268
268
  bpy/ops/sculpt/__init__.pyi,sha256=7bpCfzikCt-_OCb-4SVg022NttPW760VWCgcoOvhcMc,51571
269
269
  bpy/ops/sculpt_curves/__init__.pyi,sha256=Pp-SNyuO82Y1Ksm2ygzZK14X5Nil2cZUOE798KYG5EE,2919
270
- bpy/ops/sequencer/__init__.pyi,sha256=DdC_h5cCjLgkSFrnb3HaK0r29piICL0GMwi7QtP1eUE,90771
270
+ bpy/ops/sequencer/__init__.pyi,sha256=yBwBMcOCJqhdwVVsOo4XC-7oRGASoWEB2wmupOkQ_Co,90742
271
271
  bpy/ops/sound/__init__.pyi,sha256=x0KuxcCFRcLVHsSLxqfNcPi0CyqYVMIUGkBvznDroNk,16665
272
272
  bpy/ops/spreadsheet/__init__.pyi,sha256=vJX-uQpmdhiHh6dB9yhaqOKkyQKPpRH1Ay2PSwLTEoQ,2175
273
273
  bpy/ops/surface/__init__.pyi,sha256=2zsyLcEMeA71sYw44yeIY6l1dRzf77ITk17JWlz2JTk,10390
@@ -280,20 +280,20 @@ bpy/ops/uilist/__init__.pyi,sha256=CSwrFuqez9Ia24-_yFa5gAudByRrRqmaQVKrfExyRYc,1
280
280
  bpy/ops/uv/__init__.pyi,sha256=AfM3c8aTkjexYVvmRWS5ZZu0uEY8DdO63Gmz_dT-bz4,50521
281
281
  bpy/ops/view2d/__init__.pyi,sha256=bXpaqKJa4WVVOib1-e_jWpSirho63ignV5z0LPxfLCs,7173
282
282
  bpy/ops/view3d/__init__.pyi,sha256=JET9fsqbX7Yqaf1IYsV2tvT4FwhYMklB_rOnEbG2OK8,31946
283
- bpy/ops/wm/__init__.pyi,sha256=LCvr1AupUVbhC9Vz6YDRYqncptUbVzK5pevFpYqnxoc,210003
283
+ bpy/ops/wm/__init__.pyi,sha256=hqc2YwoYGlDGSOC52z44uIbLtF6XhZiSSRwXWBJzDUw,213472
284
284
  bpy/ops/workspace/__init__.pyi,sha256=Yfe-bzDigcZkkMulfyDa0wbwqzHBrfp5mn0u_sCN7wo,2418
285
285
  bpy/ops/world/__init__.pyi,sha256=VTCqEUTLL6yJroZCNcMYQgEKVmjwkIwIy70vB78rdOM,673
286
286
  bpy/path/__init__.pyi,sha256=Phd8a6fB3496L7_LUhdwPNwkh3qy_4O-MS5br9RMfO0,5536
287
287
  bpy/props/__init__.pyi,sha256=_gmJ54eKwSmNZHQyDK1CiQn9fSy_L9K3jfSeX9nhCK4,51038
288
288
  bpy/stub_internal/__init__.pyi,sha256=h3K2LGZ8lcLY-Oo9ym-HEopjGScc4iTfpT1MU_6smTI,126
289
- bpy/stub_internal/rna_enums/__init__.pyi,sha256=xWXL-ZOUpGKbQfAEuaQDUEYWiR46Jsvr8xexC_UzUoU,142780
290
- bpy/types/__init__.pyi,sha256=D1KCxgk_4ab-L7GZKfiZ4vJ_3Ctw5ksfBpLCUWjdPws,5900055
289
+ bpy/stub_internal/rna_enums/__init__.pyi,sha256=Px-FjjiRZZIy9oPDV9gDUHOSuVseni-P7AjFebuc81w,142878
290
+ bpy/types/__init__.pyi,sha256=S6Gt9FT1AKnqTq-bJy9QbbADa6xszl3pA3FFeh2V9ck,5911685
291
291
  bpy/utils/__init__.pyi,sha256=GGYp2g381aOdE7tWXvRGVbmhijbfgt4wGAtJGgbvyJg,15526
292
292
  bpy/utils/previews/__init__.pyi,sha256=iSZemSCPu1S2BjAQO83Z-FqEo1nGHRCEIEduXB6hQhc,2357
293
293
  bpy/utils/units/__init__.pyi,sha256=cpE9IZPkYPBexru7R9HQ_c0931d7R7Dvib2Uf7V0JJs,2645
294
294
  bpy_extras/__init__.pyi,sha256=Vish0mn6IfEYsdv9gWh6VDSpzvOwYavpgAC_PleMtFE,995
295
295
  bpy_extras/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
296
- bpy_extras/anim_utils/__init__.pyi,sha256=ASWbIawcJyVr8tpzMhDDn-TFsceHSZ0-a3HqfI1Capg,4576
296
+ bpy_extras/anim_utils/__init__.pyi,sha256=MOu2T6tgn_JnuKLNgCKcIvJt12pqaVextk4-Dj0T4WQ,4746
297
297
  bpy_extras/asset_utils/__init__.pyi,sha256=aM9iiUUy5PcxHY5lz-UxfvLzAc9bH5Y-z3kRRB9IzvY,221
298
298
  bpy_extras/bmesh_utils/__init__.pyi,sha256=KrJhW9Esut9jZKqcogqgPnrC9LbJOOe3szRluEd5j-E,513
299
299
  bpy_extras/id_map_utils/__init__.pyi,sha256=IXrJ93ipXCEEwjJ09T_NNbc0S2RZRvckkjqTNeYk9dY,503
@@ -320,7 +320,7 @@ freestyle/functions/__init__.pyi,sha256=dGcOMrCayIE_OXrHIm36aQUAsCyNwvX63DjLjJw6
320
320
  freestyle/predicates/__init__.pyi,sha256=3Y8x157YP6udskhuFb_UZYvGyZjjEhGIJWQoj0BMLsw,13550
321
321
  freestyle/shaders/__init__.pyi,sha256=SUbnzfs9aX629SUz1vacJUkTQS2F8-E4TS1SetN0yFs,24630
322
322
  freestyle/types/__init__.pyi,sha256=LkVRkopB5Ntk0LeBeq4vnaVE-4CVtDcMVCKy75_sM9Y,101295
323
- freestyle/utils/__init__.pyi,sha256=I5thoI3sH_4ZEpx_7KK1Tl76DjREB7C-8g7A_IdQunQ,5328
323
+ freestyle/utils/__init__.pyi,sha256=vrxmLboZoETh1_GfhS4xYZ7vzW6Oh3vElX7y16Ftw0c,5328
324
324
  freestyle/utils/ContextFunctions/__init__.pyi,sha256=IKNZD__52vYS5eT32F_WZwW1dco_6G2kZC_1IVCAwLs,3486
325
325
  gpu/__init__.pyi,sha256=TLoatdrTMM6vfjnbuQA6cW38ARW5nuLa4Y-eicnJU5Q,8900
326
326
  gpu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -331,7 +331,7 @@ gpu/select/__init__.pyi,sha256=u7L8-mg3F6PD60rvGcJ1CUehZTDaPSGtmXzs1LNKK7g,242
331
331
  gpu/shader/__init__.pyi,sha256=vTyHoiXVvNiPyXwCNy1EEN4TGlzqFjQKfD3ySHBaM7A,2443
332
332
  gpu/state/__init__.pyi,sha256=XC4KxVmSTDPNQP57tfsP5gqDwuhlwjLiVGTedL_KN7U,4487
333
333
  gpu/texture/__init__.pyi,sha256=TzwOXJ7KCVQrBiujMTZ0AWx_IF4yNe2vWmhkkvnHuKg,674
334
- gpu/types/__init__.pyi,sha256=jibv0AvUnNx5FWs3M57Fz5Upx9mymqHqhehwttK3jUw,29291
334
+ gpu/types/__init__.pyi,sha256=XJvDX4l4Pekl_gG5OzGECBR1yyZam8d_4xFjZFIJwLs,29302
335
335
  gpu_extras/__init__.pyi,sha256=XscwC-5DTPC0yc2HB_XMgvX61rT5Qs5RaImqNwR6c40,240
336
336
  gpu_extras/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
337
  gpu_extras/batch/__init__.pyi,sha256=inV4OR_YJrG76oiq-8PZW2dDyx8pzf4jp818hX9alqw,1298
@@ -351,7 +351,7 @@ keyingsets_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
351
351
  mathutils/__init__.pyi,sha256=QBvmsVe5brYs9KpGoF1DdHKze2iRn5i3pGapskxYzRU,91364
352
352
  mathutils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
353
353
  mathutils/bvhtree/__init__.pyi,sha256=dwPbU667m_oVBEu4aEcWns2sWl8oSNEII-O0GXxwsDA,5118
354
- mathutils/geometry/__init__.pyi,sha256=N3LtfyhHPnBim_PgIa5likQdcVxOMDvUC-eTqv70ruY,23817
354
+ mathutils/geometry/__init__.pyi,sha256=znfthz0P_KR3n8C6RHqm9K-rTFKR0dGlnlKOb2htmkM,24696
355
355
  mathutils/interpolate/__init__.pyi,sha256=ndZoeTg3JKLj5Uskd-TU2BmCEAe8k_-MY-jGzzNj0O4,575
356
356
  mathutils/kdtree/__init__.pyi,sha256=99pXd0pG1J4JBPexQBa87d-DAg-3KZ1lmDL3ZLiVA-Q,2309
357
357
  mathutils/noise/__init__.pyi,sha256=Zg1rSqWCinxZ9dzzKreAatID67q05SeBQJr1hOy6Gdk,10879
@@ -367,7 +367,7 @@ rna_prop_ui/__init__.pyi,sha256=Gn7kc9WhI3qPObIz8QiFbjeVIP7GCeF6liywBzIEcnE,1402
367
367
  rna_prop_ui/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
368
368
  rna_xml/__init__.pyi,sha256=E0_ajcifhpiiQJVaNKnAa2ju-w5Tg9-lk7IqhsPjrw4,652
369
369
  rna_xml/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
370
- fake_bpy_module-20250930.dist-info/METADATA,sha256=HQnqnEy7Rhfg2hVCqi4mr5wYwRsuTjGOS20p0xHcQ2w,7429
371
- fake_bpy_module-20250930.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
372
- fake_bpy_module-20250930.dist-info/top_level.txt,sha256=xwHlW-cY033y5uA7GsGZDdOwWdNIzrHETvaZ_rWuR4I,539
373
- fake_bpy_module-20250930.dist-info/RECORD,,
370
+ fake_bpy_module-20251002.dist-info/METADATA,sha256=p6UMZnBNsmIag-auSxehw_Y4ZOja5djs4RDJSNeJC3I,7429
371
+ fake_bpy_module-20251002.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
372
+ fake_bpy_module-20251002.dist-info/top_level.txt,sha256=xwHlW-cY033y5uA7GsGZDdOwWdNIzrHETvaZ_rWuR4I,539
373
+ fake_bpy_module-20251002.dist-info/RECORD,,
@@ -125,7 +125,7 @@ def material_from_fedge(fe) -> None:
125
125
  """get the diffuse RGBA color from an FEdge"""
126
126
 
127
127
  def normal_at_I0D(it) -> None: ...
128
- def pairwise(iterable, types={StrokeVertexIterator, Stroke}) -> None:
128
+ def pairwise(iterable, types={Stroke, StrokeVertexIterator}) -> None:
129
129
  """Yields a tuple containing the previous and current object"""
130
130
 
131
131
  def rgb_to_bw(r, g, b) -> None:
gpu/types/__init__.pyi CHANGED
@@ -76,6 +76,101 @@ class GPUBatch:
76
76
  :type buf: GPUVertBuf
77
77
  """
78
78
 
79
+ class GPUFrameBuffer:
80
+ """This object gives access to framebuffer functionalities.
81
+ When a layer is specified in a argument, a single layer of a 3D or array texture is attached to the frame-buffer.
82
+ For cube map textures, layer is translated into a cube map face.
83
+ """
84
+
85
+ is_bound: typing.Any
86
+ """ Checks if this is the active frame-buffer in the context."""
87
+
88
+ def bind(self) -> None:
89
+ """Context manager to ensure balanced bind calls, even in the case of an error."""
90
+
91
+ def clear(
92
+ self,
93
+ *,
94
+ color: collections.abc.Sequence[float] | None = None,
95
+ depth: float | None = None,
96
+ stencil: int | None = None,
97
+ ) -> None:
98
+ """Fill color, depth and stencil textures with specific value.
99
+ Common values: color=(0.0, 0.0, 0.0, 1.0), depth=1.0, stencil=0.
100
+
101
+ :param color: Sequence of 3 or 4 floats representing (r, g, b, a).
102
+ :type color: collections.abc.Sequence[float] | None
103
+ :param depth: depth value.
104
+ :type depth: float | None
105
+ :param stencil: stencil value.
106
+ :type stencil: int | None
107
+ """
108
+
109
+ def read_color(
110
+ self,
111
+ x: int,
112
+ y,
113
+ xsize,
114
+ ysize,
115
+ channels: int,
116
+ slot: int,
117
+ format: str,
118
+ *,
119
+ data: Buffer = data,
120
+ ) -> Buffer:
121
+ """Read a block of pixels from the frame buffer.
122
+
123
+ :param x: Lower left corner of a rectangular block of pixels.
124
+ :type x: int
125
+ :param y:
126
+ :param xsize: Dimensions of the pixel rectangle.
127
+ :param ysize:
128
+ :param channels: Number of components to read.
129
+ :type channels: int
130
+ :param slot: The framebuffer slot to read data from.
131
+ :type slot: int
132
+ :param format: The format that describes the content of a single channel.
133
+ Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8 & 10_11_11_REV.
134
+ UINT_24_8 is deprecated, use FLOAT instead.
135
+ :type format: str
136
+ :param data: Optional Buffer object to fill with the pixels values.
137
+ :type data: Buffer
138
+ :return: The Buffer with the read pixels.
139
+ :rtype: Buffer
140
+ """
141
+
142
+ def read_depth(
143
+ self, x: int, y, xsize: int, ysize, *, data: Buffer = data
144
+ ) -> Buffer:
145
+ """Read a pixel depth block from the frame buffer.
146
+
147
+ :param x: Lower left corner of a rectangular block of pixels.
148
+ :type x: int
149
+ :param y:
150
+ :param xsize: Dimensions of the pixel rectangle.
151
+ :type xsize: int
152
+ :param ysize:
153
+ :param data: Optional Buffer object to fill with the pixels values.
154
+ :type data: Buffer
155
+ :return: The Buffer with the read pixels.
156
+ :rtype: Buffer
157
+ """
158
+
159
+ def viewport_get(self) -> None:
160
+ """Returns position and dimension to current viewport."""
161
+
162
+ def viewport_set(self, x: int, y, xsize: int, ysize) -> None:
163
+ """Set the viewport for this framebuffer object.
164
+ Note: The viewport state is not saved upon framebuffer rebind.
165
+
166
+ :param x: lower left corner of the viewport_set rectangle, in pixels.
167
+ :type x: int
168
+ :param y:
169
+ :param xsize: width and height of the viewport_set.
170
+ :type xsize: int
171
+ :param ysize:
172
+ """
173
+
79
174
  class GPUIndexBuf:
80
175
  """Contains an index buffer."""
81
176
 
@@ -984,98 +1079,3 @@ class GPUVertFormat:
984
1079
  Possible values are FLOAT, INT or INT_TO_FLOAT_UNIT.
985
1080
  :type fetch_mode: str
986
1081
  """
987
-
988
- class gpu:
989
- """This object gives access to framebuffer functionalities.
990
- When a layer is specified in a argument, a single layer of a 3D or array texture is attached to the frame-buffer.
991
- For cube map textures, layer is translated into a cube map face.
992
- """
993
-
994
- is_bound: typing.Any
995
- """ Checks if this is the active frame-buffer in the context."""
996
-
997
- def bind(self) -> None:
998
- """Context manager to ensure balanced bind calls, even in the case of an error."""
999
-
1000
- def clear(
1001
- self,
1002
- *,
1003
- color: collections.abc.Sequence[float] | None = None,
1004
- depth: float | None = None,
1005
- stencil: int | None = None,
1006
- ) -> None:
1007
- """Fill color, depth and stencil textures with specific value.
1008
- Common values: color=(0.0, 0.0, 0.0, 1.0), depth=1.0, stencil=0.
1009
-
1010
- :param color: Sequence of 3 or 4 floats representing (r, g, b, a).
1011
- :type color: collections.abc.Sequence[float] | None
1012
- :param depth: depth value.
1013
- :type depth: float | None
1014
- :param stencil: stencil value.
1015
- :type stencil: int | None
1016
- """
1017
-
1018
- def read_color(
1019
- self,
1020
- x: int,
1021
- y,
1022
- xsize,
1023
- ysize,
1024
- channels: int,
1025
- slot: int,
1026
- format: str,
1027
- *,
1028
- data: Buffer = data,
1029
- ) -> Buffer:
1030
- """Read a block of pixels from the frame buffer.
1031
-
1032
- :param x: Lower left corner of a rectangular block of pixels.
1033
- :type x: int
1034
- :param y:
1035
- :param xsize: Dimensions of the pixel rectangle.
1036
- :param ysize:
1037
- :param channels: Number of components to read.
1038
- :type channels: int
1039
- :param slot: The framebuffer slot to read data from.
1040
- :type slot: int
1041
- :param format: The format that describes the content of a single channel.
1042
- Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8 & 10_11_11_REV.
1043
- UINT_24_8 is deprecated, use FLOAT instead.
1044
- :type format: str
1045
- :param data: Optional Buffer object to fill with the pixels values.
1046
- :type data: Buffer
1047
- :return: The Buffer with the read pixels.
1048
- :rtype: Buffer
1049
- """
1050
-
1051
- def read_depth(
1052
- self, x: int, y, xsize: int, ysize, *, data: Buffer = data
1053
- ) -> Buffer:
1054
- """Read a pixel depth block from the frame buffer.
1055
-
1056
- :param x: Lower left corner of a rectangular block of pixels.
1057
- :type x: int
1058
- :param y:
1059
- :param xsize: Dimensions of the pixel rectangle.
1060
- :type xsize: int
1061
- :param ysize:
1062
- :param data: Optional Buffer object to fill with the pixels values.
1063
- :type data: Buffer
1064
- :return: The Buffer with the read pixels.
1065
- :rtype: Buffer
1066
- """
1067
-
1068
- def viewport_get(self) -> None:
1069
- """Returns position and dimension to current viewport."""
1070
-
1071
- def viewport_set(self, x: int, y, xsize: int, ysize) -> None:
1072
- """Set the viewport for this framebuffer object.
1073
- Note: The viewport state is not saved upon framebuffer rebind.
1074
-
1075
- :param x: lower left corner of the viewport_set rectangle, in pixels.
1076
- :type x: int
1077
- :param y:
1078
- :param xsize: width and height of the viewport_set.
1079
- :type xsize: int
1080
- :param ysize:
1081
- """
@@ -341,15 +341,34 @@ def intersect_plane_plane(
341
341
  def intersect_point_line(
342
342
  pt: collections.abc.Sequence[float] | mathutils.Vector,
343
343
  line_p1: collections.abc.Sequence[float] | mathutils.Vector,
344
- line_p2,
344
+ line_p2: collections.abc.Sequence[float] | mathutils.Vector,
345
345
  /,
346
346
  ) -> tuple[mathutils.Vector, float]:
347
- """Takes a point and a line and returns a tuple with the closest point on the line and its distance from the first point of the line as a percentage of the length of the line.
347
+ """Takes a point and a line and returns the closest point on the line and its distance from the first point of the line as a percentage of the length of the line.
348
348
 
349
349
  :param pt: Point
350
350
  :type pt: collections.abc.Sequence[float] | mathutils.Vector
351
- :param line_p1: First point of the lineSecond point of the line
351
+ :param line_p1: First point of the line
352
352
  :type line_p1: collections.abc.Sequence[float] | mathutils.Vector
353
+ :param line_p2: Second point of the line
354
+ :type line_p2: collections.abc.Sequence[float] | mathutils.Vector
355
+ :rtype: tuple[mathutils.Vector, float]
356
+ """
357
+
358
+ def intersect_point_line_segment(
359
+ pt: collections.abc.Sequence[float] | mathutils.Vector,
360
+ seg_p1: collections.abc.Sequence[float] | mathutils.Vector,
361
+ seg_p2: collections.abc.Sequence[float] | mathutils.Vector,
362
+ /,
363
+ ) -> tuple[mathutils.Vector, float]:
364
+ """Takes a point and a segment and returns the closest point on the segment and the distance to the segment.
365
+
366
+ :param pt: Point
367
+ :type pt: collections.abc.Sequence[float] | mathutils.Vector
368
+ :param seg_p1: First point of the segment
369
+ :type seg_p1: collections.abc.Sequence[float] | mathutils.Vector
370
+ :param seg_p2: Second point of the segment
371
+ :type seg_p2: collections.abc.Sequence[float] | mathutils.Vector
353
372
  :rtype: tuple[mathutils.Vector, float]
354
373
  """
355
374