sonolus.py 0.1.2__py3-none-any.whl → 0.1.4__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 sonolus.py might be problematic. Click here for more details.

Files changed (72) hide show
  1. sonolus/backend/allocate.py +125 -51
  2. sonolus/backend/blocks.py +756 -756
  3. sonolus/backend/coalesce.py +85 -0
  4. sonolus/backend/constant_evaluation.py +374 -0
  5. sonolus/backend/dead_code.py +80 -0
  6. sonolus/backend/dominance.py +111 -0
  7. sonolus/backend/excepthook.py +37 -37
  8. sonolus/backend/finalize.py +69 -69
  9. sonolus/backend/flow.py +121 -92
  10. sonolus/backend/inlining.py +150 -0
  11. sonolus/backend/ir.py +5 -3
  12. sonolus/backend/liveness.py +173 -0
  13. sonolus/backend/mode.py +24 -24
  14. sonolus/backend/node.py +40 -40
  15. sonolus/backend/ops.py +197 -197
  16. sonolus/backend/optimize.py +37 -9
  17. sonolus/backend/passes.py +52 -6
  18. sonolus/backend/simplify.py +47 -30
  19. sonolus/backend/ssa.py +187 -0
  20. sonolus/backend/utils.py +48 -48
  21. sonolus/backend/visitor.py +892 -880
  22. sonolus/build/cli.py +7 -1
  23. sonolus/build/compile.py +88 -90
  24. sonolus/build/engine.py +55 -5
  25. sonolus/build/level.py +24 -23
  26. sonolus/build/node.py +43 -43
  27. sonolus/script/archetype.py +23 -6
  28. sonolus/script/array.py +2 -2
  29. sonolus/script/bucket.py +191 -191
  30. sonolus/script/callbacks.py +127 -115
  31. sonolus/script/comptime.py +1 -1
  32. sonolus/script/containers.py +23 -0
  33. sonolus/script/debug.py +19 -3
  34. sonolus/script/easing.py +323 -0
  35. sonolus/script/effect.py +131 -131
  36. sonolus/script/engine.py +37 -1
  37. sonolus/script/globals.py +269 -269
  38. sonolus/script/graphics.py +200 -150
  39. sonolus/script/instruction.py +151 -0
  40. sonolus/script/internal/__init__.py +5 -5
  41. sonolus/script/internal/builtin_impls.py +144 -144
  42. sonolus/script/internal/context.py +12 -4
  43. sonolus/script/internal/descriptor.py +17 -17
  44. sonolus/script/internal/introspection.py +14 -14
  45. sonolus/script/internal/native.py +40 -38
  46. sonolus/script/internal/value.py +3 -3
  47. sonolus/script/interval.py +120 -112
  48. sonolus/script/iterator.py +214 -211
  49. sonolus/script/math.py +30 -1
  50. sonolus/script/num.py +1 -1
  51. sonolus/script/options.py +191 -191
  52. sonolus/script/particle.py +157 -157
  53. sonolus/script/pointer.py +30 -30
  54. sonolus/script/{preview.py → print.py} +81 -81
  55. sonolus/script/random.py +14 -0
  56. sonolus/script/range.py +58 -58
  57. sonolus/script/record.py +3 -3
  58. sonolus/script/runtime.py +45 -6
  59. sonolus/script/sprite.py +333 -333
  60. sonolus/script/text.py +407 -407
  61. sonolus/script/timing.py +42 -42
  62. sonolus/script/transform.py +77 -23
  63. sonolus/script/ui.py +160 -160
  64. sonolus/script/vec.py +81 -72
  65. {sonolus_py-0.1.2.dist-info → sonolus_py-0.1.4.dist-info}/METADATA +1 -2
  66. sonolus_py-0.1.4.dist-info/RECORD +84 -0
  67. {sonolus_py-0.1.2.dist-info → sonolus_py-0.1.4.dist-info}/WHEEL +1 -1
  68. {sonolus_py-0.1.2.dist-info → sonolus_py-0.1.4.dist-info}/licenses/LICENSE +21 -21
  69. sonolus/build/defaults.py +0 -32
  70. sonolus/script/icon.py +0 -73
  71. sonolus_py-0.1.2.dist-info/RECORD +0 -76
  72. {sonolus_py-0.1.2.dist-info → sonolus_py-0.1.4.dist-info}/entry_points.txt +0 -0
