pyobjc-framework-SpriteKit 12.0__tar.gz → 12.2__tar.gz

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.
Files changed (60) hide show
  1. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/SpriteKit/_metadata.py +223 -13
  2. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/pyobjc_framework_SpriteKit.egg-info/PKG-INFO +6 -7
  3. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/pyobjc_framework_SpriteKit.egg-info/SOURCES.txt +2 -2
  4. pyobjc_framework_spritekit-12.2/Lib/pyobjc_framework_SpriteKit.egg-info/pyobjc-build-info.txt +3 -0
  5. pyobjc_framework_spritekit-12.2/Lib/pyobjc_framework_SpriteKit.egg-info/requires.txt +3 -0
  6. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Modules/pyobjc-compat.h +24 -50
  7. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PKG-INFO +6 -7
  8. pyobjc_framework_spritekit-12.2/metadata/SpriteKit.fwinfo +1003 -0
  9. pyobjc_framework_spritekit-12.0/metadata/raw/arm64-26.0.fwinfo → pyobjc_framework_spritekit-12.2/metadata/raw/arm64-26.5.fwinfo +5059 -168
  10. pyobjc_framework_spritekit-12.0/metadata/raw/x86_64-26.0.fwinfo → pyobjc_framework_spritekit-12.2/metadata/raw/x86_64-26.5.fwinfo +5059 -168
  11. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/pyobjc_setup.py +4 -5
  12. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/setup.py +1 -1
  13. pyobjc_framework_spritekit-12.0/Lib/pyobjc_framework_SpriteKit.egg-info/pyobjc-build-info.txt +0 -3
  14. pyobjc_framework_spritekit-12.0/Lib/pyobjc_framework_SpriteKit.egg-info/requires.txt +0 -3
  15. pyobjc_framework_spritekit-12.0/metadata/SpriteKit.fwinfo +0 -709
  16. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/SpriteKit/__init__.py +0 -0
  17. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/pyobjc_framework_SpriteKit.egg-info/dependency_links.txt +0 -0
  18. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/pyobjc_framework_SpriteKit.egg-info/not-zip-safe +0 -0
  19. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Lib/pyobjc_framework_SpriteKit.egg-info/top_level.txt +0 -0
  20. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/License.txt +0 -0
  21. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/MANIFEST.in +0 -0
  22. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Modules/_SpriteKit.m +0 -0
  23. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Modules/_SpriteKit_protocols.m +0 -0
  24. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/Modules/pyobjc-api.h +0 -0
  25. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/__init__.py +0 -0
  26. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sk3dnode.py +0 -0
  27. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skaction.py +0 -0
  28. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skattribute.py +0 -0
  29. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skconstraint.py +0 -0
  30. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skeffectnode.py +0 -0
  31. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skemitternode.py +0 -0
  32. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skfieldnode.py +0 -0
  33. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skkeyframesequence.py +0 -0
  34. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sklabelnode.py +0 -0
  35. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sklightnode.py +0 -0
  36. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skmutabletexture.py +0 -0
  37. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sknode.py +0 -0
  38. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skphysicsbody.py +0 -0
  39. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skphysicsjoint.py +0 -0
  40. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skphysicsworld.py +0 -0
  41. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skregion.py +0 -0
  42. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skrenderer.py +0 -0
  43. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skscene.py +0 -0
  44. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skshapenode.py +0 -0
  45. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skspritenode.py +0 -0
  46. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sktexture.py +0 -0
  47. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sktextureatlas.py +0 -0
  48. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sktiledefinition.py +0 -0
  49. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sktileset.py +0 -0
  50. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sktransformnode.py +0 -0
  51. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_sktransition.py +0 -0
  52. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skuniform.py +0 -0
  53. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skversion.py +0 -0
  54. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skview.py +0 -0
  55. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_skwarpgeometry.py +0 -0
  56. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_snode_nsaccessibility.py +0 -0
  57. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/PyObjCTest/test_spritekit.py +0 -0
  58. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/metadata/metadata.ini +0 -0
  59. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/pyproject.toml +0 -0
  60. {pyobjc_framework_spritekit-12.0 → pyobjc_framework_spritekit-12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  # This file is generated by objective.metadata
2
2
  #
3
- # Last update: Thu Jul 24 12:09:10 2025
3
+ # Last update: Fri May 29 08:22:43 2026
4
4
  #
5
5
  # flake8: noqa
6
6
 
@@ -122,6 +122,21 @@ try:
122
122
  r(b"NSObject", b"warpGeometry", {"required": True, "retval": {"type": b"@"}})
123
123
  r(b"PKPhysicsBody", b"affectedByGravity", {"retval": {"type": b"Z"}})
124
124
  r(b"PKPhysicsBody", b"allowsRotation", {"retval": {"type": b"Z"}})
125
+ r(
126
+ b"PKPhysicsBody",
127
+ b"bodyWithEdgeChainFromPath:",
128
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
129
+ )
130
+ r(
131
+ b"PKPhysicsBody",
132
+ b"bodyWithEdgeLoopFromPath:",
133
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
134
+ )
135
+ r(
136
+ b"PKPhysicsBody",
137
+ b"bodyWithPolygonFromPath:",
138
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
139
+ )
125
140
  r(b"PKPhysicsBody", b"isDynamic", {"retval": {"type": b"Z"}})
126
141
  r(b"PKPhysicsBody", b"isResting", {"retval": {"type": b"Z"}})
127
142
  r(b"PKPhysicsBody", b"pinned", {"retval": {"type": b"Z"}})
@@ -202,6 +217,11 @@ try:
202
217
  },
