Excellent news Cliff that you looked and attempted to fix my bug report
I think I see why you are having this much issues with this bug. Essentially every tile has 4 neighbours that each can be in 3 different states: in, no conveyor, out. That makes for 81 possible states of the tile you’re trying to figure out.
01 NW :NOT SW :NOT NE :NOT SE :NOT
02 NW :NOT SW :NOT NE :NOT SE : IN
03 NW :NOT SW :NOT NE :NOT SE :OUT
04 NW :NOT SW :NOT NE : IN SE :NOT
05 NW :NOT SW :NOT NE : IN SE : IN
06 NW :NOT SW :NOT NE : IN SE :OUT
07 NW :NOT SW :NOT NE :OUT SE :NOT
08 NW :NOT SW :NOT NE :OUT SE : IN
09 NW :NOT SW :NOT NE :OUT SE :OUT
10 NW :NOT SW : IN NE :NOT SE :NOT
11 NW :NOT SW : IN NE :NOT SE : IN
12 NW :NOT SW : IN NE :NOT SE :OUT
13 NW :NOT SW : IN NE : IN SE :NOT
14 NW :NOT SW : IN NE : IN SE : IN
15 NW :NOT SW : IN NE : IN SE :OUT
16 NW :NOT SW : IN NE :OUT SE :NOT
17 NW :NOT SW : IN NE :OUT SE : IN
18 NW :NOT SW : IN NE :OUT SE :OUT
19 NW :NOT SW :OUT NE :NOT SE :NOT
20 NW :NOT SW :OUT NE :NOT SE : IN
21 NW :NOT SW :OUT NE :NOT SE :OUT
22 NW :NOT SW :OUT NE : IN SE :NOT
23 NW :NOT SW :OUT NE : IN SE : IN
24 NW :NOT SW :OUT NE : IN SE :OUT
25 NW :NOT SW :OUT NE :OUT SE :NOT
26 NW :NOT SW :OUT NE :OUT SE : IN
27 NW :NOT SW :OUT NE :OUT SE :OUT
28 NW : IN SW :NOT NE :NOT SE :NOT
29 NW : IN SW :NOT NE :NOT SE : IN
30 NW : IN SW :NOT NE :NOT SE :OUT
31 NW : IN SW :NOT NE : IN SE :NOT
32 NW : IN SW :NOT NE : IN SE : IN
33 NW : IN SW :NOT NE : IN SE :OUT
34 NW : IN SW :NOT NE :OUT SE :NOT
35 NW : IN SW :NOT NE :OUT SE : IN
36 NW : IN SW :NOT NE :OUT SE :OUT
37 NW : IN SW : IN NE :NOT SE :NOT
38 NW : IN SW : IN NE :NOT SE : IN
39 NW : IN SW : IN NE :NOT SE :OUT
40 NW : IN SW : IN NE : IN SE :NOT
41 NW : IN SW : IN NE : IN SE : IN
42 NW : IN SW : IN NE : IN SE :OUT
43 NW : IN SW : IN NE :OUT SE :NOT
44 NW : IN SW : IN NE :OUT SE : IN
45 NW : IN SW : IN NE :OUT SE :OUT
46 NW : IN SW :OUT NE :NOT SE :NOT
47 NW : IN SW :OUT NE :NOT SE : IN
48 NW : IN SW :OUT NE :NOT SE :OUT
49 NW : IN SW :OUT NE : IN SE :NOT
50 NW : IN SW :OUT NE : IN SE : IN
51 NW : IN SW :OUT NE : IN SE :OUT
52 NW : IN SW :OUT NE :OUT SE :NOT
53 NW : IN SW :OUT NE :OUT SE : IN
54 NW : IN SW :OUT NE :OUT SE :OUT
55 NW :OUT SW :NOT NE :NOT SE :NOT
56 NW :OUT SW :NOT NE :NOT SE : IN
57 NW :OUT SW :NOT NE :NOT SE :OUT
58 NW :OUT SW :NOT NE : IN SE :NOT
59 NW :OUT SW :NOT NE : IN SE : IN
60 NW :OUT SW :NOT NE : IN SE :OUT
61 NW :OUT SW :NOT NE :OUT SE :NOT
62 NW :OUT SW :NOT NE :OUT SE : IN
63 NW :OUT SW :NOT NE :OUT SE :OUT
64 NW :OUT SW : IN NE :NOT SE :NOT
65 NW :OUT SW : IN NE :NOT SE : IN
66 NW :OUT SW : IN NE :NOT SE :OUT
67 NW :OUT SW : IN NE : IN SE :NOT
68 NW :OUT SW : IN NE : IN SE : IN
69 NW :OUT SW : IN NE : IN SE :OUT
70 NW :OUT SW : IN NE :OUT SE :NOT
71 NW :OUT SW : IN NE :OUT SE : IN
72 NW :OUT SW : IN NE :OUT SE :OUT
73 NW :OUT SW :OUT NE :NOT SE :NOT
74 NW :OUT SW :OUT NE :NOT SE : IN
75 NW :OUT SW :OUT NE :NOT SE :OUT
76 NW :OUT SW :OUT NE : IN SE :NOT
77 NW :OUT SW :OUT NE : IN SE : IN
78 NW :OUT SW :OUT NE : IN SE :OUT
79 NW :OUT SW :OUT NE :OUT SE :NOT
80 NW :OUT SW :OUT NE :OUT SE : IN
81 NW :OUT SW :OUT NE :OUT SE :OUT
each ‘final’ tile is dependent upon the previous one placed in the placed sequence
That sounds like you try to figure out what it should be on what it’s previous tile is and then decide the tile type on the surrounding tiles.
A problem like this I always try to break up in a single piece you can run automated tests on. Instead of trying to think of all possible states, make it abstract enough so you can reliably test out all permutations.
When adding conveyor belt, since a user is always entering (dragging) the tile from 1 of the 4 angles, you can eliminate the “none” from one of the inputs. That removes 1/3rd of the options.
01 USER : IN LEFT :NOT FWRD :NOT RGHT :NOT
02 USER : IN LEFT :NOT FWRD :NOT RGHT : IN
03 USER : IN LEFT :NOT FWRD :NOT RGHT :OUT
04 USER : IN LEFT :NOT FWRD : IN RGHT :NOT
05 USER : IN LEFT :NOT FWRD : IN RGHT : IN
06 USER : IN LEFT :NOT FWRD : IN RGHT :OUT
07 USER : IN LEFT :NOT FWRD :OUT RGHT :NOT
08 USER : IN LEFT :NOT FWRD :OUT RGHT : IN
09 USER : IN LEFT :NOT FWRD :OUT RGHT :OUT
10 USER : IN LEFT : IN FWRD :NOT RGHT :NOT
11 USER : IN LEFT : IN FWRD :NOT RGHT : IN
12 USER : IN LEFT : IN FWRD :NOT RGHT :OUT
13 USER : IN LEFT : IN FWRD : IN RGHT :NOT
14 USER : IN LEFT : IN FWRD : IN RGHT : IN
15 USER : IN LEFT : IN FWRD : IN RGHT :OUT
16 USER : IN LEFT : IN FWRD :OUT RGHT :NOT
17 USER : IN LEFT : IN FWRD :OUT RGHT : IN
18 USER : IN LEFT : IN FWRD :OUT RGHT :OUT
19 USER : IN LEFT :OUT FWRD :NOT RGHT :NOT
20 USER : IN LEFT :OUT FWRD :NOT RGHT : IN
21 USER : IN LEFT :OUT FWRD :NOT RGHT :OUT
22 USER : IN LEFT :OUT FWRD : IN RGHT :NOT
23 USER : IN LEFT :OUT FWRD : IN RGHT : IN
24 USER : IN LEFT :OUT FWRD : IN RGHT :OUT
25 USER : IN LEFT :OUT FWRD :OUT RGHT :NOT
26 USER : IN LEFT :OUT FWRD :OUT RGHT : IN
27 USER : IN LEFT :OUT FWRD :OUT RGHT :OUT
28 USER :OUT LEFT :NOT FWRD :NOT RGHT :NOT
29 USER :OUT LEFT :NOT FWRD :NOT RGHT : IN
30 USER :OUT LEFT :NOT FWRD :NOT RGHT :OUT
31 USER :OUT LEFT :NOT FWRD : IN RGHT :NOT
32 USER :OUT LEFT :NOT FWRD : IN RGHT : IN
33 USER :OUT LEFT :NOT FWRD : IN RGHT :OUT
34 USER :OUT LEFT :NOT FWRD :OUT RGHT :NOT
35 USER :OUT LEFT :NOT FWRD :OUT RGHT : IN
36 USER :OUT LEFT :NOT FWRD :OUT RGHT :OUT
37 USER :OUT LEFT : IN FWRD :NOT RGHT :NOT
38 USER :OUT LEFT : IN FWRD :NOT RGHT : IN
39 USER :OUT LEFT : IN FWRD :NOT RGHT :OUT
40 USER :OUT LEFT : IN FWRD : IN RGHT :NOT
41 USER :OUT LEFT : IN FWRD : IN RGHT : IN
42 USER :OUT LEFT : IN FWRD : IN RGHT :OUT
43 USER :OUT LEFT : IN FWRD :OUT RGHT :NOT
44 USER :OUT LEFT : IN FWRD :OUT RGHT : IN
45 USER :OUT LEFT : IN FWRD :OUT RGHT :OUT
46 USER :OUT LEFT :OUT FWRD :NOT RGHT :NOT
47 USER :OUT LEFT :OUT FWRD :NOT RGHT : IN
48 USER :OUT LEFT :OUT FWRD :NOT RGHT :OUT
49 USER :OUT LEFT :OUT FWRD : IN RGHT :NOT
50 USER :OUT LEFT :OUT FWRD : IN RGHT : IN
51 USER :OUT LEFT :OUT FWRD : IN RGHT :OUT
52 USER :OUT LEFT :OUT FWRD :OUT RGHT :NOT
53 USER :OUT LEFT :OUT FWRD :OUT RGHT : IN
54 USER :OUT LEFT :OUT FWRD :OUT RGHT :OUT
Take the 3 adjoining tiles, and sort them so that they are in the same order considering your origin tile (so if you drag from the south west in the tile and there is an outgoing conveyor on the north east with the other 2 empty, it should be the same result as coming from the south east with an outgoing conveyor on the north west).
From there on, you can create a decision tree or a matrix to find the correct type. There is a lot of rotational similarity so depending on your sprite layout, you might be able to cut out a lot of duplication (like with the T junction, where only a partial set of possibilities are considered).
Hopefully this will help you with your next attempt!