sonolus/script/vec.py CHANGED
@@ -1,72 +1,81 @@
1
- from typing import Self
2
-
3
- from sonolus.script.math import atan2
4
- from sonolus.script.num import Num
5
- from sonolus.script.record import Record
6
-
7
-
8
- class Vec2(Record):
9
- x: float
10
- y: float
11
-
12
- @classmethod
13
- def zero(cls) -> Self:
14
- return cls(x=0, y=0)
15
-
16
- @classmethod
17
- def one(cls) -> Self:
18
- return cls(x=1, y=1)
19
-
20
- @classmethod
21
- def up(cls) -> Self:
22
- return cls(x=0, y=1)
23
-
24
- @classmethod
25
- def down(cls) -> Self:
26
- return cls(x=0, y=-1)
27
-
28
- @classmethod
29
- def left(cls) -> Self:
30
- return cls(x=-1, y=0)
31
-
32
- @classmethod
33
- def right(cls) -> Self:
34
- return cls(x=1, y=0)
35
-
36
- @property
37
- def magnitude(self) -> Num:
38
- return (self.x**2 + self.y**2) ** 0.5
39
-
40
- @property
41
- def angle(self) -> Num:
42
- return atan2(self.y, self.x)
43
-
44
- def dot(self, other: Self) -> Num:
45
- return self.x * other.x + self.y * other.y
46
-
47
- @property
48
- def tuple(self) -> tuple[float, float]:
49
- return self.x, self.y
50
-
51
- def __add__(self, other: Self) -> Self:
52
- return Vec2(x=self.x + other.x, y=self.y + other.y)
53
-
54
- def __sub__(self, other: Self) -> Self:
55
- return Vec2(x=self.x - other.x, y=self.y - other.y)
56
-
57
- def __mul__(self, other: Self | float) -> Self:
58
- match other:
59
- case Vec2(x, y):
60
- return Vec2(x=self.x * x, y=self.y * y)
61
- case float() | int() as factor:
62
- return Vec2(x=self.x * factor, y=self.y * factor)
63
-
64
- def __truediv__(self, other: Self | float) -> Self:
65
- match other:
66
- case Vec2(x, y):
67
- return Vec2(x=self.x / x, y=self.y / y)
68
- case float() | int() as factor:
69
- return Vec2(x=self.x / factor, y=self.y / factor)
70
-
71
- def __neg__(self) -> Self:
72
- return Vec2(x=-self.x, y=-self.y)
1
+ from typing import Self
2
+
3
+ from sonolus.script.math import atan2, cos, sin
4
+ from sonolus.script.num import Num
5
+ from sonolus.script.record import Record
6
+
7
+
8
+ class Vec2(Record):
9
+ x: float
10
+ y: float
11
+
12
+ @classmethod
13
+ def zero(cls) -> Self:
14
+ return cls(x=0, y=0)
15
+
16
+ @classmethod
17
+ def one(cls) -> Self:
18
+ return cls(x=1, y=1)
19
+
20
+ @classmethod
21
+ def up(cls) -> Self:
22
+ return cls(x=0, y=1)
23
+
24
+ @classmethod
25
+ def down(cls) -> Self:
26
+ return cls(x=0, y=-1)
27
+
28
+ @classmethod
29
+ def left(cls) -> Self:
30
+ return cls(x=-1, y=0)
31
+
32
+ @classmethod
33
+ def right(cls) -> Self:
34
+ return cls(x=1, y=0)
35
+
36
+ @property
37
+ def magnitude(self) -> Num:
38
+ return (self.x**2 + self.y**2) ** 0.5
39
+
40
+ @property
41
+ def angle(self) -> Num:
42
+ return atan2(self.y, self.x)
43
+
44
+ def dot(self, other: Self) -> Num:
45
+ return self.x * other.x + self.y * other.y
46
+
47
+ def rotate(self, angle: Num) -> Self:
48
+ return Vec2(
49
+ x=self.x * cos(angle) - self.y * sin(angle),
50
+ y=self.x * sin(angle) + self.y * cos(angle),
51
+ )
52
+
53
+ def rotate_about(self, angle: Num, pivot: Self) -> Self:
54
+ return (self - pivot).rotate(angle) + pivot
55
+
56
+ @property
57
+ def tuple(self) -> tuple[float, float]:
58
+ return self.x, self.y
59
+
60
+ def __add__(self, other: Self) -> Self:
61
+ return Vec2(x=self.x + other.x, y=self.y + other.y)
62
+
63
+ def __sub__(self, other: Self) -> Self:
64
+ return Vec2(x=self.x - other.x, y=self.y - other.y)
65
+
66
+ def __mul__(self, other: Self | float) -> Self:
67
+ match other:
68
+ case Vec2(x, y):
69
+ return Vec2(x=self.x * x, y=self.y * y)
70
+ case float() | int() as factor:
71
+ return Vec2(x=self.x * factor, y=self.y * factor)
72
+
73
+ def __truediv__(self, other: Self | float) -> Self:
74
+ match other:
75
+ case Vec2(x, y):
76
+ return Vec2(x=self.x / x, y=self.y / y)
77
+ case float() | int() as factor:
78
+ return Vec2(x=self.x / factor, y=self.y / factor)
79
+
80
+ def __neg__(self) -> Self:
81
+ return Vec2(x=-self.x, y=-self.y)
@@ -1,8 +1,7 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sonolus.py
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Sonolus engine development in Python
5
- License-File: LICENSE
6
5
  Requires-Python: >=3.13
