sonolus.py 0.1.0__py3-none-any.whl → 0.1.2__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.
- sonolus/backend/mode.py +4 -4
- sonolus/backend/visitor.py +2 -2
- sonolus/build/compile.py +3 -3
- sonolus/build/engine.py +20 -4
- sonolus/script/archetype.py +42 -11
- sonolus/script/bucket.py +4 -5
- sonolus/script/callbacks.py +10 -0
- sonolus/script/comptime.py +14 -0
- sonolus/script/debug.py +1 -1
- sonolus/script/effect.py +13 -14
- sonolus/script/engine.py +26 -6
- sonolus/script/globals.py +79 -44
- sonolus/script/graphics.py +37 -28
- sonolus/script/internal/builtin_impls.py +3 -3
- sonolus/script/internal/native.py +2 -2
- sonolus/script/interval.py +14 -0
- sonolus/script/level.py +7 -7
- sonolus/script/num.py +30 -4
- sonolus/script/options.py +6 -9
- sonolus/script/particle.py +50 -51
- sonolus/script/pointer.py +3 -3
- sonolus/script/preview.py +81 -0
- sonolus/script/runtime.py +113 -35
- sonolus/script/sprite.py +108 -107
- sonolus/script/text.py +407 -404
- sonolus/script/transform.py +13 -17
- sonolus/script/vec.py +24 -0
- {sonolus_py-0.1.0.dist-info → sonolus_py-0.1.2.dist-info}/METADATA +1 -1
- {sonolus_py-0.1.0.dist-info → sonolus_py-0.1.2.dist-info}/RECORD +32 -31
- {sonolus_py-0.1.0.dist-info → sonolus_py-0.1.2.dist-info}/WHEEL +0 -0
- {sonolus_py-0.1.0.dist-info → sonolus_py-0.1.2.dist-info}/entry_points.txt +0 -0
- {sonolus_py-0.1.0.dist-info → sonolus_py-0.1.2.dist-info}/licenses/LICENSE +0 -0
sonolus/script/transform.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# fmt: off
|
|
2
2
|
from typing import Self
|
|
3
3
|
|
|
4
|
-
from sonolus.script.graphics import Quad
|
|
4
|
+
from sonolus.script.graphics import Quad, QuadLike
|
|
5
5
|
from sonolus.script.math import cos, sin
|
|
6
6
|
from sonolus.script.record import Record
|
|
7
7
|
from sonolus.script.vec import Vec2
|
|
@@ -40,27 +40,23 @@ class Transform2d(Record):
|
|
|
40
40
|
a20 = self.a00 * b20 + self.a10 * b21 + b20
|
|
41
41
|
a21 = self.a01 * b20 + self.a11 * b21 + b21
|
|
42
42
|
a22 = self.a02 * b20 + self.a12 * b21 + 1
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
self.a12 = a12 / a22
|
|
49
|
-
self.a20 = a20 / a22
|
|
50
|
-
self.a21 = a21 / a22
|
|
51
|
-
return self
|
|
43
|
+
return Transform2d(
|
|
44
|
+
a00 / a22, a01 / a22, a02 / a22,
|
|
45
|
+
a10 / a22, a11 / a22, a12 / a22,
|
|
46
|
+
a20 / a22, a21 / a22,
|
|
47
|
+
)
|
|
52
48
|
|
|
53
|
-
def translate(self,
|
|
49
|
+
def translate(self, translation: Vec2, /) -> Self:
|
|
54
50
|
return self._compose(
|
|
55
|
-
1, 0, x,
|
|
56
|
-
0, 1, y,
|
|
51
|
+
1, 0, translation.x,
|
|
52
|
+
0, 1, translation.y,
|
|
57
53
|
0, 0,
|
|
58
54
|
)
|
|
59
55
|
|
|
60
|
-
def scale(self,
|
|
56
|
+
def scale(self, factor: Vec2, /) -> Self:
|
|
61
57
|
return self._compose(
|
|
62
|
-
x, 0, 0,
|
|
63
|
-
0, y, 0,
|
|
58
|
+
factor.x, 0, 0,
|
|
59
|
+
0, factor.y, 0,
|
|
64
60
|
0, 0,
|
|
65
61
|
)
|
|
66
62
|
|
|
@@ -109,7 +105,7 @@ class Transform2d(Record):
|
|
|
109
105
|
w = self.a20 * v.x + self.a21 * v.y + 1
|
|
110
106
|
return Vec2(x / w, y / w)
|
|
111
107
|
|
|
112
|
-
def transform_quad(self, quad:
|
|
108
|
+
def transform_quad(self, quad: QuadLike) -> Quad:
|
|
113
109
|
return Quad(
|
|
114
110
|
bl=self.transform_vec(quad.bl),
|
|
115
111
|
br=self.transform_vec(quad.br),
|
sonolus/script/vec.py
CHANGED
|
@@ -9,6 +9,30 @@ class Vec2(Record):
|
|
|
9
9
|
x: float
|
|
10
10
|
y: float
|
|
11
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
|
+
|
|
12
36
|
@property
|
|
13
37
|
def magnitude(self) -> Num:
|
|
14
38
|
return (self.x**2 + self.y**2) ** 0.5
|
|
@@ -8,7 +8,7 @@ sonolus/backend/finalize.py,sha256=4At9fA7zaZsrFSfz9uyYCZIFUb10u16o6d-3wfg2XLw,3
|
|
|
8
8
|
sonolus/backend/flow.py,sha256=NtejFHC2LAmCwlYfyfnDZLnwvEyrVV_Dm4RGglBG6U0,3216
|
|
9
9
|
sonolus/backend/interpret.py,sha256=EDpkv3ASzteDhYjTkzoriGYHYepcoHKZusrU_FX0DS4,14247
|
|
10
10
|
sonolus/backend/ir.py,sha256=_D5CXsUxUX2VWkWU1z5ji8czrhTz0ieQ8L6VjtuxaKs,1994
|
|
11
|
-
sonolus/backend/mode.py,sha256=
|
|
11
|
+
sonolus/backend/mode.py,sha256=H2sjHaEtBxslUGdqBW-9AT444DuR6B6IzVdcHRlz_BE,637
|
|
12
12
|
sonolus/backend/node.py,sha256=BJqEaI_u8pdPNjgUZO9o8dGTn_vyo9x71AN5v4zJjdc,1039
|
|
13
13
|
sonolus/backend/ops.py,sha256=k2YPLSDl4RagJ2Hyz91nZKlrWflMoXovCRjcwyhWmY0,10319
|
|
14
14
|
sonolus/backend/optimize.py,sha256=qLOJ6XEZsOKOTQhzHWPNObsBKTHDHhVke9ZGmnukrhY,284
|
|
@@ -16,60 +16,61 @@ sonolus/backend/passes.py,sha256=3NiVnT0KQA1lVEuR9wzcGB6CccVe4A-C3D_JOnGsetI,137
|
|
|
16
16
|
sonolus/backend/place.py,sha256=61mWyPQ6i59bmV9RtQfUy6mJE0pMAmFoL1W-MyY79ug,2536
|
|
17
17
|
sonolus/backend/simplify.py,sha256=0SLsReWyxwpI2qyGn0JtQWyv3J-4DDyCkmiqP5ZvSV8,1122
|
|
18
18
|
sonolus/backend/utils.py,sha256=AVYidUYSp5H8pbPKEzAZ0Ccorb3nYDU6zFcc6JBtuLs,1430
|
|
19
|
-
sonolus/backend/visitor.py,sha256=
|
|
19
|
+
sonolus/backend/visitor.py,sha256=8tWHPHLZ--_9XPwz2xg49OmqwXfpd0fwBpXth7PQAdM,36419
|
|
20
20
|
sonolus/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
sonolus/build/cli.py,sha256=8PSn8h-UmYGCjE2LAFU_5J3tMapKxCw09kzRTBomSFs,5545
|
|
22
22
|
sonolus/build/collection.py,sha256=IsDgedsAJ-foHzQ4LnQ9zSVXSz5wVVt4sgqiUICBvCU,10573
|
|
23
|
-
sonolus/build/compile.py,sha256=
|
|
23
|
+
sonolus/build/compile.py,sha256=a1NjzvjFT2y6x9fL9kaiZgIus3egY8gk_WBr7EeSS68,3679
|
|
24
24
|
sonolus/build/defaults.py,sha256=MDQuJUDRtCeNGbwn9ZgQAPiKJx7q-EH8hb7M6ToFcSU,718
|
|
25
|
-
sonolus/build/engine.py,sha256=
|
|
25
|
+
sonolus/build/engine.py,sha256=7hlz2gScNZNlpHpovpWdU9ygs1paBp-CZXgTXfC9EUQ,5046
|
|
26
26
|
sonolus/build/level.py,sha256=Ko3XI3T8dpUmUOnxpAW27-1QCT2bkqXaW5GCiVKsfP0,546
|
|
27
27
|
sonolus/build/node.py,sha256=3217uAzOz1KZ9VjOkcGO_Tdarvqwvl-F4sKPwx42QQ0,1205
|
|
28
28
|
sonolus/build/project.py,sha256=x350tPcwKCYakdbrP796b545hVUaBwrzY0yEcQR7ut4,4023
|
|
29
29
|
sonolus/script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
sonolus/script/archetype.py,sha256=
|
|
30
|
+
sonolus/script/archetype.py,sha256=q2WXhKuVGWnbBf9EjCRVhVOx6_N8nW1IV1AQaGVWurE,24812
|
|
31
31
|
sonolus/script/array.py,sha256=ithYhBG69KTqooZlV7nVQXqrqKtgKL4KJKQ3ZzxTZwg,8914
|
|
32
|
-
sonolus/script/bucket.py,sha256=
|
|
33
|
-
sonolus/script/callbacks.py,sha256=
|
|
34
|
-
sonolus/script/comptime.py,sha256=
|
|
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
35
|
sonolus/script/containers.py,sha256=yl6PlX840Km4SQRPGqy95h9Ol32Z-dYEO3ZzJB14dKc,7093
|
|
36
|
-
sonolus/script/debug.py,sha256=
|
|
37
|
-
sonolus/script/effect.py,sha256=
|
|
38
|
-
sonolus/script/engine.py,sha256=
|
|
39
|
-
sonolus/script/globals.py,sha256=
|
|
40
|
-
sonolus/script/graphics.py,sha256=
|
|
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
41
|
sonolus/script/icon.py,sha256=f-KJNpHGi804C5dA0G2MdvEYUmv7A01HqARUJlREEF0,1767
|
|
42
|
-
sonolus/script/interval.py,sha256=
|
|
42
|
+
sonolus/script/interval.py,sha256=KD3Rf8VGCTjVbt8aFUYRM46oJA3rpULhlZXYFhs-ECM,3194
|
|
43
43
|
sonolus/script/iterator.py,sha256=tWdTWoV4pMZC74qCuWWNKV4n3yGFs1m4QRG3hY-VQok,5443
|
|
44
|
-
sonolus/script/level.py,sha256=
|
|
44
|
+
sonolus/script/level.py,sha256=lcC6zHg3kp8Vm-pG96zASVPG16JeOp3ZR907snXdy18,1249
|
|
45
45
|
sonolus/script/math.py,sha256=2HNKoIN6CV8J_1jsnxItXWQn8eUjlfvbPbMEav9li10,1636
|
|
46
|
-
sonolus/script/num.py,sha256=
|
|
47
|
-
sonolus/script/options.py,sha256=
|
|
48
|
-
sonolus/script/particle.py,sha256=
|
|
49
|
-
sonolus/script/pointer.py,sha256=
|
|
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
|
|
50
51
|
sonolus/script/project.py,sha256=7K3iwUdSXAQyEAwcZvtfxgv3M0IaUaXSroUBEj4dnuA,416
|
|
51
52
|
sonolus/script/range.py,sha256=EgdEJYeoq2chD0xCJs2oZZhM_ubWHOzZZwvAZmXxQLs,1753
|
|
52
53
|
sonolus/script/record.py,sha256=l4h4mubPevUAW4oKQpz-ZNXea9EbsbSv9je_KV5CIPE,10381
|
|
53
|
-
sonolus/script/runtime.py,sha256=
|
|
54
|
-
sonolus/script/sprite.py,sha256
|
|
55
|
-
sonolus/script/text.py,sha256=
|
|
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
|
|
56
57
|
sonolus/script/timing.py,sha256=qSkoU7bVNaCFPUwpVUMr44xP75h2bapPoIHDsGEReWU,1070
|
|
57
|
-
sonolus/script/transform.py,sha256=
|
|
58
|
+
sonolus/script/transform.py,sha256=9c6DKd8SF1KwVLU7Q2M4rOup8QGSuCVIA8UA9SOzx08,3148
|
|
58
59
|
sonolus/script/ui.py,sha256=eOVqH-6BeRwMbe7ePQWjMIJEvrP1gKQMXhWt7v2OClo,4648
|
|
59
60
|
sonolus/script/values.py,sha256=TyRxHjuvtXlQpKGyVRg0T8fJgXMboKY4TZxQ3lFR4bs,1261
|
|
60
|
-
sonolus/script/vec.py,sha256=
|
|
61
|
+
sonolus/script/vec.py,sha256=zMQpK47cBC5CK6KGxoqJ_VYLAIGtDwtMwW8iQ24w7RU,1882
|
|
61
62
|
sonolus/script/internal/__init__.py,sha256=ZMWLy_WIuYQv0HRquCLoeCidiOpar4J2GojnhBSrxGs,141
|
|
62
|
-
sonolus/script/internal/builtin_impls.py,sha256=
|
|
63
|
+
sonolus/script/internal/builtin_impls.py,sha256=tKg_iZoeGCSAL667_V3euZrf0K0wc4nY9__8Q0AIwYM,4156
|
|
63
64
|
sonolus/script/internal/context.py,sha256=r6Igx4rXT7_aBB04GJjJolDdCbyZX39qVKRl8vG_bjc,12650
|
|
64
65
|
sonolus/script/internal/descriptor.py,sha256=mlgUVKS2R4Nt1gpDH-Q1YyJHuZDR5i6TcjiszfY-yzE,409
|
|
65
66
|
sonolus/script/internal/error.py,sha256=ZNnsvQVQAnFKzcvsm6-sste2lo-tP5pPI8sD7XlAZWc,490
|
|
66
67
|
sonolus/script/internal/generic.py,sha256=-rhFatYZLrDE3RFgDWu_Zto3funHXmMr3QuyxajaWKU,7356
|
|
67
68
|
sonolus/script/internal/impl.py,sha256=tnIaQCmw0SlFpmnSJp2aEys9XVxoj0Vi8Yf6SP-oUAQ,2321
|
|
68
69
|
sonolus/script/internal/introspection.py,sha256=9e_flldywaB5g1FdLnfLfQcL3s4nQ50E5iFlA-5FF_w,558
|
|
69
|
-
sonolus/script/internal/native.py,sha256=
|
|
70
|
+
sonolus/script/internal/native.py,sha256=af2YokZLtt30Jipo2dAY9PU9Fajz-12VoFOrnCgxSvk,1391
|
|
70
71
|
sonolus/script/internal/value.py,sha256=ftmxr228XRSt2KNsR8KsXMw7vDP1jdwKEMb1PE0bpCA,4214
|
|
71
|
-
sonolus_py-0.1.
|
|
72
|
-
sonolus_py-0.1.
|
|
73
|
-
sonolus_py-0.1.
|
|
74
|
-
sonolus_py-0.1.
|
|
75
|
-
sonolus_py-0.1.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|