diff --git a/ptcs/data/gogatsusai2024/railway_ui_v4.json b/ptcs/data/gogatsusai2024/railway_ui_v4.json new file mode 100644 index 0000000..ce8c3aa --- /dev/null +++ b/ptcs/data/gogatsusai2024/railway_ui_v4.json @@ -0,0 +1,1208 @@ +{ + "platforms": { + "p00": { + "position": { + "x": 300, + "y": 280 + } + }, + "p01": { + "position": { + "x": 300, + "y": 440 + } + }, + "p02": { + "position": { + "x": 580, + "y": 200 + } + }, + "p03": { + "position": { + "x": 580, + "y": 520 + } + }, + "p04": { + "position": { + "x": 860, + "y": 200 + } + }, + "p05": { + "position": { + "x": 860, + "y": 440 + } + }, + "p06": { + "position": { + "x": 1140, + "y": 200 + } + }, + "p07": { + "position": { + "x": 1140, + "y": 520 + } + }, + "p08": { + "position": { + "x": 1420, + "y": 200 + } + }, + "p09": { + "position": { + "x": 1420, + "y": 360 + } + }, + "p10": { + "position": { + "x": 1420, + "y": 520 + } + }, + "p11": { + "position": { + "x": 1700, + "y": 280 + } + }, + "p12": { + "position": { + "x": 1700, + "y": 440 + } + } + }, + "junctions": { + "c16": { + "position": { + "x": 240, + "y": 240 + } + }, + "c17": { + "position": { + "x": 240, + "y": 320 + } + }, + "c18": { + "position": { + "x": 400, + "y": 320 + } + }, + "c19": { + "position": { + "x": 520, + "y": 320 + } + }, + "c20": { + "position": { + "x": 800, + "y": 160 + } + }, + "c21": { + "position": { + "x": 800, + "y": 240 + } + }, + "c22": { + "position": { + "x": 800, + "y": 320 + } + }, + "c23": { + "position": { + "x": 960, + "y": 160 + } + }, + "c24": { + "position": { + "x": 960, + "y": 240 + } + }, + "c25": { + "position": { + "x": 960, + "y": 320 + } + }, + "c26": { + "position": { + "x": 1080, + "y": 240 + } + }, + "c27": { + "position": { + "x": 1360, + "y": 240 + } + }, + "c28": { + "position": { + "x": 1360, + "y": 320 + } + }, + "c29": { + "position": { + "x": 1640, + "y": 240 + } + }, + "c30": { + "position": { + "x": 1640, + "y": 320 + } + }, + "c31": { + "position": { + "x": 1920, + "y": 240 + } + }, + "c32": { + "position": { + "x": 1840, + "y": 360 + } + }, + "c33": { + "position": { + "x": 1920, + "y": 480 + } + }, + "c34": { + "position": { + "x": 1760, + "y": 480 + } + }, + "c35": { + "position": { + "x": 1760, + "y": 400 + } + }, + "c36": { + "position": { + "x": 1640, + "y": 480 + } + }, + "c37": { + "position": { + "x": 1480, + "y": 480 + } + }, + "c38": { + "position": { + "x": 1480, + "y": 400 + } + }, + "c39": { + "position": { + "x": 1200, + "y": 480 + } + }, + "c40": { + "position": { + "x": 1200, + "y": 400 + } + }, + "c41": { + "position": { + "x": 1040, + "y": 400 + } + }, + "c42": { + "position": { + "x": 920, + "y": 400 + } + }, + "c43": { + "position": { + "x": 640, + "y": 480 + } + }, + "c44": { + "position": { + "x": 640, + "y": 400 + } + }, + "c45": { + "position": { + "x": 360, + "y": 480 + } + }, + "c46": { + "position": { + "x": 360, + "y": 400 + } + }, + "c48": { + "position": { + "x": 80, + "y": 480 + } + }, + "c49": { + "position": { + "x": 160, + "y": 360 + } + }, + "c50": { + "position": { + "x": 80, + "y": 240 + } + }, + "j00": { + "position": { + "x": 400, + "y": 240 + } + }, + "j01": { + "position": { + "x": 440, + "y": 320 + } + }, + "j02": { + "position": { + "x": 480, + "y": 320 + } + }, + "j03": { + "position": { + "x": 520, + "y": 240 + } + }, + "j04": { + "position": { + "x": 760, + "y": 320 + } + }, + "j05": { + "position": { + "x": 1000, + "y": 240 + } + }, + "j06": { + "position": { + "x": 1040, + "y": 240 + } + }, + "j07": { + "position": { + "x": 1080, + "y": 320 + } + }, + "j08": { + "position": { + "x": 1640, + "y": 400 + } + }, + "j09": { + "position": { + "x": 1600, + "y": 480 + } + }, + "j10": { + "position": { + "x": 1560, + "y": 480 + } + }, + "j11": { + "position": { + "x": 1520, + "y": 400 + } + }, + "j12": { + "position": { + "x": 1040, + "y": 480 + } + }, + "j15": { + "position": { + "x": 920, + "y": 480 + } + } + }, + "sections": { + "S00": { + "from": "c16", + "to": "j00", + "points": [ + { + "x": 240, + "y": 240 + }, + { + "x": 400, + "y": 240 + } + ], + "block_id": "b00" + }, + "S01": { + "from": "c17", + "to": "c18", + "points": [ + { + "x": 240, + "y": 320 + }, + { + "x": 400, + "y": 320 + } + ], + "block_id": "b01" + }, + "S02": { + "from": "j00", + "to": "j03", + "points": [ + { + "x": 400, + "y": 240 + }, + { + "x": 520, + "y": 240 + } + ], + "block_id": "b02" + }, + "S03": { + "from": "j00", + "to": "j01", + "points": [ + { + "x": 400, + "y": 240 + }, + { + "x": 440, + "y": 320 + } + ], + "block_id": "b02" + }, + "S04": { + "from": "c18", + "to": "j01", + "points": [ + { + "x": 400, + "y": 320 + }, + { + "x": 440, + "y": 320 + } + ], + "block_id": "b02" + }, + "S05": { + "from": "j01", + "to": "j02", + "points": [ + { + "x": 440, + "y": 320 + }, + { + "x": 480, + "y": 320 + } + ], + "block_id": "b02" + }, + "S06": { + "from": "j02", + "to": "j03", + "points": [ + { + "x": 480, + "y": 320 + }, + { + "x": 520, + "y": 240 + } + ], + "block_id": "b02" + }, + "S07": { + "from": "j02", + "to": "c19", + "points": [ + { + "x": 480, + "y": 320 + }, + { + "x": 520, + "y": 320 + } + ], + "block_id": "b02" + }, + "S08": { + "from": "j03", + "to": "c20", + "points": [ + { + "x": 520, + "y": 240 + }, + { + "x": 720, + "y": 240 + }, + { + "x": 760, + "y": 160 + }, + { + "x": 800, + "y": 160 + } + ], + "block_id": "b08" + }, + "S09": { + "from": "c19", + "to": "j04", + "points": [ + { + "x": 520, + "y": 320 + }, + { + "x": 760, + "y": 320 + } + ], + "block_id": "b09" + }, + "S10": { + "from": "j04", + "to": "c21", + "points": [ + { + "x": 760, + "y": 320 + }, + { + "x": 800, + "y": 240 + } + ], + "block_id": "b09" + }, + "S11": { + "from": "j04", + "to": "c22", + "points": [ + { + "x": 760, + "y": 320 + }, + { + "x": 800, + "y": 320 + } + ], + "block_id": "b09" + }, + "S12": { + "from": "c20", + "to": "c23", + "points": [ + { + "x": 800, + "y": 160 + }, + { + "x": 960, + "y": 160 + } + ], + "block_id": "b12" + }, + "S13": { + "from": "c21", + "to": "c24", + "points": [ + { + "x": 800, + "y": 240 + }, + { + "x": 960, + "y": 240 + } + ], + "block_id": "b13" + }, + "S14": { + "from": "c22", + "to": "c25", + "points": [ + { + "x": 800, + "y": 320 + }, + { + "x": 960, + "y": 320 + } + ], + "block_id": "b14" + }, + "S15": { + "from": "c23", + "to": "j05", + "points": [ + { + "x": 960, + "y": 160 + }, + { + "x": 1000, + "y": 240 + } + ], + "block_id": "b15" + }, + "S16": { + "from": "c24", + "to": "j05", + "points": [ + { + "x": 960, + "y": 240 + }, + { + "x": 1000, + "y": 240 + } + ], + "block_id": "b15" + }, + "S17": { + "from": "c25", + "to": "j07", + "points": [ + { + "x": 960, + "y": 320 + }, + { + "x": 1080, + "y": 320 + } + ], + "block_id": "b15" + }, + "S18": { + "from": "j05", + "to": "j06", + "points": [ + { + "x": 1000, + "y": 240 + }, + { + "x": 1040, + "y": 240 + } + ], + "block_id": "b15" + }, + "S19": { + "from": "j06", + "to": "c26", + "points": [ + { + "x": 1040, + "y": 240 + }, + { + "x": 1080, + "y": 240 + } + ], + "block_id": "b15" + }, + "S20": { + "from": "j06", + "to": "j07", + "points": [ + { + "x": 1040, + "y": 240 + }, + { + "x": 1080, + "y": 320 + } + ], + "block_id": "b15" + }, + "S21": { + "from": "c26", + "to": "c27", + "points": [ + { + "x": 1080, + "y": 240 + }, + { + "x": 1360, + "y": 240 + } + ], + "block_id": "b21" + }, + "S22": { + "from": "j07", + "to": "c28", + "points": [ + { + "x": 1080, + "y": 320 + }, + { + "x": 1360, + "y": 320 + } + ], + "block_id": "b22" + }, + "S23": { + "from": "c27", + "to": "c29", + "points": [ + { + "x": 1360, + "y": 240 + }, + { + "x": 1640, + "y": 240 + } + ], + "block_id": "b23" + }, + "S24": { + "from": "c28", + "to": "c30", + "points": [ + { + "x": 1360, + "y": 320 + }, + { + "x": 1640, + "y": 320 + } + ], + "block_id": "b24" + }, + "S25": { + "from": "c29", + "to": "c31", + "points": [ + { + "x": 1640, + "y": 240 + }, + { + "x": 1920, + "y": 240 + } + ], + "block_id": "b25" + }, + "S26": { + "from": "c30", + "to": "c32", + "points": [ + { + "x": 1640, + "y": 320 + }, + { + "x": 1840, + "y": 320 + }, + { + "x": 1840, + "y": 360 + } + ], + "block_id": "b26" + }, + "S27": { + "from": "c31", + "to": "c33", + "points": [ + { + "x": 1920, + "y": 240 + }, + { + "x": 1920, + "y": 480 + } + ], + "block_id": "b27" + }, + "S28": { + "from": "c32", + "to": "c35", + "points": [ + { + "x": 1840, + "y": 360 + }, + { + "x": 1840, + "y": 400 + }, + { + "x": 1760, + "y": 400 + } + ], + "block_id": "b28" + }, + "S29": { + "from": "c33", + "to": "c34", + "points": [ + { + "x": 1920, + "y": 480 + }, + { + "x": 1760, + "y": 480 + } + ], + "block_id": "b29" + }, + "S30": { + "from": "c34", + "to": "c36", + "points": [ + { + "x": 1760, + "y": 480 + }, + { + "x": 1640, + "y": 480 + } + ], + "block_id": "b30" + }, + "S31": { + "from": "c35", + "to": "j08", + "points": [ + { + "x": 1760, + "y": 400 + }, + { + "x": 1640, + "y": 400 + } + ], + "block_id": "b31" + }, + "S32": { + "from": "c36", + "to": "j09", + "points": [ + { + "x": 1640, + "y": 480 + }, + { + "x": 1600, + "y": 480 + } + ], + "block_id": "b32" + }, + "S33": { + "from": "j08", + "to": "j09", + "points": [ + { + "x": 1640, + "y": 400 + }, + { + "x": 1600, + "y": 480 + } + ], + "block_id": "b32" + }, + "S34": { + "from": "j08", + "to": "j11", + "points": [ + { + "x": 1640, + "y": 400 + }, + { + "x": 1520, + "y": 400 + } + ], + "block_id": "b32" + }, + "S35": { + "from": "j09", + "to": "j10", + "points": [ + { + "x": 1600, + "y": 480 + }, + { + "x": 1560, + "y": 480 + } + ], + "block_id": "b32" + }, + "S36": { + "from": "j10", + "to": "c37", + "points": [ + { + "x": 1560, + "y": 480 + }, + { + "x": 1480, + "y": 480 + } + ], + "block_id": "b32" + }, + "S37": { + "from": "j10", + "to": "j11", + "points": [ + { + "x": 1560, + "y": 480 + }, + { + "x": 1520, + "y": 400 + } + ], + "block_id": "b32" + }, + "S38": { + "from": "j11", + "to": "c38", + "points": [ + { + "x": 1520, + "y": 400 + }, + { + "x": 1480, + "y": 400 + } + ], + "block_id": "b32" + }, + "S39": { + "from": "c37", + "to": "c39", + "points": [ + { + "x": 1480, + "y": 480 + }, + { + "x": 1200, + "y": 480 + } + ], + "block_id": "b39" + }, + "S40": { + "from": "c38", + "to": "c40", + "points": [ + { + "x": 1480, + "y": 400 + }, + { + "x": 1200, + "y": 400 + } + ], + "block_id": "b40" + }, + "S41": { + "from": "c39", + "to": "j12", + "points": [ + { + "x": 1200, + "y": 480 + }, + { + "x": 1040, + "y": 480 + } + ], + "block_id": "b41" + }, + "S42": { + "from": "c40", + "to": "c41", + "points": [ + { + "x": 1200, + "y": 400 + }, + { + "x": 1040, + "y": 400 + } + ], + "block_id": "b42" + }, + "S43": { + "from": "j12", + "to": "j15", + "points": [ + { + "x": 1040, + "y": 480 + }, + { + "x": 920, + "y": 480 + } + ], + "block_id": "b43" + }, + "S45": { + "from": "c41", + "to": "c42", + "points": [ + { + "x": 1040, + "y": 400 + }, + { + "x": 920, + "y": 400 + } + ], + "block_id": "b43" + }, + "S49": { + "from": "j15", + "to": "c43", + "points": [ + { + "x": 920, + "y": 480 + }, + { + "x": 640, + "y": 480 + } + ], + "block_id": "b49" + }, + "S50": { + "from": "c42", + "to": "c44", + "points": [ + { + "x": 920, + "y": 400 + }, + { + "x": 640, + "y": 400 + } + ], + "block_id": "b50" + }, + "S51": { + "from": "c43", + "to": "c45", + "points": [ + { + "x": 640, + "y": 480 + }, + { + "x": 360, + "y": 480 + } + ], + "block_id": "b51" + }, + "S52": { + "from": "c44", + "to": "c46", + "points": [ + { + "x": 640, + "y": 400 + }, + { + "x": 360, + "y": 400 + } + ], + "block_id": "b52" + }, + "S53": { + "from": "c45", + "to": "c48", + "points": [ + { + "x": 360, + "y": 480 + }, + { + "x": 80, + "y": 480 + } + ], + "block_id": "b53" + }, + "S54": { + "from": "c46", + "to": "c49", + "points": [ + { + "x": 360, + "y": 400 + }, + { + "x": 160, + "y": 400 + }, + { + "x": 160, + "y": 360 + } + ], + "block_id": "b54" + }, + "S55": { + "from": "c48", + "to": "c50", + "points": [ + { + "x": 80, + "y": 480 + }, + { + "x": 80, + "y": 240 + } + ], + "block_id": "b55" + }, + "S56": { + "from": "c49", + "to": "c17", + "points": [ + { + "x": 160, + "y": 360 + }, + { + "x": 160, + "y": 320 + }, + { + "x": 240, + "y": 320 + } + ], + "block_id": "b56" + }, + "S57": { + "from": "c50", + "to": "c16", + "points": [ + { + "x": 80, + "y": 240 + }, + { + "x": 240, + "y": 240 + } + ], + "block_id": "b57" + } + } +} diff --git a/ptcs/docs/gogatsusai2024_v4.drawio b/ptcs/docs/gogatsusai2024_v4.drawio new file mode 100644 index 0000000..9a40ebc --- /dev/null +++ b/ptcs/docs/gogatsusai2024_v4.drawio @@ -0,0 +1,773 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ptcs/ptcs_control/gogatsusai2024_generated.py b/ptcs/ptcs_control/gogatsusai2024_generated.py index 3fa098e..c8a369c 100644 --- a/ptcs/ptcs_control/gogatsusai2024_generated.py +++ b/ptcs/ptcs_control/gogatsusai2024_generated.py @@ -54,8 +54,6 @@ def configure(control: BaseControl) -> None: j10 = Junction(id="j10") j11 = Junction(id="j11") j12 = Junction(id="j12") - j13 = Junction(id="j13") - j14 = Junction(id="j14") j15 = Junction(id="j15") control.add_junction(c16) @@ -105,8 +103,6 @@ def configure(control: BaseControl) -> None: control.add_junction(j10) control.add_junction(j11) control.add_junction(j12) - control.add_junction(j13) - control.add_junction(j14) control.add_junction(j15) S00 = Section(id="S00", length=80.0, block_id="b00") @@ -153,11 +149,7 @@ def configure(control: BaseControl) -> None: S41 = Section(id="S41", length=80.0, block_id="b41") S42 = Section(id="S42", length=80.0, block_id="b42") S43 = Section(id="S43", length=60.0, block_id="b43") - S44 = Section(id="S44", length=44.721359549995796, block_id="b43") - S45 = Section(id="S45", length=20.0, block_id="b43") - S46 = Section(id="S46", length=20.0, block_id="b43") - S47 = Section(id="S47", length=44.721359549995796, block_id="b43") - S48 = Section(id="S48", length=20.0, block_id="b43") + S45 = Section(id="S45", length=60.0, block_id="b43") S49 = Section(id="S49", length=140.0, block_id="b49") S50 = Section(id="S50", length=140.0, block_id="b50") S51 = Section(id="S51", length=140.0, block_id="b51") @@ -212,11 +204,7 @@ def configure(control: BaseControl) -> None: control.add_section(S41) control.add_section(S42) control.add_section(S43) - control.add_section(S44) control.add_section(S45) - control.add_section(S46) - control.add_section(S47) - control.add_section(S48) control.add_section(S49) control.add_section(S50) control.add_section(S51) @@ -316,21 +304,13 @@ def configure(control: BaseControl) -> None: control.connect(S40, A, c38, CONVERGING) control.connect(S40, B, c40, THROUGH) control.connect(S41, A, c39, CONVERGING) - control.connect(S41, B, j12, CONVERGING) + control.connect(S41, B, j12, THROUGH) control.connect(S42, A, c40, CONVERGING) control.connect(S42, B, c41, THROUGH) - control.connect(S43, A, j12, THROUGH) + control.connect(S43, A, j12, CONVERGING) control.connect(S43, B, j15, THROUGH) - control.connect(S44, A, j12, DIVERGING) - control.connect(S44, B, j13, DIVERGING) control.connect(S45, A, c41, CONVERGING) - control.connect(S45, B, j13, THROUGH) - control.connect(S46, A, j13, CONVERGING) - control.connect(S46, B, j14, CONVERGING) - control.connect(S47, A, j14, DIVERGING) - control.connect(S47, B, j15, DIVERGING) - control.connect(S48, A, j14, THROUGH) - control.connect(S48, B, c42, THROUGH) + control.connect(S45, B, c42, THROUGH) control.connect(S49, A, j15, CONVERGING) control.connect(S49, B, c43, THROUGH) control.connect(S50, A, c42, CONVERGING) diff --git a/ptcs/ptcs_server/gogatsusai2024.py b/ptcs/ptcs_server/gogatsusai2024.py index 4e0fc33..efa1b20 100644 --- a/ptcs/ptcs_server/gogatsusai2024.py +++ b/ptcs/ptcs_server/gogatsusai2024.py @@ -80,8 +80,6 @@ def create_bridge() -> Bridge2: bridge.add_point(PointClient("j4", ADDRESS_POINT2)) bridge.add_point(PointClient("j6", ADDRESS_POINT3)) bridge.add_point(PointClient("j8", ADDRESS_POINT4)) - bridge.add_point(PointClient("j10", ADDRESS_POINT5)) - bridge.add_point(PointClient("j12", ADDRESS_POINT6)) - bridge.add_point(PointClient("j14", ADDRESS_POINT7)) + bridge.add_point(PointClient("j10", ADDRESS_POINT7)) return bridge diff --git a/ptcs/ptcs_ui/src/config/ui.ts b/ptcs/ptcs_ui/src/config/ui.ts index 0eb0e6f..79c8e85 100644 --- a/ptcs/ptcs_ui/src/config/ui.ts +++ b/ptcs/ptcs_ui/src/config/ui.ts @@ -1,6 +1,6 @@ import { DEFAULT_THEME } from "@mantine/core"; import { RailwayUI } from "../types"; -import generated from "../../../data/gogatsusai2024/railway_ui_v3.json"; +import generated from "../../../data/gogatsusai2024/railway_ui_v4.json"; // 色の一覧: https://v5.mantine.dev/theming/colors/#default-colors