Skip to content

Commit d57d9f9

Browse files
Create Tet2.ruel
preliminary draft
1 parent 3588d42 commit d57d9f9

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed

Tet2.ruel

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
@NUTSHELL Tet2
2+
3+
Tet2 is the successor to Tetrazine, where the DECA blocker heads change behavior slightly.
4+
They "write" their values to NTAA data passing below, instead of toggling when NTAA heads pass.
5+
6+
States:
7+
8+
0: {Background} background
9+
1: {StrongHead} strong head
10+
2: {StrongTail} strong tail
11+
3: {StrongWire} strong wire
12+
4: {WeakHead} weak head
13+
5: {WeakTail} weak tail
14+
6: {WeakWire} weak wire
15+
7: {NTAAHead1} NTAA head 1
16+
8: {NTAAHead0} NTAA head 0
17+
9: {NTAATail} NTAA tail
18+
10: {NTAAWire} NTAA wire
19+
11: {DECA1} DECA blocker head 1
20+
12: {DECA0} DECA blocker head 0
21+
22+
23+
@TABLE
24+
neighborhood: Moore
25+
anyNTAAHead = (NTAAHead0, NTAAHead1)
26+
anyWWHead = (StrongHead, WeakHead)
27+
WWTail = (WeakTail, StrongTail)
28+
anyWW = (anyWWHead, WeakWire, StrongWire)
29+
anyNTAA = (anyNTAAHead, NTAATail, NTAAWire)
30+
31+
# --------------DECA---------------
32+
33+
symmetries: rotate4reflect
34+
# blocked by adjacent DECA head1
35+
(WeakWire, StrongWire), N Background, E (WeakWire, StrongWire), S DECA1, W (anyWWHead, anyNTAAHead); [0]
36+
37+
# toggle when lone WW (stronghead/strongtail/weakhead) next to
38+
(DECA0, DECA1), NW --anyWW, N (anyWWHead, StrongTail), NE --anyWW; [0: (DECA1, DECA0)]
39+
40+
# --------------NTAA--------------
41+
# 0: blank
42+
# 1: wire {w}
43+
# 2: wire 0 {h0}
44+
# 3: wire 1 {h1}
45+
# 4: tail {t}
46+
47+
# h = (h0, h1)
48+
# ht = (h, t)
49+
# wht = (w, ht)
50+
# wt = (w, t)
51+
52+
symmetries: nutshell.AlternatingPermute
53+
# NEVER put a head where there would be an adjacent tail
54+
# w, t, any ~ 3; w
55+
NTAAWire, NTAATail, any ~ 4, any ~ 3; NTAAWire
56+
57+
symmetries: rotate4reflect
58+
# Split at T
59+
# w, w, h, w, --wht; [2]
60+
NTAAWire, N NTAAWire, E anyNTAAHead, S NTAAWire, W --anyNTAA; [E]
61+
62+
symmetries: nutshell.AlternatingPermute
63+
# Signals wait at intersections
64+
# w, w ~ 2, any ~ 2; w
65+
NTAAWire, NTAAWire ~ 2, any ~ 4, any ~ 2; NTAAWire
66+
67+
# Sum=1 signal combination
68+
# w, h1, h1, any ~ 2; h0
69+
NTAAWire, NTAAHead1 ~ 2, any ~ 4, any ~ 2; NTAAHead0
70+
71+
# w, h, h0, --h1 ~ 2; [1]
72+
NTAAWire, anyNTAAHead, any ~ 2, NTAAHead0, any ~ 2, --NTAAHead1 ~ 2; [1]
73+
74+
# DECA interjection: DECA0/1 adjacent writes type
75+
symmeries: rotate4reflect
76+
NTAAWire, N DECA0, E anyNTAAHead, W NTAAWire, S Background; NTAAHead1
77+
NTAAWire, N DECA1, E anyNTAAHead, W NTAAWire, S Background; NTAAHead0
78+
79+
symmetries: nutshell.AlternatingPermute
80+
# Signals
81+
# w, h, --h ~ 3; [1]
82+
NTAAWire, anyNTAAHead, any ~ 2, --anyNTAAHead ~ 3, any ~ 2; [1]
83+
# h, --w ~ 4; t
84+
anyNTAAHead, --NTAAWire ~ 4, any ~ 4; NTAATail
85+
# t, --h ~ 4; w
86+
NTAATail, --anyNTAAHead ~ 4, any ~ 4; NTAAWire
87+
88+
# -----------------Wireworld++-----------------
89+
90+
symmetries: permute
91+
# prevent backfiring when transitioning into NTAA wire
92+
(StrongTail, WeakTail), NTAAHead1 ~ 1, any ~ 7; [0]
93+
# wireworld heads go immediately to tail
94+
(StrongHead, StrongTail), any; [0: (StrongTail, StrongWire)]
95+
(WeakHead, WeakTail), any; [0: (WeakTail, WeakWire)]
96+
# wireworld++ transitions
97+
StrongWire, <12 / (StrongHead, NTAAHead1) / any - (StrongHead, NTAAHead1)>; StrongHead
98+
StrongWire, <2 / (WeakHead, NTAAHead1) / any - (WeakHead, NTAAHead1)>; StrongHead
99+
WeakWire, <12 / (WeakHead, NTAAHead1) / any - (WeakHead, NTAAHead1)>; WeakHead
100+
WeakWire, <1 / (StrongHead, NTAAHead1) / any - (StrongHead, NTAAHead1)>; WeakHead
101+
102+
# ---------------some crossover------------
103+
104+
# activate when Wireworld++heads
105+
symmetries: permute
106+
NTAAWire, anyWWHead ~ 2, any; NTAAHead1
107+
NTAAWire, anyWWhead ~ 1, any; NTAAHead0
108+
109+
@COLORS
110+
111+
000: Background
112+
0F0: StrongHead
113+
080: StrongTail
114+
050: StrongWire
115+
FF0: WeakHead
116+
880: WeakTail
117+
005: WeakWire
118+
0FF: NTAAHead1
119+
088: NTAAHead0
120+
800: NTAATail
121+
500: NTAAWire
122+
555: DECA0
123+
FFF: DECA1

0 commit comments

Comments
 (0)