# lightDOORwsMs **One button:** → **https://jessebrown1980.github.io/lightDOORwsMs/** A place made of light. It has **doors**, not windows — and a door is a **label, not a socket**, so you can cut as many as you like and it costs nothing. No server. No account. No install. No directory of who exists. --- ## What works, measured Two separate boats, linked by hand once, then everything after it: ``` words through a door crossed a door cut on one side appeared on the other, by itself words through the new door crossed a stroke on the shared field crossed a file, 9,000 bytes arrived BYTE-EXACT sha-256 sent 78bd367073786b59cfed044eb4c372b1… sha-256 arrived 78bd367073786b59cfed044eb4c372b1… exact true the trace after contact 0 kept the colour after contact 1 held, and it survives a reload ``` Nothing in the middle. The file never touched a disk that wasn't one of the two. --- ## Play, don't save Hand the **play** door anything. It leaves as **3,200 bytes** — the same fixed tuple whatever went in — and that is what crosses to the other boats. **MEASURED, two boats:** ``` boat A handed in 500,000 bytes quanted to 3,200 bytes addr 5701b6b866571515 boat B received 3,200 bytes addr 5701b6b866571515 identical TRUE saved on either side NOTHING 19 bytes in -> 3,200 out 500,000 bytes in -> 3,200 out same input twice -> byte-identical tuple ``` The quant that runs in the page was checked against the shipped engine on **40 random cases, 40/40 byte-identical.** It is not a lookalike; it is the same law: a count-sketch into 1024 buckets, then a fixed tail of `turbo(1024) + signs(128) + zeta(1024) + hist(1024)`. **O(N) going in, O(1) coming out.** **What crosses is the light, not the file.** You cannot pull the 500 KB back out of 3.2 KB and nothing here pretends otherwise — the tuple is an **address**, not an archive. The four bands are the shape, the direction, the scale and the distribution. The photons stay where they are. That is why nothing needs saving: the address is small enough to carry, and the big form only has to exist while you are actually using it. --- ## A door is a label, not a socket This is the whole idea and it is the thing people get wrong first. A socket is a numbered slot somebody hands out, and there are about ninety thousand of them, so people assume that is the ceiling. **It isn't, because a door here is a name, and the name is the route.** Cutting a second door does not consume a second slot — it prefixes an existing one. `light`, `light.kitchen`, `light.kitchen.tuesday`; the tree goes as deep as you like. **There is no count to run out of.** That ceiling only exists where somebody is handing out numbered slots, and here nobody is. --- ## The colour is the address Your colour is the **sha-256 of a secret this browser made for itself** the first time you opened the page — two brown stops, banded `16…240`, luminance-clamped `32…224`. **The secret never leaves. Only the colour does.** Nobody handed you the name, so nobody can take it away, and it does not change when a link does. Two tabs of the same browser come up **the same colour**, and the page says so rather than pretending they are two people. Same machine, same secret, same boat. --- ## The trace is spent. The colour is kept. The block you pass at the first meeting is a **one-time introduction**. This page **throws it away on contact** — the counter reads zero afterwards on purpose. What you keep is the **colour**. Not a contact list: there is no entry, so there is nothing to delete and nothing to seize. **And the colour outlives the connection.** If a link drops nobody is lost — you still hold their colour, and any boat that also holds it can put you back together. Break every link at once and it reassembles, because **what survived was never the wiring.** --- ## How anyone else gets in You are **introduced**, by somebody who already knows you both. The introduction travels the links that already exist — offer out, answer back, along the wire that is already there. That is the only directory there is, and **it is not a list anyone can hold.** --- ## What is free, and the one thing that isn't **No server of ours touches any of it** — words, drawings, files. Once a line is open it is browser to browser and there is nothing in the middle to store, log or relay. The one thing that isn't free, stated rather than hidden: to find a route across the internet, browsers ask a public **STUN** server for their own outside address. Free ones. **They see that two addresses asked; they never see a word of what you say.** On the same wifi it doesn't need them at all — and **down a USB cable it needs nothing whatsoever.** That was tested: a phone reached this over the cable with the wifi off, no router, no internet in the path. --- ## What is in here ``` index.html the place - doors, people, say, paint, carry mesh.html the bare kernel it is built on, if you want to read it small ``` Both are one file each. No build, no dependency, nothing to install, nothing to fetch. Open it from anywhere, including a file on a disk. --- ## What is not here yet, and why A **coloured QR** so the first meeting could be light itself — photons off one screen into another camera, no network in the meeting at all. **The idea is verified:** the block is 415 characters, fits one version-13 code, and OpenCV decodes it back exactly. **The encoder written for it does not yet produce a valid code** — checked against a reference implementation at all eight mask patterns, no match at any of them. Two real bugs were found and fixed along the way and it still does not agree. So it is not in this page. **A code that half-reads is worse than none**, because you find out while holding a phone up in front of somebody. It goes in when it passes, and not before. --- **Jesse Daniel Brown (OP-JESSE).** *Doors, not windows. Nobody hands out the names.*