Skip to content

Commit 2254954

Browse files
committed
fix(remote-host-example): improve signal/image handling
1 parent 537b60f commit 2254954

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

‎public/remote-host-example.html‎

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ <h1>Remote control demo</h1>
7676
// Expose for Playwright (`page.evaluate(() => window.__client.…)`).
7777
window.__client = client;
7878

79-
let lastId = null;
79+
let lastSignalId = null;
80+
let lastImageId = null;
8081

8182
const buttons = {
8283
version: document.getElementById("btn-version"),
@@ -111,29 +112,35 @@ <h1>Remote control demo</h1>
111112
const N = 256;
112113
const xs = Array.from({ length: N }, (_, i) => i / N);
113114
const ys = xs.map((x) => Math.sin(2 * Math.PI * 5 * x));
114-
lastId = await wrap("add_signal", () => client.addSignal("Sine 5 Hz", xs, ys));
115+
lastSignalId = await wrap("add_signal", () => client.addSignal("Sine 5 Hz", xs, ys));
115116
};
116117
buttons.addImage.onclick = async () => {
117118
const N = 32;
118119
const data = Array.from({ length: N }, (_, i) =>
119120
Array.from({ length: N }, (_, j) => i + j),
120121
);
121-
lastId = await wrap("add_image", () => client.addImage("Gradient", data));
122+
lastImageId = await wrap("add_image", () => client.addImage("Gradient", data));
122123
};
123124
buttons.fft.onclick = () => {
124-
if (!lastId) return logLine("!", "no lastId — add a signal first");
125-
return wrap("calc(fft)", () => client.calc("fft", null, [lastId]));
125+
if (!lastSignalId) return logLine("!", "no signal yet — add a signal first");
126+
return wrap("calc(fft)", () => client.calc("fft", null, [lastSignalId]));
126127
};
127128
buttons.get.onclick = () => {
128-
if (!lastId) return logLine("!", "no lastId");
129-
return wrap("get_signal_xy", () => client.getSignalXY(lastId));
129+
if (!lastSignalId) return logLine("!", "no signal yet");
130+
return wrap("get_signal_xy", () => client.getSignalXY(lastSignalId));
130131
};
131132
buttons.remove.onclick = async () => {
132-
if (!lastId) return logLine("!", "no lastId");
133-
await wrap("delete_object", () => client.deleteObject(lastId));
134-
lastId = null;
133+
const id = lastSignalId ?? lastImageId;
134+
if (!id) return logLine("!", "no object to delete");
135+
await wrap("delete_object", () => client.deleteObject(id));
136+
if (id === lastSignalId) lastSignalId = null;
137+
else lastImageId = null;
138+
};
139+
buttons.reset.onclick = async () => {
140+
await wrap("reset_all", () => client.resetAll());
141+
lastSignalId = null;
142+
lastImageId = null;
135143
};
136-
buttons.reset.onclick = () => wrap("reset_all", () => client.resetAll());
137144

138145
(async () => {
139146
try {

0 commit comments

Comments
 (0)