203
218
  )
204
219
  r(b"PKRegion", b"containsPoint:", {"retval": {"type": b"Z"}})
220
+ r(
221
+ b"PKRegion",
222
+ b"initWithPath:",
223
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
224
+ )
205
225
  r(b"SK3DNode", b"autoenablesDefaultLighting", {"retval": {"type": b"Z"}})
206
226
  r(b"SK3DNode", b"isPlaying", {"retval": {"type": b"Z"}})
207
227
  r(b"SK3DNode", b"loops", {"retval": {"type": b"Z"}})
@@ -266,12 +286,34 @@ try:
266
286
  r(
267
287
  b"SKAction",
268
288
  b"followPath:asOffset:orientToPath:duration:",
269
- {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}},
289
+ {
290
+ "arguments": {
291
+ 2: {"null_accepted": True, "name": "path"},
292
+ 3: {"type": b"Z"},
293
+ 4: {"type": b"Z"},
294
+ }
295
+ },
270
296
  )
271
297
  r(
272
298
  b"SKAction",
273
299
  b"followPath:asOffset:orientToPath:speed:",
274
- {"arguments": {3: {"type": b"Z"}, 4: {"type": b"Z"}}},
300
+ {
301
+ "arguments": {
302
+ 2: {"null_accepted": True, "name": "path"},
303
+ 3: {"type": b"Z"},
304
+ 4: {"type": b"Z"},
305
+ }
306
+ },
307
+ )
308
+ r(
309
+ b"SKAction",
310
+ b"followPath:duration:",
311
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
312
+ )
313
+ r(
314
+ b"SKAction",
315
+ b"followPath:speed:",
316
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
275
317
  )
