sm-blueprint-lib 0.0.10__py3-none-any.whl → 0.0.11__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.
- sm_blueprint_lib/__init__.py +1 -1
- sm_blueprint_lib/bases/joints/basejoint.py +30 -0
- sm_blueprint_lib/bases/joints/basejointcontroller.py +8 -0
- sm_blueprint_lib/bases/joints/pistonjoint.py +13 -0
- sm_blueprint_lib/bases/joints/pistonjointcontroller.py +9 -0
- sm_blueprint_lib/bases/joints/suspensionjoint.py +13 -0
- sm_blueprint_lib/bases/joints/suspensionjointcontroller.py +8 -0
- sm_blueprint_lib/bases/parts/basepart.py +5 -0
- sm_blueprint_lib/blueprint.py +8 -6
- sm_blueprint_lib/constants.py +6 -0
- sm_blueprint_lib/parts/__init__.py +4 -0
- sm_blueprint_lib/parts/bearing.py +9 -0
- sm_blueprint_lib/parts/piston.py +9 -0
- sm_blueprint_lib/parts/suspension.py +14 -0
- sm_blueprint_lib/pos.py +17 -0
- sm_blueprint_lib/prebuilds/adder.py +2 -2
- sm_blueprint_lib/prebuilds/barrel_shifter.py +2 -2
- sm_blueprint_lib/prebuilds/clock40hz.py +2 -2
- sm_blueprint_lib/prebuilds/comparator.py +2 -2
- sm_blueprint_lib/prebuilds/counter.py +2 -2
- sm_blueprint_lib/prebuilds/decoder.py +2 -2
- sm_blueprint_lib/prebuilds/distance_sensor.py +2 -2
- sm_blueprint_lib/prebuilds/ram.py +2 -2
- sm_blueprint_lib/prebuilds/register.py +1 -2
- sm_blueprint_lib/prebuilds/rom.py +2 -2
- sm_blueprint_lib/prebuilds/timer_ram_cached.py +2 -2
- sm_blueprint_lib/prebuilds/timer_ram_multiclient.py +2 -2
- sm_blueprint_lib/utils.py +0 -15
- {sm_blueprint_lib-0.0.10.dist-info → sm_blueprint_lib-0.0.11.dist-info}/METADATA +1 -1
- sm_blueprint_lib-0.0.11.dist-info/RECORD +50 -0
- sm_blueprint_lib-0.0.10.dist-info/RECORD +0 -41
- {sm_blueprint_lib-0.0.10.dist-info → sm_blueprint_lib-0.0.11.dist-info}/WHEEL +0 -0
- {sm_blueprint_lib-0.0.10.dist-info → sm_blueprint_lib-0.0.11.dist-info}/licenses/LICENSE +0 -0
sm_blueprint_lib/__init__.py
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
from dataclasses import dataclass, field
|
2
|
+
|
3
|
+
from ...constants import SHAPEID
|
4
|
+
from ...pos import *
|
5
|
+
|
6
|
+
|
7
|
+
@dataclass
|
8
|
+
class BaseJoint:
|
9
|
+
childA: int
|
10
|
+
childB: int
|
11
|
+
color: str
|
12
|
+
id: int
|
13
|
+
posA: Pos
|
14
|
+
posB: Pos
|
15
|
+
shapeId: str
|
16
|
+
xaxisA: int
|
17
|
+
xaxisB: int
|
18
|
+
zaxisA: int
|
19
|
+
zaxisB: int
|
20
|
+
|
21
|
+
def __post_init__(self):
|
22
|
+
self.posA = check_pos(self.posA)
|
23
|
+
self.posB = check_pos(self.posB)
|
24
|
+
|
25
|
+
def __init_subclass__(cls):
|
26
|
+
super().__init_subclass__()
|
27
|
+
try:
|
28
|
+
SHAPEID.JOINT_TO_CLASS[cls.shapeId.default] = cls
|
29
|
+
except AttributeError:
|
30
|
+
pass
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
|
3
|
+
from .basejoint import BaseJoint
|
4
|
+
from .pistonjointcontroller import PistonJointController
|
5
|
+
|
6
|
+
|
7
|
+
@dataclass
|
8
|
+
class PistonJoint(BaseJoint):
|
9
|
+
controller: PistonJointController
|
10
|
+
|
11
|
+
def __post_init__(self):
|
12
|
+
super().__post_init__()
|
13
|
+
self.controller = PistonJointController(**self.controller)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
from dataclasses import dataclass, field
|
2
|
+
|
3
|
+
from .basejoint import BaseJoint
|
4
|
+
from .suspensionjointcontroller import SuspensionJointController
|
5
|
+
|
6
|
+
|
7
|
+
@dataclass
|
8
|
+
class SuspensionJoin(BaseJoint):
|
9
|
+
controller: SuspensionJointController
|
10
|
+
|
11
|
+
def __post_init__(self):
|
12
|
+
super().__post_init__()
|
13
|
+
self.controller = SuspensionJointController(**self.controller)
|
@@ -1,7 +1,9 @@
|
|
1
1
|
from dataclasses import dataclass, field
|
2
|
+
from typing import Optional
|
2
3
|
|
3
4
|
from ...constants import AXIS, SHAPEID
|
4
5
|
from ...pos import Pos
|
6
|
+
from ...id import ID
|
5
7
|
|
6
8
|
|
7
9
|
@dataclass
|
@@ -11,6 +13,7 @@ class BasePart:
|
|
11
13
|
shapeId: str
|
12
14
|
pos: Pos
|
13
15
|
color: str
|
16
|
+
joints: Optional[list[ID]] = field(kw_only=True, default=None)
|
14
17
|
xaxis: int = field(kw_only=True, default=AXIS.DEFAULT_XAXIS)
|
15
18
|
zaxis: int = field(kw_only=True, default=AXIS.DEFAULT_ZAXIS)
|
16
19
|
|
@@ -25,6 +28,8 @@ class BasePart:
|
|
25
28
|
if not isinstance(self.color, str):
|
26
29
|
self.color = "%02X%02X%02X" % (
|
27
30
|
self.color[0], self.color[1], self.color[2])
|
31
|
+
if self.joints:
|
32
|
+
self.joints = [ID(**id) for id in self.joints]
|
28
33
|
|
29
34
|
def __init_subclass__(cls):
|
30
35
|
super().__init_subclass__()
|
sm_blueprint_lib/blueprint.py
CHANGED
@@ -1,20 +1,22 @@
|
|
1
1
|
from dataclasses import dataclass, field
|
2
|
+
from typing import Optional
|
2
3
|
|
3
4
|
from .bases.parts.basepart import BasePart
|
4
5
|
from .body import Body
|
5
|
-
from .
|
6
|
+
from .bases.joints.basejoint import BaseJoint
|
7
|
+
from .constants import VERSION, SHAPEID
|
6
8
|
|
7
9
|
|
8
10
|
@dataclass
|
9
11
|
class Blueprint:
|
10
|
-
bodies: list[Body] = field(default_factory=lambda: [
|
12
|
+
bodies: list[Body] = field(default_factory=lambda: [{}])
|
13
|
+
joints: Optional[list[BaseJoint]] = None
|
11
14
|
version: int = VERSION.BLUEPRINT_VERSION
|
12
15
|
|
13
16
|
def __post_init__(self):
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
pass
|
17
|
+
self.bodies = [Body(**body) for body in self.bodies]
|
18
|
+
if self.joints:
|
19
|
+
self.joints = [SHAPEID.JOINT_TO_CLASS[j["shapeId"]](**j) for j in self.joints]
|
18
20
|
|
19
21
|
def add(self, *obj, body=0):
|
20
22
|
"""Adds the object(s) to the blueprint.
|
sm_blueprint_lib/constants.py
CHANGED
@@ -5,7 +5,13 @@ class SHAPEID:
|
|
5
5
|
SENSOR5 = "20dcd41c-0a11-4668-9b00-97f278ce21af"
|
6
6
|
SWITCH = "7cf717d7-d167-4f2d-a6e7-6b2c70aa3986"
|
7
7
|
BUTTON = "1e8d93a4-506b-470d-9ada-9c0a321e2db5"
|
8
|
+
|
9
|
+
SPORT_SUSPENSION5 = "52855106-a95c-4427-9970-3f227109b66d"
|
10
|
+
OFFROAD_SUSPENSION5 = "73f838db-783e-4a41-bc0f-9008967780f3"
|
11
|
+
BEARING = "4a1b886b-913e-4aad-b5b6-6e41b0db23a6"
|
12
|
+
PISTON5 = "2f004fdf-bfb0-46f3-a7ac-7711100bee0c"
|
8
13
|
SHAPEID_TO_CLASS = {}
|
14
|
+
JOINT_TO_CLASS = {}
|
9
15
|
|
10
16
|
|
11
17
|
class COLOR:
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from dataclasses import dataclass, field
|
2
|
+
|
3
|
+
from ..bases.joints.suspensionjoint import SuspensionJoin
|
4
|
+
from ..constants import SHAPEID
|
5
|
+
|
6
|
+
|
7
|
+
@dataclass
|
8
|
+
class SportSuspension5(SuspensionJoin):
|
9
|
+
shapeId: str = field(kw_only=True, default=SHAPEID.SPORT_SUSPENSION5)
|
10
|
+
|
11
|
+
|
12
|
+
@dataclass
|
13
|
+
class OffRoadSuspension5(SuspensionJoin):
|
14
|
+
shapeId: str = field(kw_only=True, default=SHAPEID.OFFROAD_SUSPENSION5)
|
sm_blueprint_lib/pos.py
CHANGED
@@ -14,3 +14,20 @@ class Pos:
|
|
14
14
|
if isinstance(o, Pos):
|
15
15
|
return Pos(self.x + o.x, self.y + o.y, self.z + o.z)
|
16
16
|
return Pos(self.x + o[0], self.y + o[1], self.z + o[2])
|
17
|
+
|
18
|
+
|
19
|
+
def check_pos(pos: Sequence | dict) -> Pos:
|
20
|
+
"""Converts a Sequence or dict into a Pos class if it wasn't already.
|
21
|
+
|
22
|
+
Args:
|
23
|
+
pos (Sequence | dict): The Sequence or dict to be converted.
|
24
|
+
|
25
|
+
Returns:
|
26
|
+
Pos: The converted Pos.
|
27
|
+
"""
|
28
|
+
if not isinstance(pos, Pos):
|
29
|
+
if isinstance(pos, Sequence):
|
30
|
+
pos = Pos(*list(pos))
|
31
|
+
else:
|
32
|
+
pos = Pos(**pos)
|
33
|
+
return pos
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
6
|
+
from ..pos import *
|
7
7
|
|
8
8
|
|
9
9
|
def simple_adder_subtractor(bp: Blueprint,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
6
|
+
from ..pos import *
|
7
7
|
|
8
8
|
|
9
9
|
def barrel_shifter(bp: Blueprint, bit_length: int, num_bit_shift: int, pos: Pos | Sequence = (0, 0, 0)):
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
6
|
+
from ..pos import *
|
7
7
|
|
8
8
|
|
9
9
|
def clock40hz(bp: Blueprint, bit_length: int, pos: Pos | Sequence = (0, 0, 0)):
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import
|
3
|
+
from ..utils import connect
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
6
|
+
from ..pos import *
|
7
7
|
|
8
8
|
|
9
9
|
def comparator(bp: Blueprint,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
6
|
+
from ..pos import *
|
7
7
|
|
8
8
|
|
9
9
|
def counter(bp: Blueprint,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
6
|
+
from ..pos import *
|
7
7
|
|
8
8
|
|
9
9
|
def decoder(bp: Blueprint, num_address: int, pos: Pos | Sequence = (0, 0, 0),
|
@@ -1,11 +1,11 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import array, ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
6
|
from ..parts.sensor import Sensor5
|
7
7
|
from ..parts.timer import Timer
|
8
|
-
from ..pos import
|
8
|
+
from ..pos import *
|
9
9
|
|
10
10
|
|
11
11
|
def distance_sensor(bp: Blueprint,
|
@@ -1,10 +1,10 @@
|
|
1
1
|
from itertools import cycle
|
2
2
|
from typing import Sequence
|
3
3
|
from numpy import ndarray
|
4
|
-
from ..utils import get_bits_required,
|
4
|
+
from ..utils import get_bits_required, connect
|
5
5
|
from ..blueprint import Blueprint
|
6
6
|
from ..parts.logicgate import LogicGate
|
7
|
-
from ..pos import
|
7
|
+
from ..pos import *
|
8
8
|
from ..prebuilds.decoder import decoder
|
9
9
|
|
10
10
|
|
@@ -1,9 +1,8 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import check_pos
|
4
3
|
from ..blueprint import Blueprint
|
5
4
|
from ..parts.logicgate import LogicGate
|
6
|
-
from ..pos import
|
5
|
+
from ..pos import *
|
7
6
|
from ..prebuilds.counter import counter, counter_decrement
|
8
7
|
|
9
8
|
|
@@ -2,12 +2,12 @@ from itertools import batched, cycle
|
|
2
2
|
from math import ceil
|
3
3
|
from typing import Sequence
|
4
4
|
from numpy import ndarray
|
5
|
-
from ..utils import get_bits_required,
|
5
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
6
6
|
from ..blueprint import Blueprint
|
7
7
|
from ..parts.logicgate import LogicGate
|
8
8
|
from ..prebuilds.decoder import decoder
|
9
9
|
from ..parts.timer import Timer
|
10
|
-
from ..pos import
|
10
|
+
from ..pos import *
|
11
11
|
|
12
12
|
|
13
13
|
def rom(
|
@@ -1,14 +1,14 @@
|
|
1
1
|
from itertools import cycle
|
2
2
|
from typing import Sequence
|
3
3
|
from numpy import array, clip, ndarray
|
4
|
-
from ..utils import get_bits_required,
|
4
|
+
from ..utils import get_bits_required, connect, num_to_bit_list
|
5
5
|
from ..bases.parts.baseinteractablepart import BaseInteractablePart
|
6
6
|
from ..bases.parts.baselogicpart import BaseLogicPart
|
7
7
|
from ..blueprint import Blueprint
|
8
8
|
from ..constants import TICKS_PER_SECOND
|
9
9
|
from ..parts.logicgate import LogicGate
|
10
10
|
from ..parts.timer import Timer
|
11
|
-
from ..pos import
|
11
|
+
from ..pos import *
|
12
12
|
from ..prebuilds.clock40hz import clock40hz
|
13
13
|
from ..prebuilds.counter import counter
|
14
14
|
from ..prebuilds.decoder import decoder
|
@@ -1,10 +1,10 @@
|
|
1
1
|
from typing import Sequence
|
2
2
|
from numpy import ndarray
|
3
|
-
from ..utils import get_bits_required,
|
3
|
+
from ..utils import get_bits_required, connect
|
4
4
|
from ..blueprint import Blueprint
|
5
5
|
from ..parts.logicgate import LogicGate
|
6
6
|
from ..parts.timer import Timer
|
7
|
-
from ..pos import
|
7
|
+
from ..pos import *
|
8
8
|
from ..prebuilds.clock40hz import clock40hz
|
9
9
|
from ..prebuilds.decoder import decoder
|
10
10
|
from ..prebuilds.ram import ram
|
sm_blueprint_lib/utils.py
CHANGED
@@ -10,7 +10,6 @@ from .blueprint import Blueprint
|
|
10
10
|
from .parts.barrierblock import BarrierBlock
|
11
11
|
from .parts.logicgate import LogicGate
|
12
12
|
from .parts.timer import Timer
|
13
|
-
from .pos import Pos
|
14
13
|
|
15
14
|
|
16
15
|
def load_blueprint(path: str):
|
@@ -116,20 +115,6 @@ def connect(_from, _to, *, parallel=True):
|
|
116
115
|
connect(_from, subto, parallel=parallel)
|
117
116
|
|
118
117
|
|
119
|
-
def check_pos(pos: Sequence) -> Pos:
|
120
|
-
"""Converts a Sequence into a Pos class if it wasn't already.
|
121
|
-
|
122
|
-
Args:
|
123
|
-
pos (Sequence): The Sequence to be converted.
|
124
|
-
|
125
|
-
Returns:
|
126
|
-
Pos: The converted Pos.
|
127
|
-
"""
|
128
|
-
if not isinstance(pos, Pos):
|
129
|
-
pos = Pos(*list(pos))
|
130
|
-
return pos
|
131
|
-
|
132
|
-
|
133
118
|
def get_bits_required(number: int | float):
|
134
119
|
"""Calculates how many bits are required to store this number.
|
135
120
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: sm_blueprint_lib
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.11
|
4
4
|
Summary: Scrap Mechanic Library for Blueprint manipulation.
|
5
5
|
Project-URL: Homepage, https://github.com/MauriceTZ/sm_blueprint_lib
|
6
6
|
Project-URL: Issues, https://github.com/MauriceTZ/sm_blueprint_lib/issues
|
@@ -0,0 +1,50 @@
|
|
1
|
+
sm_blueprint_lib/__init__.py,sha256=tKJFVT4WCnexRUoVCgG59mT5FSK_eb6WjX6fDs3S09c,207
|
2
|
+
sm_blueprint_lib/blueprint.py,sha256=gdupv6pNygwmoOHpZW8J16kZ3N26rdLkAc7Xq48QbvI,1261
|
3
|
+
sm_blueprint_lib/body.py,sha256=sjnS0e1V0bZEhODA6XOxPH2oCt3xrFLQZ47PGhKjD_w,365
|
4
|
+
sm_blueprint_lib/bounds.py,sha256=fH-i8PdlZVg8qlEd3FmIf5mbx4RKhdBOFRAe5cSWWiI,183
|
5
|
+
sm_blueprint_lib/constants.py,sha256=esKPtnHBUjyMvpKhpH-VC8cCvCT_Qm0U409MrzDqYYg,1243
|
6
|
+
sm_blueprint_lib/id.py,sha256=5sBHC8qZJnCaizSBs4KGS1dnZHOSdoq5wkuIpuYNRnw,71
|
7
|
+
sm_blueprint_lib/pos.py,sha256=5JhV4jyHZOnolo0Ecj107auLIXXnFqL7uCzPDyikI64,845
|
8
|
+
sm_blueprint_lib/utils.py,sha256=KCU9CvTYM5TN7c9ks-8scsHXr-zcwcuXDuO7ESHX4E4,4801
|
9
|
+
sm_blueprint_lib/bases/controllers/basecontroller.py,sha256=VFS5J7kGQ8vfWBFjiTPVfXXjyMwJ1VqA3mYuh7Z_8ak,624
|
10
|
+
sm_blueprint_lib/bases/controllers/baselogiccontroller.py,sha256=lDoDt9NKFu01CqyJE09_bq9oDeYK7T-fERO54kd-sFA,290
|
11
|
+
sm_blueprint_lib/bases/controllers/logicgatecontroller.py,sha256=wzw8kdt65Zg6ucNNy47V3-okYod_ea2NH8erfjRu7uw,223
|
12
|
+
sm_blueprint_lib/bases/controllers/sensorcontroller.py,sha256=Do8TJbnm7EhAMqGPprO9lTxAuNQMOFsSo-FslZZWnqk,710
|
13
|
+
sm_blueprint_lib/bases/controllers/timercontroller.py,sha256=GcGzSicm0oGMP3gsuOA5t6PqEhRAsUVHWaCjhClbfMI,229
|
14
|
+
sm_blueprint_lib/bases/joints/basejoint.py,sha256=C4IkY7yzGkEomVCf-g2mKqioqAAV5jHaSdlKsXdKnmU,628
|
15
|
+
sm_blueprint_lib/bases/joints/basejointcontroller.py,sha256=a3w_VPVp9pZuYdeaY8-fHxGYZdJhR1enCULS2SBxJ9o,133
|
16
|
+
sm_blueprint_lib/bases/joints/pistonjoint.py,sha256=2Avstib8kHuFjv2uFI5gkWsn-lWv7Lk4g1jd-pF2sgY,348
|
17
|
+
sm_blueprint_lib/bases/joints/pistonjointcontroller.py,sha256=NqffDkRzcPrqZXDDPjVFls0d1vAj6pFxJhbqxLx83f4,198
|
18
|
+
sm_blueprint_lib/bases/joints/suspensionjoint.py,sha256=w3ChZvaB75y2cnfdV24ib3hcD49RgJHJIcTUIMGN7rw,374
|
19
|
+
sm_blueprint_lib/bases/joints/suspensionjointcontroller.py,sha256=0bS6s6rjFivz83AYfFeiBybjULHVrF-7kknoP7SJUR0,194
|
20
|
+
sm_blueprint_lib/bases/parts/baseboundablepart.py,sha256=jNx_btmkCTksT6FcpHQxEVJXzN1a3DwwHS-2GdTy2CE,744
|
21
|
+
sm_blueprint_lib/bases/parts/baseinteractablepart.py,sha256=VXINrObIr6Y2tFIOI59cB_-625rPwtKZdGDmaa3EgQ8,574
|
22
|
+
sm_blueprint_lib/bases/parts/baselogicpart.py,sha256=al9nLCg8YiLKWd_c_ZQmq9f6sazjF6RNbuGGbYROOps,498
|
23
|
+
sm_blueprint_lib/bases/parts/basepart.py,sha256=R_ZbW6MURsxH-UT-Z9DboGiBCRIWeJuBwWjleKUdBmg,1330
|
24
|
+
sm_blueprint_lib/parts/__init__.py,sha256=KviKNh2cwQz39xX-tqk73t4C1RqS9eVrE3lwpch2MEc,220
|
25
|
+
sm_blueprint_lib/parts/barrierblock.py,sha256=GPI8ArKKvzO6wnHfBfgmU4Ezcrw9SmtKR0p4mWczYiw,267
|
26
|
+
sm_blueprint_lib/parts/bearing.py,sha256=g54yQEOLGqlFIFx_MN2RhMe9QymottLsYjMU9o2A0xc,233
|
27
|
+
sm_blueprint_lib/parts/button.py,sha256=CtAFyjqXndJq3eNWMRyAC-tVALKVaFVQfDbipILtNnw,263
|
28
|
+
sm_blueprint_lib/parts/logicgate.py,sha256=In7-d-lCx1zJIT-7S0Mh7s32lj7xZ6wxObJMnKJKQQ4,960
|
29
|
+
sm_blueprint_lib/parts/piston.py,sha256=spKPDZ5n1qMK0NhDw1QKlfBWjYxjFwZCUQkiHXy1_Qo,239
|
30
|
+
sm_blueprint_lib/parts/sensor.py,sha256=ZJY5xo0NB6wAwgzS7EO-xgsukXYbwV7ptbGOqLfeBKQ,1008
|
31
|
+
sm_blueprint_lib/parts/suspension.py,sha256=GneMZcv4QCVbBOOpp400xffmbaHaWrCbOBvAoahv8cg,404
|
32
|
+
sm_blueprint_lib/parts/switch.py,sha256=VkPfvux1TeLTZawmYEHMLGnXxk-lqgB6qb2hwpICjms,242
|
33
|
+
sm_blueprint_lib/parts/timer.py,sha256=gw9XaWvP2yW3egT72BGowMu-CZFUY-Hke-Dwg0lsxjM,806
|
34
|
+
sm_blueprint_lib/prebuilds/__init__.py,sha256=iPrsPMiuoluIDvdLGuQmEJ-I11D5qk563ANKr3md1GM,337
|
35
|
+
sm_blueprint_lib/prebuilds/adder.py,sha256=qO1ulOBkXwZ7egJu1dmvvPDsD_DlIJP59LfwlkYbpTI,1737
|
36
|
+
sm_blueprint_lib/prebuilds/barrel_shifter.py,sha256=i2Yv5E7-saafb3GxGgIMFSDuKSiTdAykBBRP4Zb2hKE,3543
|
37
|
+
sm_blueprint_lib/prebuilds/clock40hz.py,sha256=PrAxTZHX-TiMs8BfgotPoU_0RFVMhi9SiD4cw6HorQ4,831
|
38
|
+
sm_blueprint_lib/prebuilds/comparator.py,sha256=Fp5xOqJVTz-yb7M0cczMoyOPQc1TjiSaROvSuKxrffU,2192
|
39
|
+
sm_blueprint_lib/prebuilds/counter.py,sha256=d2z9_2zeGmpAQR0V74mZnNVLtjg-FI8UGWvQM7oObXE,2535
|
40
|
+
sm_blueprint_lib/prebuilds/decoder.py,sha256=YKQVoWsrm0vF3z6piiI2FWYm-S09_WoNW2-3mJR5oaU,2064
|
41
|
+
sm_blueprint_lib/prebuilds/distance_sensor.py,sha256=8g3lZu391Kh8dpKG4Y8Tm2O6mWdwA_1Gssftxw-vDC4,1724
|
42
|
+
sm_blueprint_lib/prebuilds/ram.py,sha256=9F9sWZ-BP8F3414dD_z6WD4k073_NflH6yYoKVSu6Cc,4199
|
43
|
+
sm_blueprint_lib/prebuilds/register.py,sha256=BMU5ZG92opP4eAklI0qV4B_3CdkpI8mTv3IhCS4fyrU,2642
|
44
|
+
sm_blueprint_lib/prebuilds/rom.py,sha256=ed5WOiwt5n5A_RlLsrc9sfOmlu_tzDp-N4R6jslRZoM,3687
|
45
|
+
sm_blueprint_lib/prebuilds/timer_ram_cached.py,sha256=RSgoWsT1yogplwbOPx6qvA5eEgHpAKKwO7AgJPaUavo,19044
|
46
|
+
sm_blueprint_lib/prebuilds/timer_ram_multiclient.py,sha256=D_yuI09l0Gm5Ye1xKFnQMIrPoV4BzDBkRTVR7zSbWZY,4187
|
47
|
+
sm_blueprint_lib-0.0.11.dist-info/METADATA,sha256=WWym1Hiix4LeONmobSBWcUfsrBFfbhW0PgoD_G-ECr0,3379
|
48
|
+
sm_blueprint_lib-0.0.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
49
|
+
sm_blueprint_lib-0.0.11.dist-info/licenses/LICENSE,sha256=DWhaodryTSEv07KdWbanCMaEujOXYxnj-IEhmgTkOq0,1084
|
50
|
+
sm_blueprint_lib-0.0.11.dist-info/RECORD,,
|
@@ -1,41 +0,0 @@
|
|
1
|
-
sm_blueprint_lib/__init__.py,sha256=yTdxFiDVUYCQoW_vakHBbtoQQfHhYkyGlziEO_BIRWE,215
|
2
|
-
sm_blueprint_lib/blueprint.py,sha256=fmdB4XKXF-f-iSoq5ckcLdQAX90ftkfvDuOSzHTB_44,1080
|
3
|
-
sm_blueprint_lib/body.py,sha256=sjnS0e1V0bZEhODA6XOxPH2oCt3xrFLQZ47PGhKjD_w,365
|
4
|
-
sm_blueprint_lib/bounds.py,sha256=fH-i8PdlZVg8qlEd3FmIf5mbx4RKhdBOFRAe5cSWWiI,183
|
5
|
-
sm_blueprint_lib/constants.py,sha256=iUmfegOo7cFtn8qIRp4JDw8aXJTT53I7gkcFu9h3oMQ,978
|
6
|
-
sm_blueprint_lib/id.py,sha256=5sBHC8qZJnCaizSBs4KGS1dnZHOSdoq5wkuIpuYNRnw,71
|
7
|
-
sm_blueprint_lib/pos.py,sha256=W0yaIg_nYgRqFwSkHlpd7Tfr69XSVwjTY1DfICHXoDo,411
|
8
|
-
sm_blueprint_lib/utils.py,sha256=LzsOZfzfpeAgFQczApqtHm3iZ25N9HUWx2Vus95dUqM,5139
|
9
|
-
sm_blueprint_lib/bases/controllers/basecontroller.py,sha256=VFS5J7kGQ8vfWBFjiTPVfXXjyMwJ1VqA3mYuh7Z_8ak,624
|
10
|
-
sm_blueprint_lib/bases/controllers/baselogiccontroller.py,sha256=lDoDt9NKFu01CqyJE09_bq9oDeYK7T-fERO54kd-sFA,290
|
11
|
-
sm_blueprint_lib/bases/controllers/logicgatecontroller.py,sha256=wzw8kdt65Zg6ucNNy47V3-okYod_ea2NH8erfjRu7uw,223
|
12
|
-
sm_blueprint_lib/bases/controllers/sensorcontroller.py,sha256=Do8TJbnm7EhAMqGPprO9lTxAuNQMOFsSo-FslZZWnqk,710
|
13
|
-
sm_blueprint_lib/bases/controllers/timercontroller.py,sha256=GcGzSicm0oGMP3gsuOA5t6PqEhRAsUVHWaCjhClbfMI,229
|
14
|
-
sm_blueprint_lib/bases/parts/baseboundablepart.py,sha256=jNx_btmkCTksT6FcpHQxEVJXzN1a3DwwHS-2GdTy2CE,744
|
15
|
-
sm_blueprint_lib/bases/parts/baseinteractablepart.py,sha256=VXINrObIr6Y2tFIOI59cB_-625rPwtKZdGDmaa3EgQ8,574
|
16
|
-
sm_blueprint_lib/bases/parts/baselogicpart.py,sha256=al9nLCg8YiLKWd_c_ZQmq9f6sazjF6RNbuGGbYROOps,498
|
17
|
-
sm_blueprint_lib/bases/parts/basepart.py,sha256=hzJBcB4uol65THzEZEGq4d2N9SbK1S4XiMghEuB6cuc,1126
|
18
|
-
sm_blueprint_lib/parts/__init__.py,sha256=Ij9tismamOFKYyAI-RxcCc97L78XJCxPb6Yto4SPSN8,146
|
19
|
-
sm_blueprint_lib/parts/barrierblock.py,sha256=GPI8ArKKvzO6wnHfBfgmU4Ezcrw9SmtKR0p4mWczYiw,267
|
20
|
-
sm_blueprint_lib/parts/button.py,sha256=CtAFyjqXndJq3eNWMRyAC-tVALKVaFVQfDbipILtNnw,263
|
21
|
-
sm_blueprint_lib/parts/logicgate.py,sha256=In7-d-lCx1zJIT-7S0Mh7s32lj7xZ6wxObJMnKJKQQ4,960
|
22
|
-
sm_blueprint_lib/parts/sensor.py,sha256=ZJY5xo0NB6wAwgzS7EO-xgsukXYbwV7ptbGOqLfeBKQ,1008
|
23
|
-
sm_blueprint_lib/parts/switch.py,sha256=VkPfvux1TeLTZawmYEHMLGnXxk-lqgB6qb2hwpICjms,242
|
24
|
-
sm_blueprint_lib/parts/timer.py,sha256=gw9XaWvP2yW3egT72BGowMu-CZFUY-Hke-Dwg0lsxjM,806
|
25
|
-
sm_blueprint_lib/prebuilds/__init__.py,sha256=iPrsPMiuoluIDvdLGuQmEJ-I11D5qk563ANKr3md1GM,337
|
26
|
-
sm_blueprint_lib/prebuilds/adder.py,sha256=Rq-006N_oD5ExIwQelgfrBKd7g8zFVxk4tj2lZEp82w,1750
|
27
|
-
sm_blueprint_lib/prebuilds/barrel_shifter.py,sha256=BOvsUg9o6YzVrclmGNzhSbt9eQL23GJHHVyNxkXbcaE,3556
|
28
|
-
sm_blueprint_lib/prebuilds/clock40hz.py,sha256=ygG8ieqpFzGMnuY5CBTs60liAYyAsBx-YIlb0gl3SXM,844
|
29
|
-
sm_blueprint_lib/prebuilds/comparator.py,sha256=qUvW1MisQMODLz0BdPp1dQbDQQjSYQ0ro6Rsy6ELDjQ,2205
|
30
|
-
sm_blueprint_lib/prebuilds/counter.py,sha256=-gQQWvFsNHrCe0SGwNuU3VWkKiXZNx0ippnaz5bfegw,2548
|
31
|
-
sm_blueprint_lib/prebuilds/decoder.py,sha256=cvs2JomBfSLc3mwkrHk3z-qRUAgVwrLjgIYV6tdmQ1g,2077
|
32
|
-
sm_blueprint_lib/prebuilds/distance_sensor.py,sha256=ooohDPSXtsPO2Hj5YL-kbeWJ_HgqGULqjR5WNOErIPo,1737
|
33
|
-
sm_blueprint_lib/prebuilds/ram.py,sha256=YVhswLxG06Ypp8M_PY9PIQdJSbM9I13ktKN6yIgdZ5U,4212
|
34
|
-
sm_blueprint_lib/prebuilds/register.py,sha256=MAiplmiA2L_VJaxCX2E8QuancnoqvyLY-vXuaP5bppw,2675
|
35
|
-
sm_blueprint_lib/prebuilds/rom.py,sha256=4dxAaNxRX60kDW17NKew-TJkPB7EMfHuK_zVIm6N-jo,3700
|
36
|
-
sm_blueprint_lib/prebuilds/timer_ram_cached.py,sha256=PG53hDKYS00fur5vazh7iOs2Gm4G_URJLX7d9xWJOe4,19057
|
37
|
-
sm_blueprint_lib/prebuilds/timer_ram_multiclient.py,sha256=NlQeJB6ilEGJDrIOfkFmPWd7afDR_0CUZH7RQpjyA4s,4200
|
38
|
-
sm_blueprint_lib-0.0.10.dist-info/METADATA,sha256=AaPpuZk3_Ltw5LOE2_AdjtJR8YFD5lVVbL-Nhg7VrHU,3379
|
39
|
-
sm_blueprint_lib-0.0.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
40
|
-
sm_blueprint_lib-0.0.10.dist-info/licenses/LICENSE,sha256=DWhaodryTSEv07KdWbanCMaEujOXYxnj-IEhmgTkOq0,1084
|
41
|
-
sm_blueprint_lib-0.0.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|