7
6
  Description-Content-Type: text/markdown
8
7
 
@@ -0,0 +1,84 @@
1
+ sonolus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ sonolus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ sonolus/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ sonolus/backend/allocate.py,sha256=9Ua4dW_GDzqaSimSbqwjJ4zVXS1M2bJhgHQ2H564eio,5536
5
+ sonolus/backend/blocks.py,sha256=3peyb9eYBy0s53xNVJ1KmK4IgoyVkkwG-lqDQ_VZTHc,18531
6
+ sonolus/backend/coalesce.py,sha256=ZKSGZrG5V4ShcjGJEhkFoMmJ1f9cEhySgXQkC9sibGQ,3939
7
+ sonolus/backend/constant_evaluation.py,sha256=5euKXPBlVZ5f17YaksUWC0vdDnJ_qQk2l8Wg8NFD1_4,15931
8
+ sonolus/backend/dead_code.py,sha256=iy8Cvc1OK4Dh68oJ6QdYqJRsTqPby08GDwu2fB_1JKs,3562
9
+ sonolus/backend/dominance.py,sha256=Ku0Zh8bW3ZvMVKcLdRWI-LSstgSB2s-iIdj34mD_HrA,3658
10
+ sonolus/backend/excepthook.py,sha256=pqI9gtPBh0mlTgMNqul8bEVO1ARzKb8pNE9EN_CyDpk,994
11
+ sonolus/backend/finalize.py,sha256=vDNUZ0KV3Z_q9sDSltxDoQqKoOf68l6LoM9jWUHpq8g,3330
12
+ sonolus/backend/flow.py,sha256=YlIu-iTVg8saZqobvsDP2dH_z1zBvTXiUCWsCMoGBbg,4222
13
+ sonolus/backend/inlining.py,sha256=xyV5LkkXn4BI4FyAI2UMdQdUXjIN4aKAS37W0pjawGE,6129
14
+ sonolus/backend/interpret.py,sha256=EDpkv3ASzteDhYjTkzoriGYHYepcoHKZusrU_FX0DS4,14247
15
+ sonolus/backend/ir.py,sha256=CzrSSFuA3zvw24BapGSTzBhUT83oETscODlrUWnyHWs,2087
16
+ sonolus/backend/liveness.py,sha256=PxbmPXsps3XpIdUp-bMFZLVRlaDEZLZt5T6v3_GVftQ,7095
17
+ sonolus/backend/mode.py,sha256=NkcPZJm8dn83LX35uP24MtQOCnfRDFZ280dHeEEfauE,613
18
+ sonolus/backend/node.py,sha256=H8qgnNyIseR-DhfgtcbDX03SUmhAJSSrYAlUEJTkkUo,999
19
+ sonolus/backend/ops.py,sha256=ekkHSdgRubIYLSYFk0wTUuBvyf3TKdApM4AyR_koTQ8,10122
20
+ sonolus/backend/optimize.py,sha256=1_P1MJx3GVJYlK7vheFtQWOvZFPsC2x0xFuXLQmnfwE,1082
21
+ sonolus/backend/passes.py,sha256=RWsDJnyVEBzzOppaC3JCg62SuuPoRbKF_Tik3Z75M0s,1634
22
+ sonolus/backend/place.py,sha256=61mWyPQ6i59bmV9RtQfUy6mJE0pMAmFoL1W-MyY79ug,2536
23
+ sonolus/backend/simplify.py,sha256=nFhHzEfzz7lZM5Thx5vaC4L7ahm8yQZmrN2hN5N5TKQ,1950
24
+ sonolus/backend/ssa.py,sha256=LPTmX7tJuuZ98CVf6M5YEqKEM9VxzM7qy-H4cYvD4M0,8116
25
+ sonolus/backend/utils.py,sha256=1C4xvxHrQ94RAWS3d4CprmUnFeqgEOzpZjJRooHVpS0,1382
26
+ sonolus/backend/visitor.py,sha256=RgkbYa5NP4dQbgerlpfD8qwkJPkHYaH9rFDB6NREp5Y,35855
27
+ sonolus/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ sonolus/build/cli.py,sha256=YlWg3Jfe1gi2wnlIJDh8LCMLSPV3l9AiuDWk2Bbphmg,5812
29
+ sonolus/build/collection.py,sha256=IsDgedsAJ-foHzQ4LnQ9zSVXSz5wVVt4sgqiUICBvCU,10573
30
+ sonolus/build/compile.py,sha256=mEtaWu7kFGYhAYZv28OGfflJ6oIkt0oVLJ9Va8R3atE,3547
31
+ sonolus/build/engine.py,sha256=C0xKUikTKETg2SaPGQpcq4MBhPK-JAkbD1dTPvT47Y0,6732
32
+ sonolus/build/level.py,sha256=3sdGPvIZ4a15u3-JdITnB6rznp6a2E3k6A0gB8A15JA,610
33
+ sonolus/build/node.py,sha256=jwsVWt6Brh4M9MypUt3Nqnxfm7fXrCMRWYQGwBTAszI,1162
34
+ sonolus/build/project.py,sha256=x350tPcwKCYakdbrP796b545hVUaBwrzY0yEcQR7ut4,4023
35
+ sonolus/script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ sonolus/script/archetype.py,sha256=SnhVgoYEnpm3CVujaIWmCVsUG5BnqNhn5iI5h9C44jk,25542
37
+ sonolus/script/array.py,sha256=iqxLGq_52z9pn5NKChJZp_I4YCcTNWGcIWHQW7dScWo,8966
38
+ sonolus/script/bucket.py,sha256=7aOHsun-xvkwA9PTl0h9Bj3vXAgQauo5cjg2WkE3zNM,5356
39
+ sonolus/script/callbacks.py,sha256=vWzJG8uiJoEtsNnbeZPqOHogCwoLpz2D1MnHY2wVV8s,2801
40
+ sonolus/script/comptime.py,sha256=cMf1VsTU59Nw4fhuW1NkTi11qMRirTg5bsfpI_Bn09Q,4734
41
+ sonolus/script/containers.py,sha256=MPZNh7atddkrQ_Y3cky2q1psIvQJUoglf9kHpz_DYGU,7765
42
+ sonolus/script/debug.py,sha256=Y7TWr2-uctZEVmVvYzfTi32mIitgTcYKFhCTfBj1-88,2421
43
+ sonolus/script/easing.py,sha256=ziYd6zDsMBoVAhoN3vhaI60ywRt5pJU4dfuc-BbZt48,7519
44
+ sonolus/script/effect.py,sha256=Px9vhTh_0cZ4h9-R12eOXdKhYyiEvYCVwqGQ2Jh8_CQ,4015
45
+ sonolus/script/engine.py,sha256=7BHzBJFYPxJYOIvR9k6X8FV1oQAGcLNBzqaz3O6v_8Y,4758
46
+ sonolus/script/globals.py,sha256=W6mWmDbzWhZWuxFr8bmOhlZDCiWoJmYD1QOHBmZCX9o,8397
47
+ sonolus/script/graphics.py,sha256=1yk1d-d0YAQiq7GhVOtFFEo0DgGLvRXuJcNvz8SwG-4,5083
48
+ sonolus/script/instruction.py,sha256=WgUWtJwyzYRnYE7ykxQWVH0XVN_a63L7po4LG4vGedA,5398
49
+ sonolus/script/interval.py,sha256=exQb8guUbtTyDCuFytD3PQiEXGhDN9yoP9HiYL1H6iM,3266
50
+ sonolus/script/iterator.py,sha256=0_CRITyqR5IzpEFXpuPQlvAAOrDRNA4hmv4iFFHR20E,5299
51
+ sonolus/script/level.py,sha256=lcC6zHg3kp8Vm-pG96zASVPG16JeOp3ZR907snXdy18,1249
52
+ sonolus/script/math.py,sha256=s46jpHe2vrl9f6Zm7qI6cYR8NrwsypYfQLEihDGNx8E,2278
53
+ sonolus/script/num.py,sha256=ZJF1_H1y6bddmaVuU_-gSOFiFgpdcUjfoOU86GVBFgc,12491
54
+ sonolus/script/options.py,sha256=uufzFHft59FgdF1HTcv9FM3l0ZIjb8wCyhW9mESk_ZQ,5511
55
+ sonolus/script/particle.py,sha256=vjtI3EwSCjKM41nBmf6Qt3KtaXbHgIwBnn3RCNtDPHs,7387
56
+ sonolus/script/pointer.py,sha256=c_NoOHU8_PgglVAd6m3RkAO_JCdoD8wP_bZiE2OYFRc,1115
57
+ sonolus/script/print.py,sha256=vDgE42yw9f5kXFk-A4ppQgwgKNIjiUXS7GVIHZdhdmg,1564
58
+ sonolus/script/project.py,sha256=7K3iwUdSXAQyEAwcZvtfxgv3M0IaUaXSroUBEj4dnuA,416
59
+ sonolus/script/random.py,sha256=Mgo-fSnWRgOIowdQnPRtbUUdMmUB21tKnwe2d3sjggk,379
60
+ sonolus/script/range.py,sha256=D1nr_CvrfCwopiP2XVVVHQW3eDnDfLsQ7VKe-rEf1Tg,1695
61
+ sonolus/script/record.py,sha256=y06I56PcYJAxjNJiauuhV33mGiH3Z9Lz603_9N03PxE,10472
62
+ sonolus/script/runtime.py,sha256=vciRWn_WG9jyCU236cDXzwuigOtqzswKIJjAZxt1ob4,17100
63
+ sonolus/script/sprite.py,sha256=vNl67okRBOFi3IoXVGOHPt8k9TJQqb9EscxwHnWqlrE,12989
64
+ sonolus/script/text.py,sha256=UPXw8xyGW0sSJR8uiZyDIVF5MtNV9MbyI-AfYZPqHro,12989
65
+ sonolus/script/timing.py,sha256=utAry65nkeDKBT-r_AYz-mWkgylBhiUUMordA3pDhLk,1028
66
+ sonolus/script/transform.py,sha256=ROPm1HjJnP--Jhw2ziHQHns0kyF6b6m2P949Ispp9Mc,5650
67
+ sonolus/script/ui.py,sha256=F-yFndriiqWRHaAOQ7WtnjPIHHQuhAYHMwtFaZM6OJ4,4488
68
+ sonolus/script/values.py,sha256=TyRxHjuvtXlQpKGyVRg0T8fJgXMboKY4TZxQ3lFR4bs,1261
69
+ sonolus/script/vec.py,sha256=tucqiZGFlUEwZQSGKmuacwfP2FiH-94C-crvr7Dt51w,2122
70
+ sonolus/script/internal/__init__.py,sha256=T6rzLoiOUaiSQtaHMZ88SNO-ijSjSSv33TKtUwu-Ms8,136
71
+ sonolus/script/internal/builtin_impls.py,sha256=qo1ZIgZ_FQl6O6CftuDqxuANObv3vzD7KT3bM30SbvU,4012
72
+ sonolus/script/internal/context.py,sha256=lN1Lmh5sB7GTjX10V2vUhGgCBfUsVoDHzweUY3VCd_s,13060
73
+ sonolus/script/internal/descriptor.py,sha256=XRFey-EjiAm_--KsNl-8N0Mi_iyQwlPh68gDp0pKf3E,392
74
+ sonolus/script/internal/error.py,sha256=ZNnsvQVQAnFKzcvsm6-sste2lo-tP5pPI8sD7XlAZWc,490
75
+ sonolus/script/internal/generic.py,sha256=-rhFatYZLrDE3RFgDWu_Zto3funHXmMr3QuyxajaWKU,7356
76
+ sonolus/script/internal/impl.py,sha256=tnIaQCmw0SlFpmnSJp2aEys9XVxoj0Vi8Yf6SP-oUAQ,2321
77
+ sonolus/script/internal/introspection.py,sha256=KBhs_cQxfQpXyFusz3R6O1YkA6ahQni8A2_h5W2A-c0,544
78
+ sonolus/script/internal/native.py,sha256=YKx4uX6Y1cJaoLWpS8oQbWzHMZA5SSCE2cfeyv-nQkY,1518
79
+ sonolus/script/internal/value.py,sha256=ik9sMKl0TbsH_C6QNxD4WfpAnmBFISgmmlazWwh3kY0,4308
80
+ sonolus_py-0.1.4.dist-info/METADATA,sha256=QciwdolhqTIFmhm7mxBs5MBZzFuoEdIBZgijIQawbUQ,216
81
+ sonolus_py-0.1.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
82
+ sonolus_py-0.1.4.dist-info/entry_points.txt,sha256=oTYspY_b7SA8TptEMTDxh4-Aj-ZVPnYC9f1lqH6s9G4,54
83
+ sonolus_py-0.1.4.dist-info/licenses/LICENSE,sha256=JEKpqVhQYfEc7zg3Mj462sKbKYmO1K7WmvX1qvg9IJk,1067
84
+ sonolus_py-0.1.4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.25.0
2
+ Generator: hatchling 1.26.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Kyle Chang
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Kyle Chang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
sonolus/build/defaults.py DELETED
@@ -1,32 +0,0 @@
1
- EMPTY_ENGINE_PLAY_DATA = {
2
- "skin": {"sprites": []},
3
- "effect": {"clips": []},
4
- "particle": {"effects": []},
5
- "buckets": [],
6
- "archetypes": [],
7
- "nodes": [{"value": 0}],
8
- }
9
-
10
- EMPTY_ENGINE_WATCH_DATA = {
11
- "skin": {"sprites": []},
12
- "effect": {"clips": []},
13
- "particle": {"effects": []},
14
- "buckets": [],
15
- "archetypes": [],
16
- "updateSpawn": 0,
17
- "nodes": [{"value": 0}],
18
- }
19
-
20
- EMPTY_ENGINE_PREVIEW_DATA = {
21
- "skin": {"sprites": []},
22
- "archetypes": [],
23
- "nodes": [{"value": 0}],
24
- }
25
-
26
- EMPTY_ENGINE_TUTORIAL_DATA = {
27
- "skin": {"sprites": []},
28
- "effect": {"clips": []},
29
- "particle": {"effects": []},
30
- "instruction": {"texts": [], "icons": []},
31
- "nodes": [{"value": 0}],
32
- }
sonolus/script/icon.py DELETED
@@ -1,73 +0,0 @@
1
- from enum import StrEnum
2
-
3
-
4
- class StandardIcon(StrEnum):
5
- ADVANCED = "advanced"
6
- ANGLE_DOWN = "angleDown"
7
- ANGLE_LEFT = "angleLeft"
8
- ANGLE_RIGHT = "angleRight"
9
- ANGLES_DOWN = "anglesDown"
10
- ANGLES_LEFT = "anglesLeft"
11
- ANGLES_RIGHT = "anglesRight"
12
- ANGLES_UP = "anglesUp"
13
- ANGLE_UP = "angleUp"
14
- ARROW_DOWN = "arrowDown"
15
- ARROW_LEFT = "arrowLeft"
16
- ARROW_RIGHT = "arrowRight"
17
- ARROW_UP = "arrowUp"
18
- AWARD = "award"
19
- BACKGROUND = "background"
20
- BELL = "bell"
21
- BELL_SLASH = "bellSlash"
22
- BOOKMARK = "bookmark"
23
- BOOKMARK_HOLLOW = "bookmarkHollow"
24
- CHECK = "check"
25
- CLOCK = "clock"
26
- COMMENT = "comment"
27
- CROWN = "crown"
28
- DELETE = "delete"
29
- EDIT = "edit"
30
- EFFECT = "effect"
31
- ENGINE = "engine"
32
- ENVELOPE = "envelope"
33
- ENVELOPE_OPEN = "envelopeOpen"
34
- GLOBE = "globe"
35
- HEART = "heart"
36
- HEART_HOLLOW = "heartHollow"
37
- HIDE = "hide"
38
- INFORMATION = "information"
39
- LEVEL = "level"
40
- LOCK = "lock"
41
- MEDAL = "medal"
42
- MESSAGE = "message"
43
- MINUS = "minus"
44
- OPTIONS = "options"
45
- PARTICLE = "particle"
46
- PIN = "pin"
47
- PLAYER = "player"
48
- PLAYLIST = "playlist"
49
- PLUS = "plus"
50
- POST = "post"
51
- QUESTION = "question"
52
- RANKING = "ranking"
53
- REPLAY = "replay"
54
- REPLY = "reply"
55
- RESTORE = "restore"
56
- ROOM = "room"
57
- SEARCH = "search"
58
- SETTINGS = "settings"
59
- SHOW = "show"
60
- SHUFFLE = "shuffle"
61
- SKIN = "skin"
62
- STAR = "star"
63
- STAR_HALF = "starHalf"
64
- STAR_HOLLOW = "starHollow"
65
- STOPWATCH = "stopwatch"
66
- TAG = "tag"
67
- THUMBS_DOWN = "thumbsDown"
68
- THUMBS_DOWN_HOLLOW = "thumbsDownHollow"
69
- THUMBS_UP = "thumbsUp"
70
- THUMBS_UP_HOLLOW = "thumbsUpHollow"
71
- TROPHY = "trophy"
72
- UNLOCK = "unlock"
73
- X_MARK = "xMark"
@@ -1,76 +0,0 @@
1
- sonolus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- sonolus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- sonolus/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- sonolus/backend/allocate.py,sha256=3Y2UNGt9Nh3DLr88L1DLhvyavm6R_bg0sMN_d1XzANs,2154
5
- sonolus/backend/blocks.py,sha256=LR1fAXUGcsVuh03YNUpcVzz8P9sNbhL1ki3Dq57mK8I,19287
6
- sonolus/backend/excepthook.py,sha256=8tkzohxvkrUq_KbG48SuWdlEPNZKxcvYlwj7fXWFA1g,1031
7
- sonolus/backend/finalize.py,sha256=4At9fA7zaZsrFSfz9uyYCZIFUb10u16o6d-3wfg2XLw,3399
8
- sonolus/backend/flow.py,sha256=NtejFHC2LAmCwlYfyfnDZLnwvEyrVV_Dm4RGglBG6U0,3216
9
- sonolus/backend/interpret.py,sha256=EDpkv3ASzteDhYjTkzoriGYHYepcoHKZusrU_FX0DS4,14247
10
- sonolus/backend/ir.py,sha256=_D5CXsUxUX2VWkWU1z5ji8czrhTz0ieQ8L6VjtuxaKs,1994
11
- sonolus/backend/mode.py,sha256=H2sjHaEtBxslUGdqBW-9AT444DuR6B6IzVdcHRlz_BE,637
12
- sonolus/backend/node.py,sha256=BJqEaI_u8pdPNjgUZO9o8dGTn_vyo9x71AN5v4zJjdc,1039
13
- sonolus/backend/ops.py,sha256=k2YPLSDl4RagJ2Hyz91nZKlrWflMoXovCRjcwyhWmY0,10319
14
- sonolus/backend/optimize.py,sha256=qLOJ6XEZsOKOTQhzHWPNObsBKTHDHhVke9ZGmnukrhY,284
15
- sonolus/backend/passes.py,sha256=3NiVnT0KQA1lVEuR9wzcGB6CccVe4A-C3D_JOnGsetI,137
16
- sonolus/backend/place.py,sha256=61mWyPQ6i59bmV9RtQfUy6mJE0pMAmFoL1W-MyY79ug,2536
17
- sonolus/backend/simplify.py,sha256=0SLsReWyxwpI2qyGn0JtQWyv3J-4DDyCkmiqP5ZvSV8,1122
18
- sonolus/backend/utils.py,sha256=AVYidUYSp5H8pbPKEzAZ0Ccorb3nYDU6zFcc6JBtuLs,1430
19
- sonolus/backend/visitor.py,sha256=8tWHPHLZ--_9XPwz2xg49OmqwXfpd0fwBpXth7PQAdM,36419
20
- sonolus/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- sonolus/build/cli.py,sha256=8PSn8h-UmYGCjE2LAFU_5J3tMapKxCw09kzRTBomSFs,5545
22
- sonolus/build/collection.py,sha256=IsDgedsAJ-foHzQ4LnQ9zSVXSz5wVVt4sgqiUICBvCU,10573
23
- sonolus/build/compile.py,sha256=a1NjzvjFT2y6x9fL9kaiZgIus3egY8gk_WBr7EeSS68,3679
24
- sonolus/build/defaults.py,sha256=MDQuJUDRtCeNGbwn9ZgQAPiKJx7q-EH8hb7M6ToFcSU,718
25
- sonolus/build/engine.py,sha256=7hlz2gScNZNlpHpovpWdU9ygs1paBp-CZXgTXfC9EUQ,5046
26
- sonolus/build/level.py,sha256=Ko3XI3T8dpUmUOnxpAW27-1QCT2bkqXaW5GCiVKsfP0,546
27
- sonolus/build/node.py,sha256=3217uAzOz1KZ9VjOkcGO_Tdarvqwvl-F4sKPwx42QQ0,1205
28
- sonolus/build/project.py,sha256=x350tPcwKCYakdbrP796b545hVUaBwrzY0yEcQR7ut4,4023
29
- sonolus/script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- sonolus/script/archetype.py,sha256=q2WXhKuVGWnbBf9EjCRVhVOx6_N8nW1IV1AQaGVWurE,24812
31
- sonolus/script/array.py,sha256=ithYhBG69KTqooZlV7nVQXqrqKtgKL4KJKQ3ZzxTZwg,8914
32
- sonolus/script/bucket.py,sha256=HD1DbthZbqvU_7Iy5nw0_Ua3Fm00QIQkx019CHBp--I,5547
33
- sonolus/script/callbacks.py,sha256=ETNTENlYa_7dNuBkoe1IirQ9k08zPWDbaLZhtw668M4,2658
34
- sonolus/script/comptime.py,sha256=hR-rF9GXHcWBWIs9IsSr2V5ZZmHGotyzwEJqDJJGj10,4692
35
- sonolus/script/containers.py,sha256=yl6PlX840Km4SQRPGqy95h9Ol32Z-dYEO3ZzJB14dKc,7093
36
- sonolus/script/debug.py,sha256=WrfVFyQsirTu1q87_xhu3mPhFE1ZQXv9EbGCIhY4Hqs,1969
37
- sonolus/script/effect.py,sha256=m_S--gubthQgoKHdMjZ4t4SAcjF72lxa614p9b1T7vE,4146
38
- sonolus/script/engine.py,sha256=cweR8KwT8sxfWsepcaQM1hUVjcojPuzqUeLwye1FC2c,3628
39
- sonolus/script/globals.py,sha256=3lvPCy9bA_0dARkTy-xrpQUXTQfynojWWhveuRMdLyI,8666
40
- sonolus/script/graphics.py,sha256=C82hg9cu7sgs0tuWeta7l_ki6pYhaKpnBBPGfwYXozY,3334
41
- sonolus/script/icon.py,sha256=f-KJNpHGi804C5dA0G2MdvEYUmv7A01HqARUJlREEF0,1767
42
- sonolus/script/interval.py,sha256=KD3Rf8VGCTjVbt8aFUYRM46oJA3rpULhlZXYFhs-ECM,3194
43
- sonolus/script/iterator.py,sha256=tWdTWoV4pMZC74qCuWWNKV4n3yGFs1m4QRG3hY-VQok,5443
44
- sonolus/script/level.py,sha256=lcC6zHg3kp8Vm-pG96zASVPG16JeOp3ZR907snXdy18,1249
45
- sonolus/script/math.py,sha256=2HNKoIN6CV8J_1jsnxItXWQn8eUjlfvbPbMEav9li10,1636
46
- sonolus/script/num.py,sha256=RQv0VhX3nk69hh5sGsBaF_ZiNl9sr_xAnIt0Arjh_e4,12449
47
- sonolus/script/options.py,sha256=qoY_IcwnchqUPaw9IE_-j1vNPC3j0yuGVUqitCdzSk0,5702
48
- sonolus/script/particle.py,sha256=4ZLNymqORniHnczm3_yRPrVjy_tx4TXTpGO-BMfLmhg,7544
49
- sonolus/script/pointer.py,sha256=bN4UzR7gwe3N_qJ0CXr9NLsuDKzgdkHJxKtOzNokAiE,1145
50
- sonolus/script/preview.py,sha256=s3yJ0jj9xxkkOg1PimO5PyIfD0WnSZkS8q9X8juSTTo,1645
51
- sonolus/script/project.py,sha256=7K3iwUdSXAQyEAwcZvtfxgv3M0IaUaXSroUBEj4dnuA,416
52
- sonolus/script/range.py,sha256=EgdEJYeoq2chD0xCJs2oZZhM_ubWHOzZZwvAZmXxQLs,1753
53
- sonolus/script/record.py,sha256=l4h4mubPevUAW4oKQpz-ZNXea9EbsbSv9je_KV5CIPE,10381
54
- sonolus/script/runtime.py,sha256=2cRmy-6-9Z7SF_Xi8pgQ6bu4zj9ipx80G4Pf43FRpdM,16071
55
- sonolus/script/sprite.py,sha256=-tKIeOVkX1tIcAn0sgbuaURiFA_dKiHt3aDeDCgHY2Y,13322
56
- sonolus/script/text.py,sha256=V2ijaTp9SJF-bThyZFn70M7wm6ZQrUtZv6uUprcZYBY,13396
57
- sonolus/script/timing.py,sha256=qSkoU7bVNaCFPUwpVUMr44xP75h2bapPoIHDsGEReWU,1070
58
- sonolus/script/transform.py,sha256=9c6DKd8SF1KwVLU7Q2M4rOup8QGSuCVIA8UA9SOzx08,3148
59
- sonolus/script/ui.py,sha256=eOVqH-6BeRwMbe7ePQWjMIJEvrP1gKQMXhWt7v2OClo,4648
60
- sonolus/script/values.py,sha256=TyRxHjuvtXlQpKGyVRg0T8fJgXMboKY4TZxQ3lFR4bs,1261
61
- sonolus/script/vec.py,sha256=zMQpK47cBC5CK6KGxoqJ_VYLAIGtDwtMwW8iQ24w7RU,1882
62
- sonolus/script/internal/__init__.py,sha256=ZMWLy_WIuYQv0HRquCLoeCidiOpar4J2GojnhBSrxGs,141
63
- sonolus/script/internal/builtin_impls.py,sha256=tKg_iZoeGCSAL667_V3euZrf0K0wc4nY9__8Q0AIwYM,4156
64
- sonolus/script/internal/context.py,sha256=r6Igx4rXT7_aBB04GJjJolDdCbyZX39qVKRl8vG_bjc,12650
65
- sonolus/script/internal/descriptor.py,sha256=mlgUVKS2R4Nt1gpDH-Q1YyJHuZDR5i6TcjiszfY-yzE,409
66
- sonolus/script/internal/error.py,sha256=ZNnsvQVQAnFKzcvsm6-sste2lo-tP5pPI8sD7XlAZWc,490
67
- sonolus/script/internal/generic.py,sha256=-rhFatYZLrDE3RFgDWu_Zto3funHXmMr3QuyxajaWKU,7356
68
- sonolus/script/internal/impl.py,sha256=tnIaQCmw0SlFpmnSJp2aEys9XVxoj0Vi8Yf6SP-oUAQ,2321
69
- sonolus/script/internal/introspection.py,sha256=9e_flldywaB5g1FdLnfLfQcL3s4nQ50E5iFlA-5FF_w,558
70
- sonolus/script/internal/native.py,sha256=af2YokZLtt30Jipo2dAY9PU9Fajz-12VoFOrnCgxSvk,1391
71
- sonolus/script/internal/value.py,sha256=ftmxr228XRSt2KNsR8KsXMw7vDP1jdwKEMb1PE0bpCA,4214
72
- sonolus_py-0.1.2.dist-info/METADATA,sha256=jksU9Qk-ie2JcUAGSpQ26PwEZIZn9v7kTUIuAhVTJ-k,238
73
- sonolus_py-0.1.2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
74
- sonolus_py-0.1.2.dist-info/entry_points.txt,sha256=oTYspY_b7SA8TptEMTDxh4-Aj-ZVPnYC9f1lqH6s9G4,54
75
- sonolus_py-0.1.2.dist-info/licenses/LICENSE,sha256=AhIgObMNjnAgjfJIea2c-0PDItKwP71hg4WFVAKh1ew,1088
76
- sonolus_py-0.1.2.dist-info/RECORD,,