276
318
  r(
277
319
  b"SKAction",
@@ -528,7 +570,11 @@ try:
528
570
  r(
529
571
  b"SKNode",
530
572
  b"nodeWithFileNamed:securelyWithClasses:andError:",
531
- {"arguments": {4: {"type_modifier": b"o"}}},
573
+ {
574
+ "arguments": {
575
+ 4: {"null_accepted": True, "type_modifier": b"o", "name": "error"}
576
+ }
577
+ },
532
578
  )
533
579
  r(
534
580
  b"SKNode",
@@ -551,6 +597,21 @@ try:
551
597
  r(b"SKNode", b"setUserInteractionEnabled:", {"arguments": {2: {"type": b"Z"}}})
552
598
  r(b"SKPhysicsBody", b"affectedByGravity", {"retval": {"type": b"Z"}})
553
599
  r(b"SKPhysicsBody", b"allowsRotation", {"retval": {"type": b"Z"}})
600
+ r(
601
+ b"SKPhysicsBody",
602
+ b"bodyWithEdgeChainFromPath:",
603
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
604
+ )
605
+ r(
606
+ b"SKPhysicsBody",
607
+ b"bodyWithEdgeLoopFromPath:",
608
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
609
+ )
610
+ r(
611
+ b"SKPhysicsBody",
612
+ b"bodyWithPolygonFromPath:",
613
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
614
+ )
554
615
  r(b"SKPhysicsBody", b"isDynamic", {"retval": {"type": b"Z"}})
555
616
  r(b"SKPhysicsBody", b"isResting", {"retval": {"type": b"Z"}})
556
617
  r(b"SKPhysicsBody", b"pinned", {"retval": {"type": b"Z"}})
@@ -643,6 +704,11 @@ try:
643
704
  },
644
705
  )
645
706
  r(b"SKRegion", b"containsPoint:", {"retval": {"type": b"Z"}})
707
+ r(
708
+ b"SKRegion",
709
+ b"initWithPath:",
710
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
711
+ )
646
712
  r(b"SKRenderer", b"ignoresSiblingOrder", {"retval": {"type": "Z"}})
647
713
  r(b"SKRenderer", b"setIgnoresSiblingOrder:", {"arguments": {2: {"type": "Z"}}})
648
714
  r(
@@ -663,20 +729,48 @@ try:
663
729
  r(b"SKRenderer", b"showsQuadCount", {"retval": {"type": "Z"}})
664
730
  r(b"SKShapeNode", b"isAntialiased", {"retval": {"type": b"Z"}})
665
731
  r(b"SKShapeNode", b"setAntialiased:", {"arguments": {2: {"type": b"Z"}}})
732
+ r(
733
+ b"SKShapeNode",
734
+ b"setPath:",
735
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
736
+ )
737
+ r(
738
+ b"SKShapeNode",
739
+ b"shapeNodeWithPath:",
740
+ {"arguments": {2: {"null_accepted": True, "name": "path"}}},
741
+ )
666
742
  r(
667
743
  b"SKShapeNode",
668
744
  b"shapeNodeWithPath:centered:",
669
- {"arguments": {3: {"type": b"Z"}}},
745
+ {"arguments": {2: {"null_accepted": True, "name": "path"}, 3: {"type": b"Z"}}},
670
746
  )
671
747
  r(
672
748
  b"SKShapeNode",
673
749
  b"shapeNodeWithPoints:count:",
674
- {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}},
750
+ {
751
+ "arguments": {
752
+ 2: {
753
+ "null_accepted": True,
754
+ "name": "points",
755
+ "c_array_length_in_arg": 3,
756
+ "type_modifier": b"n",
757
+ }
758
+ }
759
+ },
675
760
  )
676
761
  r(
677
762
  b"SKShapeNode",
678
763
  b"shapeNodeWithSplinePoints:count:",
679
- {"arguments": {2: {"type_modifier": b"n", "c_array_length_in_arg": 3}}},
764
+ {
765
+ "arguments": {
766
+ 2: {
767
+ "null_accepted": True,
768
+ "name": "points",
769
+ "c_array_length_in_arg": 3,
770
+ "type_modifier": b"n",
771
+ }
772
+ }
773
+ },
680
774
  )
