presetLoader = {
if (topologyPreset === "Star (Centralized)") {
mutable nodes = [
{id: "gateway", type: "gateway", x: 400, y: 150, label: "Gateway"},
{id: "s1", type: "sensor", x: 200, y: 300, label: "Sensor 1"},
{id: "s2", type: "sensor", x: 300, y: 350, label: "Sensor 2"},
{id: "s3", type: "sensor", x: 400, y: 370, label: "Sensor 3"},
{id: "s4", type: "sensor", x: 500, y: 350, label: "Sensor 4"},
{id: "s5", type: "sensor", x: 600, y: 300, label: "Sensor 5"}
];
mutable links = [
{source: "s1", target: "gateway"},
{source: "s2", target: "gateway"},
{source: "s3", target: "gateway"},
{source: "s4", target: "gateway"},
{source: "s5", target: "gateway"}
];
} else if (topologyPreset === "Mesh (Full)") {
mutable nodes = [
{id: "gw", type: "gateway", x: 400, y: 100, label: "Gateway"},
{id: "r1", type: "router", x: 250, y: 200, label: "Router 1"},
{id: "r2", type: "router", x: 550, y: 200, label: "Router 2"},
{id: "s1", type: "sensor", x: 150, y: 350, label: "Sensor 1"},
{id: "s2", type: "sensor", x: 350, y: 350, label: "Sensor 2"},
{id: "s3", type: "sensor", x: 450, y: 350, label: "Sensor 3"},
{id: "s4", type: "sensor", x: 650, y: 350, label: "Sensor 4"}
];
mutable links = [
{source: "r1", target: "gw"},
{source: "r2", target: "gw"},
{source: "r1", target: "r2"},
{source: "s1", target: "r1"},
{source: "s2", target: "r1"},
{source: "s2", target: "r2"},
{source: "s3", target: "r1"},
{source: "s3", target: "r2"},
{source: "s4", target: "r2"}
];
} else if (topologyPreset === "Tree (Hierarchical)") {
mutable nodes = [
{id: "gw", type: "gateway", x: 400, y: 50, label: "Gateway"},
{id: "r1", type: "router", x: 250, y: 150, label: "Router 1"},
{id: "r2", type: "router", x: 550, y: 150, label: "Router 2"},
{id: "r3", type: "router", x: 150, y: 250, label: "Router 3"},
{id: "r4", type: "router", x: 350, y: 250, label: "Router 4"},
{id: "s1", type: "sensor", x: 100, y: 350, label: "S1"},
{id: "s2", type: "sensor", x: 200, y: 350, label: "S2"},
{id: "s3", type: "sensor", x: 300, y: 350, label: "S3"},
{id: "s4", type: "sensor", x: 400, y: 350, label: "S4"},
{id: "s5", type: "sensor", x: 500, y: 350, label: "S5"},
{id: "s6", type: "sensor", x: 600, y: 350, label: "S6"}
];
mutable links = [
{source: "r1", target: "gw"},
{source: "r2", target: "gw"},
{source: "r3", target: "r1"},
{source: "r4", target: "r1"},
{source: "s1", target: "r3"},
{source: "s2", target: "r3"},
{source: "s3", target: "r4"},
{source: "s4", target: "r4"},
{source: "s5", target: "r2"},
{source: "s6", target: "r2"}
];
} else if (topologyPreset === "Ring") {
mutable nodes = [
{id: "gw", type: "gateway", x: 400, y: 100, label: "Gateway"},
{id: "r1", type: "router", x: 250, y: 180, label: "R1"},
{id: "r2", type: "router", x: 550, y: 180, label: "R2"},
{id: "r3", type: "router", x: 180, y: 320, label: "R3"},
{id: "r4", type: "router", x: 620, y: 320, label: "R4"},
{id: "r5", type: "router", x: 300, y: 400, label: "R5"},
{id: "r6", type: "router", x: 500, y: 400, label: "R6"}
];
mutable links = [
{source: "gw", target: "r1"},
{source: "r1", target: "r3"},
{source: "r3", target: "r5"},
{source: "r5", target: "r6"},
{source: "r6", target: "r4"},
{source: "r4", target: "r2"},
{source: "r2", target: "gw"}
];
} else if (topologyPreset === "Hybrid Star-Mesh") {
mutable nodes = [
{id: "cloud", type: "gateway", x: 400, y: 50, label: "Cloud"},
{id: "gw1", type: "gateway", x: 200, y: 150, label: "GW 1"},
{id: "gw2", type: "gateway", x: 600, y: 150, label: "GW 2"},
{id: "r1", type: "router", x: 150, y: 280, label: "R1"},
{id: "r2", type: "router", x: 300, y: 280, label: "R2"},
{id: "r3", type: "router", x: 500, y: 280, label: "R3"},
{id: "r4", type: "router", x: 650, y: 280, label: "R4"},
{id: "s1", type: "sensor", x: 100, y: 380, label: "S1"},
{id: "s2", type: "sensor", x: 200, y: 380, label: "S2"},
{id: "s3", type: "sensor", x: 350, y: 380, label: "S3"},
{id: "s4", type: "sensor", x: 450, y: 380, label: "S4"},
{id: "s5", type: "sensor", x: 600, y: 380, label: "S5"},
{id: "s6", type: "sensor", x: 700, y: 380, label: "S6"}
];
mutable links = [
{source: "gw1", target: "cloud"},
{source: "gw2", target: "cloud"},
{source: "gw1", target: "gw2"},
{source: "r1", target: "gw1"},
{source: "r2", target: "gw1"},
{source: "r1", target: "r2"},
{source: "r3", target: "gw2"},
{source: "r4", target: "gw2"},
{source: "r3", target: "r4"},
{source: "r2", target: "r3"},
{source: "s1", target: "r1"},
{source: "s2", target: "r1"},
{source: "s2", target: "r2"},
{source: "s3", target: "r2"},
{source: "s4", target: "r3"},
{source: "s5", target: "r3"},
{source: "s5", target: "r4"},
{source: "s6", target: "r4"}
];
}
return topologyPreset;
}
presetLoader