Nearest floor
The SDK can ask control which region is closest, then point the client at that node. The public demo does this. Your app does it if you ship more than one world.
createInterludeClient takes an address and a node URL. It does not pick them. The public demo has eight worlds, so the tab asks control which region is nearest, then uses that pair. That is the smart router.
import { createInterludeClient, nearestFloor } from "@interludelayer-sdk/sdk";
const floor = await nearestFloor();
export const interlude = createInterludeClient({
app: floor.app,
abi: demoAbi,
node: floor.node,
base,
});nearestFloor() calls https://control.interludelayer.xyz/near and looks up the eight public demo worlds. Pass your own map if you shipped more than one contract, one per region, the same way.
Your single shipped app has one node. Sit it next to the people who tap when you run ship. There is nothing to look up after that.
Without a geo header, /near returns null and the helper falls back to Paris. The demo tab does the same.