681
775
  r(
682
776
  b"SKSpriteNode",
@@ -717,6 +811,11 @@ try:
717
811
  b"textureNoiseWithSmoothness:size:grayscale:",
718
812
  {"arguments": {4: {"type": b"Z"}}},
719
813
  )
814
+ r(
815
+ b"SKTexture",
816
+ b"textureWithCGImage:",
817
+ {"arguments": {2: {"null_accepted": True, "name": "image"}}},
818
+ )
720
819
  r(
721
820
  b"SKTexture",
722
821
  b"textureWithData:size:flipped:",
@@ -1009,19 +1108,32 @@ try:
1009
1108
  r(
1010
1109
  b"SKWarpGeometryGrid",
1011
1110
  b"gridByReplacingDestPositions:",
1012
- {"full_signature": b"@@:^<2f>", "arguments": {2: {"type": b"^<2f>"}}},
1111
+ {
1112
+ "full_signature": b"@@:^<2f>",
1113
+ "arguments": {
1114
+ 2: {"null_accepted": True, "type": b"^<2f>", "name": "destPositions"}
1115
+ },
1116
+ },
1013
1117
  )
1014
1118
  r(
1015
1119
  b"SKWarpGeometryGrid",
1016
1120
  b"gridByReplacingSourcePositions:",
1017
- {"full_signature": b"@@:^<2f>", "arguments": {2: {"type": b"^<2f>"}}},
1121
+ {
1122
+ "full_signature": b"@@:^<2f>",
1123
+ "arguments": {
1124
+ 2: {"null_accepted": True, "type": b"^<2f>", "name": "sourcePositions"}
1125
+ },
1126
+ },
1018
1127
  )
1019
1128
  r(
1020
1129
  b"SKWarpGeometryGrid",
1021
1130
  b"gridWithColumns:rows:sourcePositions:destPositions:",
1022
1131
  {
1023
1132
  "full_signature": b"@@:qq^<2f>^<2f>",
1024
- "arguments": {4: {"type": b"^<2f>"}, 5: {"type": b"^<2f>"}},
1133
+ "arguments": {
1134
+ 4: {"null_accepted": True, "type": b"^<2f>", "name": "sourcePositions"},
1135
+ 5: {"null_accepted": True, "type": b"^<2f>", "name": "destPositions"},
1136
+ },
1025
1137
  },
1026
1138
  )
1027
1139
  r(
@@ -1029,7 +1141,10 @@ try:
1029
1141
  b"initWithColumns:rows:sourcePositions:destPositions:",
1030
1142
  {
1031
1143
  "full_signature": b"@@:qq^<2f>^<2f>",
1032
- "arguments": {4: {"type": b"^<2f>"}, 5: {"type": b"^<2f>"}},
1144
+ "arguments": {
1145
+ 4: {"null_accepted": True, "type": b"^<2f>", "name": "sourcePositions"},
1146
+ 5: {"null_accepted": True, "type": b"^<2f>", "name": "destPositions"},
1147
+ },
1033
1148
  },
1034
1149
  )
1035
1150
  r(
@@ -1043,6 +1158,7 @@ finally:
1043
1158
  objc.registerNewKeywordsFromSelector("SK3DNode", b"initWithCoder:")
1044
1159
  objc.registerNewKeywordsFromSelector("SK3DNode", b"initWithViewportSize:")
1045
1160
  objc.registerNewKeywordsFromSelector("SKAttribute", b"initWithName:type:")
1161
+ objc.registerNewKeywordsFromSelector("SKAttributeValue", b"init")
1046
1162
  objc.registerNewKeywordsFromSelector("SKAudioNode", b"initWithAVAudioNode:")
1047
1163
  objc.registerNewKeywordsFromSelector("SKAudioNode", b"initWithCoder:")
1048
1164
  objc.registerNewKeywordsFromSelector("SKAudioNode", b"initWithFileNamed:")
@@ -1055,6 +1171,7 @@ objc.registerNewKeywordsFromSelector(
1055
1171
  objc.registerNewKeywordsFromSelector("SKLabelNode", b"initWithFontNamed:")
1056
1172
  objc.registerNewKeywordsFromSelector("SKMutableTexture", b"initWithSize:")
1057
1173
  objc.registerNewKeywordsFromSelector("SKMutableTexture", b"initWithSize:pixelFormat:")
1174
+ objc.registerNewKeywordsFromSelector("SKNode", b"init")
1058
1175
  objc.registerNewKeywordsFromSelector("SKNode", b"initWithCoder:")
1059
1176
  objc.registerNewKeywordsFromSelector("SKRange", b"initWithLowerLimit:upperLimit:")
1060
1177
  objc.registerNewKeywordsFromSelector(
@@ -1126,10 +1243,103 @@ objc.registerNewKeywordsFromSelector("SKWarpGeometryGrid", b"initWithCoder:")
1126
1243
  objc.registerNewKeywordsFromSelector(
1127
1244
  "SKWarpGeometryGrid", b"initWithColumns:rows:sourcePositions:destPositions:"
1128
1245
  )
1246
+
1247
+ objc.registerNewKeywords("SKAttributeValue", ("float",), "valueWithFloat_")
1248
+ objc.registerNewKeywords(
1249
+ "SKAttributeValue", ("vectorFloat2",), "valueWithVectorFloat2_"
1250
+ )
1251
+ objc.registerNewKeywords(
1252
+ "SKAttributeValue", ("vectorFloat3",), "valueWithVectorFloat3_"
1253
+ )
1254
+ objc.registerNewKeywords(
1255
+ "SKAttributeValue", ("vectorFloat4",), "valueWithVectorFloat4_"
1256
+ )
1257
+ objc.registerNewKeywords(
1258
+ "SKLabelNode", ("attributedText",), "labelNodeWithAttributedText_"
1259
+ )
1260
+ objc.registerNewKeywords("SKLabelNode", ("text",), "labelNodeWithText_")
1261
+ objc.registerNewKeywords("SKNode", ("fileNamed",), "nodeWithFileNamed_")
1262
+ objc.registerNewKeywords(
1263
+ "SKNode",
1264
+ ("fileNamed", "securelyWithClasses", "andError"),
1265
+ "nodeWithFileNamed_securelyWithClasses_andError_",
1266
+ )
1267
+ objc.registerNewKeywords("SKRange", ("constantValue",), "rangeWithConstantValue_")
1268
+ objc.registerNewKeywords("SKRange", ("lowerLimit",), "rangeWithLowerLimit_")
1269
+ objc.registerNewKeywords("SKRange", ("upperLimit",), "rangeWithUpperLimit_")
1270
+ objc.registerNewKeywords("SKRange", ("value", "variance"), "rangeWithValue_variance_")
1271
+ objc.registerNewKeywords("SKShader", ("fileNamed",), "shaderWithFileNamed_")
1272
+ objc.registerNewKeywords(
1273
+ "SKShapeNode", ("circleOfRadius",), "shapeNodeWithCircleOfRadius_"
1274
+ )
1275
+ objc.registerNewKeywords(
1276
+ "SKShapeNode", ("ellipseInRect",), "shapeNodeWithEllipseInRect_"
1277
+ )
1278
+ objc.registerNewKeywords(
1279
+ "SKShapeNode", ("ellipseOfSize",), "shapeNodeWithEllipseOfSize_"
1280
+ )
1281
+ objc.registerNewKeywords("SKShapeNode", ("path",), "shapeNodeWithPath_")
1282
+ objc.registerNewKeywords(
1283
+ "SKShapeNode", ("path", "centered"), "shapeNodeWithPath_centered_"
1284
+ )
1285
+ objc.registerNewKeywords(
1286
+ "SKShapeNode", ("points", "count"), "shapeNodeWithPoints_count_"
1287
+ )
1288
+ objc.registerNewKeywords("SKShapeNode", ("rectOfSize",), "shapeNodeWithRectOfSize_")
1289
+ objc.registerNewKeywords(
1290
+ "SKShapeNode",
1291
+ ("rectOfSize", "cornerRadius"),
1292
+ "shapeNodeWithRectOfSize_cornerRadius_",
1293
+ )
1294
+ objc.registerNewKeywords("SKShapeNode", ("rect",), "shapeNodeWithRect_")
1295
+ objc.registerNewKeywords(
1296
+ "SKShapeNode", ("rect", "cornerRadius"), "shapeNodeWithRect_cornerRadius_"
1297
+ )
1298
+ objc.registerNewKeywords(
1299
+ "SKShapeNode", ("splinePoints", "count"), "shapeNodeWithSplinePoints_count_"
1300
+ )
1301
+ objc.registerNewKeywords(
1302
+ "SKSpriteNode",
1303
+ ("imageNamed", "normalMapped"),
1304
+ "spriteNodeWithImageNamed_normalMapped_",
1305
+ )
1306
+ objc.registerNewKeywords(
1307
+ "SKSpriteNode", ("texture", "normalMap"), "spriteNodeWithTexture_normalMap_"
1308
+ )
1309
+ objc.registerNewKeywords(
1310
+ "SKSpriteNode", ("texture", "size"), "spriteNodeWithTexture_size_"
1311
+ )
1312
+ objc.registerNewKeywords(
1313
+ "SKTexture",
1314
+ ("smoothness", "size", "grayscale"),
1315
+ "textureNoiseWithSmoothness_size_grayscale_",
1316
+ )
1317
+ objc.registerNewKeywords(
1318
+ "SKTexture", ("smoothness", "size"), "textureVectorNoiseWithSmoothness_size_"
1319
+ )
1320
+ objc.registerNewKeywords("SKTexture", ("CGImage",), "textureWithCGImage_")
1321
+ objc.registerNewKeywords("SKTexture", ("data", "size"), "textureWithData_size_")
1322
+ objc.registerNewKeywords(
1323
+ "SKTexture", ("data", "size", "flipped"), "textureWithData_size_flipped_"
1324
+ )
1325
+ objc.registerNewKeywords(
1326
+ "SKTexture",
1327
+ ("data", "size", "rowLength", "alignment"),
1328
+ "textureWithData_size_rowLength_alignment_",
1329
+ )
1330
+ objc.registerNewKeywords("SKTexture", ("imageNamed",), "textureWithImageNamed_")
1331
+ objc.registerNewKeywords("SKTexture", ("image",), "textureWithImage_")
1332
+ objc.registerNewKeywords(
1333
+ "SKTexture", ("rect", "inTexture"), "textureWithRect_inTexture_"
1334
+ )
1335
+ objc.registerNewKeywords("SKTextureAtlas", ("dictionary",), "atlasWithDictionary_")
1336
+ objc.registerNewKeywords(
1337
+ "SKWarpGeometryGrid", ("columns", "rows"), "gridWithColumns_rows_"
1338
+ )
1129
1339
  expressions = {
1130
1340
  "SKTileAdjacencyRightEdge": "SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft | SKTileAdjacencyUp",
1131
1341
  "SKTileAdjacencyUpperRightCorner": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft",
1132
- "SKTileAdjacencyUpperRightEdge": "SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft",
1342
+ "SKTileAdjacencyUpperLeftEdge": "SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown",
1133
1343
  "SKTileAdjacencyLowerRightCorner": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft",
1134
1344
  "SKTileAdjacencyLowerRightEdge": "SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft | SKTileAdjacencyUp",
1135
1345
  "SKTileAdjacencyDownEdge": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft",
@@ -1137,7 +1347,7 @@ expressions = {
1137
1347
  "SKTileAdjacencyUpEdge": "SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft",
1138
1348
  "SKTileAdjacencyLowerLeftEdge": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight",
1139
1349
  "SKTileAdjacencyUpperLeftCorner": "SKTileAdjacencyUp | SKTileAdjacencyUpperRight | SKTileAdjacencyRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft",
1140
- "SKTileAdjacencyUpperLeftEdge": "SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown",
1350
+ "SKTileAdjacencyUpperRightEdge": "SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft",
1141
1351
  "SKTileAdjacencyLowerLeftCorner": "SKTileAdjacencyUp | SKTileAdjacencyRight | SKTileAdjacencyLowerRight | SKTileAdjacencyDown | SKTileAdjacencyLowerLeft | SKTileAdjacencyLeft | SKTileAdjacencyUpperLeft",
1142
1352
  }
1143
1353
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-SpriteKit
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework SpriteKit on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
@@ -25,15 +24,15 @@ Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
26
25
  Classifier: Programming Language :: Python :: 3.15
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
- Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
29
28
  Classifier: Programming Language :: Objective C
30
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
30
  Classifier: Topic :: Software Development :: User Interfaces
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
- Requires-Dist: pyobjc-core>=12.0
35
- Requires-Dist: pyobjc-framework-Cocoa>=12.0
36
- Requires-Dist: pyobjc-framework-Quartz>=12.0
33
+ Requires-Dist: pyobjc-core>=12.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
35
+ Requires-Dist: pyobjc-framework-Quartz>=12.2
37
36
  Dynamic: author
38
37
  Dynamic: author-email
39
38
  Dynamic: classifier
@@ -51,5 +51,5 @@ PyObjCTest/test_snode_nsaccessibility.py
51
51
  PyObjCTest/test_spritekit.py
52
52
  metadata/SpriteKit.fwinfo
53
53
  metadata/metadata.ini
54
- metadata/raw/arm64-26.0.fwinfo
55
- metadata/raw/x86_64-26.0.fwinfo
54
+ metadata/raw/arm64-26.5.fwinfo
55
+ metadata/raw/x86_64-26.5.fwinfo
@@ -0,0 +1,3 @@
1
+ macOS 26.5 (25F71)
2
+ Apple clang version 21.0.0 (clang-2100.1.1.101)
3
+ SDK: macOS 26.5
@@ -0,0 +1,3 @@
1
+ pyobjc-core>=12.2
2
+ pyobjc-framework-Cocoa>=12.2
3
+ pyobjc-framework-Quartz>=12.2
@@ -22,12 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
22
22
  * Start of compiler definitions
23
23
  *
24
24
  */
25
+ #if 0
25
26
  #ifndef __has_feature
26
27
  #define __has_feature(x) 0
27
28
  #endif
28
29
  #ifndef __has_extension
29
30
  #define __has_extension(x) __has_feature(x)
30
31
  #endif
32
+ #endif
31
33
 
32
34
  #if __has_extension(c_static_assert)
33
35
  #define STATIC_ASSERT(test, message) _Static_assert(test, message)
@@ -55,46 +57,10 @@ NS_ASSUME_NONNULL_BEGIN
55
57
  /*
56
58
  *
57
59
  * Start of compiler support helpers
58
- *
59
- * XXX: Are these needed?
60
60
  */
61
61
 
62
- #ifdef __GNUC__
63
62
  #define unlikely(x) __builtin_expect(!!(x), 0)
64
63
  #define likely(x) __builtin_expect(!!(x), 1)
65
- #else
66
- #define likely(x) x
67
- #define likely(x) x
68
- #endif
69
-
70
- /* On some versions of GCC <limits.h> defines LONG_LONG_MAX but not LLONG_MAX, compensate.
71
- */
72
- #ifndef LLONG_MIN
73
- #ifdef LONG_LONG_MIN
74
- #define LLONG_MIN LONG_LONG_MIN
75
- #define LLONG_MAX LONG_LONG_MAX
76
- #define ULLONG_MAX ULONG_LONG_MAX
77
- #endif
78
- #endif
79
-
80
- /*
81
- *
82
- * End of compiler support helpers
83
- *
84
- * XXX: These two are no longer needed, all supported platforms
85
- * are 64-bit
86
- */
87
-
88
- #if __LP64__
89
- #define Py_ARG_NSInteger "l"
90
- #define Py_ARG_NSUInteger "k"
91
- #else
92
- #define Py_ARG_NSInteger "i"
93
- #define Py_ARG_NSUInteger "I"
94
- #endif
95
-
96
- #define PyObjC__STR(x) #x
97
- #define PyObjC_STR(x) PyObjC__STR(x)
98
64
 
99
65
  /*
100
66
  *
@@ -131,20 +97,6 @@ NS_ASSUME_NONNULL_BEGIN
131
97
 
132
98
  extern int PyObjC_Cmp(PyObject* o1, PyObject* o2, int* result);
133
99
 
134
- /*
135
- * A micro optimization: when using Python 3.3 or later it
136
- * is possible to access a 'char*' with an ASCII representation
137
- * of a unicode object without first converting it to a bytes
138
- * string (if the string can be encoded as ASCII in the first
139
- * place.
140
- *
141
- * This slightly reduces the object allocation rate during
142
- * attribute access.
143
- *
144
- * XXX: Use PyUnicode_AsUTF8 instead.
145
- */
146
- extern const char* _Nullable PyObjC_Unicode_Fast_Bytes(PyObject* object);
147
-
148
100
  #ifdef __clang__
149
101
 
150
102
  #ifndef Py_LIMITED_API
@@ -286,6 +238,23 @@ static inline PyObject* _Nullable PyList_GetItemRef(PyObject* l, Py_ssize_t i)
286
238
  Py_XINCREF(result);
287
239
  return result;
288
240
  }
241
+
242
+ static inline int
243
+ PyDict_SetDefaultRef(PyObject* p, PyObject* key, PyObject* default_value,
244
+ PyObject* _Nonnull* _Nullable result)
245
+ {
246
+ *result = PyDict_SetDefault(p, key, default_value);
247
+ if (*result == NULL) {
248
+ return -1;
249
+ }
250
+ Py_INCREF(*result);
251
+
252
+ /* This does not follow the spec, should return 1 when the key was already
253
+ * in the dict. That part of the API is not used in PyObjC though.
254
+ */
255
+ return 0;
256
+ }
257
+
289
258
  #endif
290
259
 
291
260
  #if PY_VERSION_HEX < 0x030c0000
@@ -392,6 +361,11 @@ PyUnstable_TryIncRef(PyObject* op __attribute__((__unused__)))
392
361
  }
393
362
  #endif
394
363
 
364
+ #if PY_VERSION_HEX < 0x030f00a7
365
+ #define PyAnyDict_CheckExact PyDict_CheckExact
366
+ #define PyAnyDict_Check PyDict_Check
367
+ #endif
368
+
395
369
  NS_ASSUME_NONNULL_END
396
370
 
397
371
  #endif /* PyObjC_COMPAT_H */
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-SpriteKit
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework SpriteKit on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
@@ -25,15 +24,15 @@ Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
26
25
  Classifier: Programming Language :: Python :: 3.15
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
- Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
29
28
  Classifier: Programming Language :: Objective C
30
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
30
  Classifier: Topic :: Software Development :: User Interfaces
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
- Requires-Dist: pyobjc-core>=12.0
35
- Requires-Dist: pyobjc-framework-Cocoa>=12.0
36
- Requires-Dist: pyobjc-framework-Quartz>=12.0
33
+ Requires-Dist: pyobjc-core>=12.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
35
+ Requires-Dist: pyobjc-framework-Quartz>=12.2
37
36
  Dynamic: author
38
37
  Dynamic: author-email
39
38
  Dynamic: classifier