The Council's decisions
The decision record of the Third Eye Kit idea funnel. Four panels wrote 160 ideas. A synthesis merged them into 40 finalists. Four people decided. This is what they decided, with the evidence, the disagreements, and who does what next.
House rules kept: short plain sentences, no long dashes, "blind and low-vision people" or "a blind or visually impaired person", every number has a source. Panel ideas are cited as P1-12 (panel 1, idea 4 would be P1-4). The panels are the lived-experience and mobility panel (P1), the body and perception science panel (P2), the hardware, firmware and systems panel (P3), and the experience, learning and story panel (P4).
Who sat
- The Chair. An orientation and mobility master instructor with thirty years of teaching blind adults to travel.
- The haptics scientist. A somatosensory and haptics researcher who measures what skin feels.
- The safety engineer. A safety and systems engineer who has shipped a Class I medical device.
- The lived-experience lead. A blind or visually impaired person from a Global South city who uses a mobility aid every day and has worn the prototypes.
The Chair holds the pen. Where a seat disagreed, the record says so in that seat's own words, and says how it was settled.
How the funnel ran
- Stage 1. Four panels, each channeling fifteen to twenty voices, wrote forty ideas each against the current design:
docs/full-body-haptic-map.md,docs/simulator-v2-spec.md,src/lib/sim/bodymap.tsandsrc/lib/seed.ts. 160 ideas, each with a rationale, the evidence or "needs testing", and its biggest risk. - Stage 2. A synthesis merged the 160 into 40 finalists, ranked by safety impact, strength of evidence, how many panels converged, cost to act now against cost to retrofit later, and fit with the founder's stated goals. It listed 26 corrections to the current design and copy and 10 questions only the founder can answer.
- Stage 3. This council. Four seats, twelve decisions at minimum, no lists of options. The founder's own words bind the council unless the evidence is overwhelming; where it is, the record says so plainly and leaves the final call to him.
The founder's words that bound us: give the natural move back to blind and low-vision people, walk freely now, run next; vibration across the whole body, placed by evidence; the wearer's phone as an optional camera, never in the safety loop; a game a sighted visitor plays in a dark world with about a quarter of the screen showing the body map, respectful; nothing called "not built", the build is "in development"; only true claims.
The decisions
1. Latency: two sensor modes, and one honest sentence
The forward laser grid runs 4x4 at 60 Hz for everything ahead, the down-tilted grid runs 8x8 at 15 Hz for the ground, and every public "72 ms" and "under 50 ms" becomes one modeled sentence until the bench measures the real number.
Evidence. World to skin is one sensor frame plus readout, compute, driver start, motor lag and motor rise. The VL53L8CX frames at up to 15 Hz in 8x8 (a 66 ms frame) and up to 60 Hz in 4x4 (a 17 ms frame) (UM3109, table 2). The trimmed readout takes 3 to 7 ms and compute under 1 ms (P3-14, P3-19). The DRV2605L starts in 0.7 ms (datasheet). The C10-100 motor takes 11 ms to start moving and 37 ms to reach full amplitude (datasheet). The sum is about 65 to 75 ms in 4x4 and about 115 to 125 ms in 8x8, worst case, to full amplitude (P3-19, P3-33). "Under 50 ms" is true only of the controller's own share, and the controller's share is under 5 ms. The spec's 72 ms omitted the motor entirely (P3 contradictions list, item 2). At the default walking pace of 1.4 m/s, 70 ms is about 10 cm of travel and 120 ms about 17 cm (arithmetic from the spec's pace).
Why 4x4 ahead is safe. Sixteen zones over a 45 degree cone (Pololu carrier page) give about 11 degrees per zone, which is enough for three lanes and a head-or-waist height class. The ground needs the 8x8 resolution to tell a curb from a bounce (P2-22, P3-35). The near zone needs the speed. Two grids, two modes, one job each (P3-15, P3-19).
The exact public sentence, everywhere the site says 72 ms:
About 70 ms from the world to your skin for a hazard ahead, about 120 ms for the ground, modeled from the parts' datasheets until the bench measures it.
Where a chip needs a short form: value "about 70 ms", label "WORLD TO SKIN, MODELED". Where the copy speaks about the controller: "The controller adds under 5 ms of its own." When the bench has measured it, the word "modeled" becomes "measured" and the numbers become the measured ones, in one place, from one config file (P3-33).
Dissent. None. The lived-experience lead asked that the number be stated in steps as well as milliseconds so a wearer can judge it; the sentence above is followed on the sensors page by "At walking pace that is about 10 cm and about 17 cm."
Action. Site: replace every 72 ms and under 50 ms line with the sentence above (the full list is in the corrections). Firmware: 4x4 at 60 Hz on the forward grid, 8x8 at 15 Hz on the down grid, sync pin wired between them. Bench: measure world to skin with a moving target and an accelerometer on the motor, in both modes, and write the result into the one config the site reads. Owners: site, firmware, bench.
2. The ground channel: core if felt, with a feel test and a belt-edge fallback
The ankle bands stay in the first build as the ground channel, but they are core only for wearers who pass a two-minute feel test at fitting; the belt's lower edge carries the ground signal for wearers who do not, and a low-frequency drive for the ankles goes on the bench before the motor order.
Evidence. Diabetic retinopathy is a leading cause of new blindness in working-age adults and travels with peripheral neuropathy (retinopathy and neuropathy correlate in type 2 diabetes); 20 to 40 percent of adults with type 2 diabetes have peripheral neuropathy (P1-4). The clinical measure of that neuropathy is the vibration perception threshold at the ankle (PMC8304943), the exact site of the drop-off warning. Age thins the same channel: thresholds at 250 Hz rise steeply as Pacinian corpuscles are lost (Gescheider et al.; Mildren et al. 2017). Cold skin is nearly deaf at 150 to 250 Hz and barely changed at 30 Hz (Green 1977). Every detection number in the map came from young sighted volunteers on bare skin (Karuei et al. 2011). Three panels converged from three directions: P1-4, P1-5, P2-2, P2-7, P2-10, P4-24.
The fitting routine.
- Bands on, jacket on, seated. The roll call runs (decision 7).
- Feel test, ankles first, then belt, then collar. Each zone rises from zero in eight amplitude steps, 400 ms on and 600 ms off per step. The wearer taps the hub when the buzz is felt. Each zone's exposure stays under ten seconds so the test does not raise the threshold it is measuring (adaptation begins within minutes, Berglund and Berglund 1970). The stored floor is the felt step plus a walking margin. The margin is two steps until the bench sets it (P4-24 says its size needs testing).
- Standing, then marching in place. The ankles replay three bursts at the stored floor. The wearer taps once per burst. Three of three passes. Fewer raises the floor one step and repeats, up to the top step.
- A zone not felt at the top step while marching is marked numb. Its signals reroute. The kit says which renderer is live at every power-on, with a distinct tick in the roll call, so no wearer is told "you are covered" by silence (P1-5 risk).
- Re-run when the season changes and once a year, because neuropathy and age progress (P1-5).
The fallback vocabulary, on two pucks at the belt's lower edge under the navel pair. Drop-off: the double pulse, two 80 ms bursts with an 80 ms gap, every 600 ms, unchanged from the ankles. Stairs up: a triple tap, three 120 ms bursts with 80 ms gaps, every 1000 ms. Stairs down: the drop-off double pulse once, then the triple tap (the categorical prefix from P4-6, because a downward step is ground falling away). No waist hazard uses tap groups, and no waist hazard renders on the lower-edge pair, so the fallback cannot be mistaken for a table edge (P1-4 risk). It is taught as the one exception to the first law: when your ankles cannot feel, the ground speaks at your belt's lower edge (P4-1, P2-2 risk).
The drop-off prefix also goes on the ankles: stairs down there fires the double pulse once, then the top-to-bottom sweep (P4-6). The terminal tap and the 800 versus 1000 ms repeat are bench parameters (P2-12).
Dissent. None on the rule. The Chair wanted it written that the fallback is taught as an exception and announced at power-on, never silent; it is.
Action. Hardware: two more pucks per kit on the belt's lower edge; a low-frequency element (40 to 60 Hz, P2-2, P2-16) in the ankle puck goes on the G0b bench beside the 175 Hz part. Firmware: per-zone floors and numb flags in the wearer profile, the reroute, the fallback patterns, the roll-call tick that names the live ground renderer, ramped onsets for wearers who report balance trouble (P1-5). Site: the ankle card and the honest limits panel say the drop-off warning depends on feeling a buzz above the ankle and is checked at fitting. Bench: the feel test's walking margin and the low-frequency drive. Owners: hardware, firmware, site, bench.
3. Sensors out, motors in
The belt splits into a thin motor band worn against the shirt and one sensor pod clipped to the outermost layer at the waist, and no sensor sits on a collar or an ankle.
Evidence. Sensors must face out and motors must press the shirt, so a one-piece belt either blinds the sensors under a coat or mutes the motors over it, every winter and every monsoon (P1-1). Nobody has measured detection through a jacket while walking; the walking data came from bare skin (Karuei et al. 2011). The shin is the worst place on the body for a ranging sensor: it swings through tens of degrees every stride, sits nearest mud and puddles, and hangs at the far end of the longest cable in the kit (P3-1). ALVU, the one system proven with blind users, put its down-facing sensor on the belt with an attitude sensor and calibrated the ground distance at power on (Katzschmann et al. 2018). A 1 MHz sensor bus will not survive a one-metre cable, so every laser grid has to live at the hub (P3-14, P3-11). Mass on the shank costs the most energy to carry (Browning et al. 2007; P2-21).
The pod. It carries both laser grids, the radar, the two sonars, the inertial sensor and the reflex controller, splash rated with gaskets and screws (P3-12). It clips to the outer layer at the buckle line and joins the motor band by one short cable. The forward grid is pitched up about 10 degrees, so from a mount about 1 m above the ground its 45 degree cone (Pololu) covers from knee height to above the head at 2 m ahead, and sees head height from the range limit down to about 1.2 m ahead (council arithmetic from the published field of view; the bench sets the final angle). Head-height coverage from the waist is a bench check before the collar's sensor is deleted for good. If the bench finds a gap, a third grid goes into the pod, still on the hub's short bus, never onto the collar.
The rule, for the map's section 8: nothing that senses sits under cloth, nothing that buzzes sits over it (P1-1).
Dissent. None. The lived-experience lead named the cost, two pieces to put on and a pod that swings on a soft coat (P1-1 risk). The pod's own inertial sensor is the heading reference, the hub flags a swinging pod as degraded (decision 7), and the Chair adds the teaching order: the pod goes on last and comes off first.
Action. Hardware: the motor band, the pod, and ankle bands that carry four pucks and nothing else. Map: section 5 separates the two; schematics 05, 06 and 07 lose the laser grids on the collar and ankles. Parts: item 1 drops from four grids to two, both in the pod; item 9 and milestone 7 are reworded (corrections). Firmware: pitch correction from the pod's inertial sensor and power-on ground calibration (P2-22, P3-35). Site: the belt, collar and ankle descriptions. Owners: hardware, site, firmware.
4. The head: one motor, one word, off the bone, quick to remove
The head carries one lane-free "duck" puck at the center hairline or in a cap insert, on a foam standoff off the frontal bone, water safe and quick release; the three-lane forehead band is shelved until a head inertial sensor is fitted and validated.
Evidence. The forehead motors inherit the belt's heading, and blind and visually impaired people turn their heads constantly to listen. With the head 45 degrees left, a "left forehead" buzz marks a direction 45 degrees off the true hazard, and head turns also shift where a touch is felt (head orientation biases tactile localization, Brain Research 2007; P2-3). A 175 Hz motor on the frontal bone is heard as a tone by bone conduction, and vibrotactile and bone-conduction thresholds are confounded up to 500 Hz on the forehead (PubMed 28737551; P2-27); that tone sits where traffic and echo cues live. The forehead sweats more than any other skin on the body, about 1710 grams per square metre per hour at moderate exercise (Smith and Havenith 2011; P2-19). In prostration the forehead touches the ground, and ablution washes the face before each of five daily prayers (Britannica, ablution; the seven contact points of prostration; P1-3). People count one active head motor correctly 94 percent of the time and two only 40 percent (Dobrzynski et al. 2012). The map's case for the forehead is real: it has the lowest vibration threshold on the head and lanes localize within 5 to 8 mm (Kerdegari et al. 2014). The council keeps the head and drops the lanes.
How it renders. Any collar region at head height drives the head puck as "duck now", at the strength of the strongest collar lane. Left and right stay on the shoulders, which face with the sensors. The site's own hero already lights one head motor at a time, the strongest head-height region, so the change on the site is small. Lanes return to the head only behind a validation flag, with a head inertial sensor whose yaw against the pod is proven not to drift (P2-3 risk).
Two carriers, one puck. A thin band at the hairline for wearers with a headscarf, a cap insert for wearers with a cap. Both carry the same puck on a foam standoff with a perforated wicking pad. Either comes off as one unit and goes back on without adjustment. An audiologist measures audibility of 60 to 80 Hz against 175 Hz drive at the bench before the head tier is offered (P2-27).
Dissent. None. The haptics scientist recorded the cost: a single motor gives up the lane information the map wanted from the head. The Chair answered that a lane the head cannot be trusted to read is worse than no lane, and the seat accepted.
Action. Map: the three forehead rows in section 4 become one center puck; the phrase "the strongest single upgrade" goes; section 8 adds no motor on the frontal bone, foam standoff, perforated wicking pad, water safe, quick release. Parts: one head puck and two carriers instead of a three-motor band. Firmware: the duck render path; head yaw only behind a validation flag. Bench: the audiology check. Site: the headband card, the body section's first line, the schematic and its alt text. Owners: hardware, firmware, bench, site.
5. The rear channel and the radar: build the socket now, ship the puck after the walk test
The rear channel does not ship in the first build; its yoke pocket, connector and firmware flag are built in now, and the spine pucks ship the day a body-worn radar passes the walk test, as core for deafblind wearers from that day.
Evidence. Nothing in the eight core regions can say "behind you", and the upper spine is the best-detected site on the body while walking (Karuei et al. 2011). For a deafblind wearer, behind is the whole gap; near-silent electric cars and footpath motorbikes make it a gap for everyone (P1-8; European Blind Union on silent cars). The RD-03D detects only through Doppler shift and "cannot detect or range objects that are not moving"; its tracker is "primarily intended for indoor use to track moving human targets" from a wall mount (ESPHome RD-03D). On a body walking at 1.4 m/s the whole static world has Doppler, and a three-target tracker may lock onto walls and parked cars (P3-13, P3-16). A false alarm on the most sensitive site teaches the wearer to ignore it (P3-13, P4-2). The fallback is the Acconeer A121 on the XM125 module, a 60 GHz radar that reports distance to static and moving objects (SparkFun XM125; P3-15).
The milestone, G0a, the body-worn radar walk test. The module rides on the pod at the waist. Each target's radial speed has the wearer's own velocity subtracted, from the inertial sensor and the stride model, and only targets with a ground speed above about 0.5 m/s count (P3-16). Five walks at 1.4 m/s, each logged:
- Toward a wall. No target after subtraction.
- Past a parked car on one side. No target after subtraction.
- Toward a standing person. A track by 4 m, held without a gap longer than 300 ms.
- A person walking up from behind at about 2 m/s. A track by 6 m, closing speed within 0.5 m/s of the truth.
- A cyclist passing from behind at about 5 m/s. A track by 5 m, which at a 3.6 m/s closing speed is 1.4 s before the pass (P3-34 puts a person's reaction at half a second or more, plus the kit's own share).
Pass: all five, and at most one false rear alarm in a ten-minute mixed walk with a companion at the wearer's side. Fail: the cheap module leaves the kit, the XM125 goes to the bench, and the rear channel waits. Two simulator scenarios lean on the radar and carry an "estimated until the radar walk test" label until it passes; if it fails, they are rewritten around the mobility aid and hearing and the site says so (P3-16 risk).
Dissent. Yes, and it is recorded in full.
The lived-experience lead: "Behind is where the motorbikes are. A deafblind wearer has no ears for a cyclist, and you are asking her to wait for a test. Ship it now and let her switch it off if it cries wolf."
The safety engineer: "A channel that cries wolf on the spine is switched off in a week and never trusted again. We would spend the most sensitive site on the body on a sensor nobody has shown works on a walking person. The test is a day's work. Run it first."
The haptics scientist: "Whichever way this goes, teach the spine last and as a single channel. A false alarm there costs more than anywhere else."
The Chair: "I teach people to trust a signal by never lying to them. The socket goes in now so nothing is retrofitted. The puck ships when the test passes, and for a deafblind wearer it ships as core that same day. Until then the kit tells the wearer, once and in plain words, that it does not yet cover behind."
Settled by the Chair's ruling, with the lived-experience lead's condition kept: the deafblind profile gets the rear channel as core the day it exists, and the test runs before the parts order, not after.
Action. Hardware: the yoke's spine pocket, the connector and the puck slots built in now; one RD-03D and one XM125 bought for the bench only. Firmware: ego-motion subtraction, the ground-speed threshold, closing speed by rhythm on the spine pair, and a spoken limit in the phone, once per walk, "the kit does not yet cover behind you" (P4-21). Bench: G0a as written. Site: the rear channel card and the two radar-led scenarios labeled "estimated until the radar walk test". Owners: hardware, firmware, bench, site.
6. The scheduler: two regions, a 100 ms stagger, a fixed injury-ranked order
The firmware renders at most two regions at once, a bilateral ankle pair counting as one, never starts two regions within 100 ms of each other, and ranks by injury: head height, then drop-off, then stairs, then waist, then rear, then knee, with one exception for a fast rear track.
Evidence. People cannot count vibration across the body: error passes 30 percent at three simultaneous stimuli and reaches chance at four (Gallace, Tan and Spence 2006; P2-1). Two signals that start together mask the weaker one, and a strong burst raises the threshold of a signal that follows within tens of milliseconds (Craig and Evans, common-onset masking; P2-23). Head strikes are the most frequent and most injurious single event: 13 percent of 307 blind and visually impaired people hit their head at least monthly and 23 percent of those strikes needed medical care; 7 percent fell at least monthly and 36 percent of falls had medical consequences (Manduchi and Kurniawan 2011). Hour one of teaching fires single zones only, in the same order (P4-3).
The rules. Two regions live at most; the loser is queued, never dropped, and takes its turn when the higher one clears or stabilizes. No two onsets within 100 ms; the higher rank starts first; 50 ms of silence after a strong burst before another region begins (P2-23). The first drop-off pulse is exempt from any gait-phase delay (P2-5). A rear track closing at more than 2 m/s after ego-motion subtraction takes rank 3, above stairs and waist, because a vehicle behind is a hazard the mobility aid and the collar never see. Status and fault signals never take a region slot from a hazard; they wait for a quiet two seconds, except "not ready", which holds hazards (decision 7).
Dissent. Yes, on the top of the order.
The Chair: "Drop-off first. A fall down a flight of stairs is the injury I have spent thirty years teaching people to avoid. A head strike hurts; a fall breaks a hip."
The haptics scientist: "The survey says head first. Thirteen percent monthly with 23 percent medical, against 7 percent monthly with 36 percent medical. Multiply them and head strikes still produce more injuries per month. And the ankles carry the drop-off on skin some wearers cannot feel, so the belt fallback in decision 2 matters more than the rank."
The safety engineer: "Rank matters only when two fire in the same 100 ms. The loser is not dropped, it starts 100 ms later. At 1.4 m/s that is 14 cm. Neither signal is lost. Pick the order the data supports and keep the stagger short."
The lived-experience lead: "Whatever the order, put a fast thing behind me above a table in front of me. A table I can walk into. A motorbike walks into me."
Settled: head first, drop-off second, as the panels ranked (P2-1), because the stagger is 100 ms and both are always rendered; the Chair accepted on that arithmetic. The lived-experience lead's exception for a fast rear track is adopted at rank 3.
Action. Firmware: the arbitration and the queue, the stagger, the exception, and a counted miss rate in blindfolded trials, because arbitration must be tested and not argued from a table (P2-1 risk). Site: haptics.ts follows the same rule so the simulator never shows a scene the kit would not render (correction 12 in the synthesis). Owners: firmware, site, bench.
7. Silence never means safe: five status signals that no hazard can be mistaken for
The kit says "alive", "not ready", "hurt", "battery low" and "training" in five tactons, four of them on a status puck at a site no hazard uses, and the roll call runs in a fixed order in under ten seconds every time the kit starts.
Evidence. In a silent-when-clear device a dead sensor feels exactly like an empty street (P1-25, P3-22). Smudge and haze on the laser grid's cover glass cut the return and can create false near readings (ST AN5939). Most power banks switch off when the load falls under roughly 30 to 200 mA, and none reports its charge to the hub (P1-15, P3-17; Anker on trickle mode). A breakaway connector that let go on a trouser hem leaves an ankle dark (P3-4). The DRV2605L's diagnostic reports an open, shorted or missing actuator (datasheet), so a dead motor is found without a person. Too many meta-signals and the wearer tunes them out; cap them at five (P3-22 risk). A beep is useless to a deafblind wearer and inaudible in a market, so no status is ever carried by sound or light alone (P1-24).
The five, exactly.
- Alive. One 40 ms tick on the status puck every 20 s. The wearer may set 10 to 60 s or "on stop only", and may turn it off after the first week. A missing tick means a dead kit.
- Not ready. Two 40 ms ticks every 2 s on the status puck until the self-test passes. Hazards are held until it passes.
- Hurt. One 400 ms hold, then two 60 ms taps, every 10 s, and it cannot be turned off. It plays at the zone that lost its sensor's view; at the neighbor of a dead motor; on collar and belt together for a sun-dazzled laser; at the band whose preload check failed, because a loose band is a degraded zone (P2-20). If the pod is swinging, it plays on the belt center.
- Battery low. Three 60 ms taps 120 ms apart on the status puck once a minute, every 15 s in the last five minutes, fed by a coulomb counter on the 5 V input (P3-17).
- Training. Three short ticks on the status puck at the start and at the end of a training session, and the hub leaves training the moment the sensors see the wearer moving through space (P4-15).
Why they cannot collide. The status puck sits in the hub housing against the belly, offset from the navel pair, or on the free wrist if a wrist pod is fitted (P1-24, P1-7). Every hazard is either a rhythmic steady buzz or a group of 80 to 120 ms bursts. No hazard contains a 40 ms tick. No hazard begins with a 400 ms hold. The only status that plays on a hazard zone is "hurt", and it is the only pattern in the whole language that opens with a hold and closes with taps. The scheduler never starts a status pattern within 500 ms of a hazard onset. Learn mode teaches the five and the quiz scores their confusability against the six hazards (P3-22).
The roll call. It starts while the laser grids load their firmware, because the motors are ready before the sensors are (P3-21). Rails and current first. Then every driver's diagnostic. Then the roll call at half amplitude in the map's fixed order: belt center, belt left, belt right, collar center, collar left, collar right, left ankle bottom to top, right ankle bottom to top, then the head puck and the spine pair when fitted, with a 40 ms tick on the status puck in the slot of any zone that did not answer (P1-21), and a distinct tick that names the live ground renderer (decision 2). Then a hand held 20 to 30 cm in front of the pod as the sensors' hand check, the radar frame parsed, and gravity confirming the pod is upright. Under ten seconds. The kit starts on whatever bands answer and never milestones its start on the optional morning "random three", a ten-second identification check like the Ling six-sound test that logs zone health over weeks (P4-14, P4-18).
Dissent. None.
Action. Firmware: the five tactons, sensor health from return rate, ambient, crosstalk drift, radar noise floor and rail voltage, the self-test sequence, subset start, random-three logging. Hardware: the status puck in the hub housing; the coulomb counter. Site: Learn mode teaches the five; every By feel run in the game opens with the roll call (P3-36). Owners: firmware, hardware, site.
8. The parts list: what changes before the first order
Two laser grids in the pod, six-conductor cables, a controller on every band, a 2 g motor, a bench set instead of twenty-five of one motor, and two bench milestones before the order; the founder edits the list himself from these decisions.
Evidence. The four-wire cable in the schematics (5 V, ground, SDA, SCL) cannot host a laser grid: the VL53L8CX needs its LPn line because its address resets on every power cycle, an interrupt line, and a presence pin (Pololu; P3-5). I2C allows 400 pF per line and cable runs 55 to 240 pF per metre, beside motor drive switching at 20.5 kHz (NXP UM10204; DRV2605L datasheet; P3-11). A full 8x8 frame is about 1.3 KB, about 29 ms of bus time per sensor at 400 kHz, so three sensors do not fit a 66 ms period on one bus (P3-14). Every buzz on one I2C bus behind a multiplexer means a hung bus freezes every motor; the DRV2605L's PWM input sets amplitude with the closed loop still handling resonance and braking (P3-10). The C10-100 datasheet reads "Unit Weight 2 g", not 1.37 g, and the driver's 4.1 µA standby means sleeping drivers cost nothing (C10-100; DRV2605L; P3 contradictions, item 7). The C10-100's 1.5 G is measured on a 100 g test sled, and nobody has published detection through a shirt while walking (P3-7, P2-16). The parts order in milestone 6 sits before the two tests that decide two of its lines (P3-16, P3-7; synthesis correction 26).
The decisions, in plain words.
- Laser grids: two, not four. Both in the waist pod: one ahead in 4x4 at 60 Hz, pitched up; one tilted down in 8x8 at 15 Hz. Their sync pins wired together so they do not read each other's pulses (P3-27). One spare for the bench, as the milestone already says.
- Cables: the four-wire cable goes. A motor-only band gets six conductors: 5 V, ground, a serial pair, a presence or fault line, and one spare. Nothing on a cable carries a sensor. The ankle cable is high-flex silicone with a coiled section over the knee, magnetic pogo breakaway plugs keyed by shell shape and by bump count, one bump left and two right, and it is sold as a spare from day one with two in the box (P3-3, P3-4). A regulator and bulk capacitance sit on every band, 5 V comes down the cable, and an eFuse per branch at the hub means a crushed ankle cable cannot drop the belt (P3-5).
- A controller on every band. One small controller on the belt band, the collar yoke and each ankle band holds that band's drivers, driven by PWM with I2C only at boot, and talks to the hub over one serial pair. The multiplexer stays only as a segment isolator on the hub board. The band's firmware version is read in the self-test (P3-11 risk). The parts line "LRA motors, drivers and I2C mux" becomes three lines: puck, band controller, hub (P3-2).
- The puck. One motor puck everywhere: the actuator in a small rigid cup with a foam isolation ring, a dome that presses through cloth, a raised tactile dot, gold-plated two-pin keyed contacts and a drain path (P3-2, P2-17, P1-20). Identical and interchangeable within a band. It pops out of an electronics-free washable shell.
- Motors: do not order twenty-five of one part. Order the G0b bench set, each in the same puck frame: a 175 Hz LRA, a 235 Hz LRA, a 12 mm LRA, a coin ERM, and a low-frequency element for the ankle zones (P3-7, P2-16, P1-16). The full set is ordered after G0b, and per-puck overdrive and brake are calibrated on a skin phantom at preload, then re-run at every power-on (P2-18, P3-8).
- Motor numbers on the map: 2 g each, so the motor rows read about 40, 50 and 74 g for core, full and max; the driver idle row splits into standby, negligible, and awake (P3 contradictions, item 7).
- Radar: one RD-03D and one XM125, both for the bench. Neither enters the kit until G0a decides (decision 5).
- Sonar: two, alternating with at least 60 ms between pings, beam under 50 degrees, 20 to 25 cm blind zone (JSN-SR04T; P3-15, P3-27). Their honest role is glass and hard walls faced squarely.
- Power: keep the certified bank; add a coulomb counter on the 5 V input, a right-angle plug with strain relief, a spare cable, and either a bank with a low-current mode or a keep-alive floor draw, because most banks quit under a light load (P1-15, P3-17). Separate regulators for the reflex domain and the radio (P3-27).
- The inertial sensor moves to the reflex controller in the pod, not the logging controller, because the ground plane correction runs in the reflex loop (P3-35).
- Extra pucks: two for the belt's lower edge (decision 2), one head puck with two carriers instead of a three-motor band (decision 4), and the spine pair's sockets built in with the pucks held (decision 5).
- Milestones: insert G0a, the body-worn radar walk test, and G0b, the actuator bench through clothing while walking, before the parts order (synthesis B4).
Dissent. None. The safety engineer noted that a satellite controller per band is more firmware to keep in step; the version check in the self-test answers it.
Action. Founder: edit the parts list from the twelve points above. Hardware: the puck, band controller and hub boards; the cables and connectors. Firmware: PWM drive, the serial link, the 100 Hz tick with age stamps and a 250 ms watchdog, no heap, bus error counters per segment (P3-18, P3-27). Bench: G0a and G0b. Owners: founder, hardware, firmware, bench.
9. The game: a kit you learn to read, in the dark, in a blind or visually impaired person's voice
The dark world stays and so does the quarter-screen body map; the mode is named "By feel", opens dark and never fades from sight to black, is narrated and debriefed in a blind or visually impaired person's recorded voice, scores by the debrief, is playable blind first, and goes live only after its effect on sighted visitors is measured.
Evidence. Controlled experiments show a blindfold simulation makes sighted people judge blind people as less capable of work and independent living and predict more fear and distress (Silverman, Gwinn and Van Boven 2015; P1-28). Disability simulations raise pity and discomfort and do not raise willingness to work with disabled people (Nario-Redmond, Gospodinov and Cobb 2017; meta-analysis of mobility simulations, PLOS One 2022; P2-32, P4-34). The National Federation of the Blind has made the argument for a decade (The Perils of Playing Blind). Most blind people see light, not black, and use it to find windows and doorways (Chicago Lighthouse; P1-29). What the simulation research finds acceptable is instruction in specific techniques by a competent person who uses them, which is how Dialogue in the Dark has run since 1988 (Dialogue in the Dark; P4-25). People told to attend to the object out there improved over two hours with a distance-to-vibration device; people told to attend to the buzz in their hand did not (Froese and Ortiz-Garin 2020; P2-33). Three panels converged on the same frame (P1-28, P1-29, P1-40, P2-32, P4-33, P4-34, P4-35).
What the council decided, and what stays the founder's.
- The name. The mode is "By feel". The line under it is "Learn what the wearer learns." The founder's brief asked that "a sighted visitor becomes the blind or visually impaired person". The evidence against that sentence is the strongest in the whole funnel, and all four seats read it the same way: it invites a performance of blindness, and performances of blindness lower what sighted people think blind people can do. The council says so plainly and leaves the words to him. Founder's call.
- The dark screen. It stays, exactly as the founder designed it: a dark world, the body map at about a quarter of the screen, sound and the phone's vibration carrying the rest. What changes is the frame and the transition. The mode opens dark, in rain, with one signal and no text (P4-28). It never fades from a lit street to black, because that fade is a sighted picture of loss. Two renders at the same score: "no picture", and "light perception", a blurred luminance map where a bright doorway still reads (P1-29). The darkness is framed as the kit's design constraint: it has to work without sight.
- The voice. The expert is blind. The six scenario openers and every debrief are 15-second recordings by the founder and community members in rotation, credited, approved by the speaker, dry and practical: mobility aid first, hearing second, kit third (P1-39, P4-38, P4-34).
- The score. No lives, no fail state, no number on screen during the walk. Play is failure, then learning, then competence: a block with no mobility aid and no kit, then with the simulated mobility aid, then with the kit, never ending on a crash card (P1-28). The debrief at a safe corner names the two signals read fastest, the one hesitated on, the sensor that caught the most, and one plain sentence such as "You hit the awning. The collar buzzed 1.6 seconds before. Trust it sooner." A director sets difficulty by density, simultaneity and sensor limits, never by pace, which stays 1.4 m/s (P4-27, P4-32, P4-33). A named error, "steered toward the buzz", is counted apart from a slow reaction (P1-14, P4-4). An optional "reads" score appears after the third block, off by default.
- Blind players first. Every state change in an aria-live region, a self-voice toggle asked once and remembered, every action on keys, two-finger gestures on touch because single-finger swipes belong to the screen reader, an audio-only mode built from the same MotorFrame stream, an untimed option for braille readers labeled apart, nothing in the score that depends on the map, and a published accessibility statement with a named blind tester (P4-35, P1-35, P2-37). The founder must be able to play his own game.
- The launch milestone. Fifty sighted visitors answer the capability-judgment items from the 2015 study before and after playing; twenty blind reviewers answer one question, "Does this perform us or teach about us?" The mode goes live only if judged capability does not fall and the reviewers say "teach". The result is published on the honest limits panel and repeated after major changes (P1-40).
- Two sound layers. The world is recorded Foley with honest reverb and the mobility aid as a playable instrument; the kit is pure tone in three loudness steps with a persistent label, because skin resolves three or four intensity levels and hearing resolves dozens (P1-30, P4-30, P2-30). Intensity on the map is dot size and a ring, luminance pulsing is capped at 3 Hz, and no collision jumps the whole screen (WCAG 2.3.1; P2-39, P4-36).
Dissent. None among the seats. The conflict here is between the evidence and the founder's stated design on one sentence and one mode name, and it is marked founder's call above.
Action. Site: spec section 2 renames mode 3 and deletes "fades to black" and "the empathy core"; a copy sweep for "imagine", "experience blindness" and "become the blind or visually impaired person"; the two renders; the recorded openers and debriefs; the three-pass structure; the director; the accessibility work; the launch measure. Founder: the name and the line, and the recordings. Owners: site, founder.
10. The glove: confirmed as a hand mode, amended in three places
The scanning glove is confirmed as a hand-scanning mode with three motors per palm, thumb side, center and little-finger side, off while walking and never in the safety loop, and amended so that it is wireless, hangs off the logging controller rather than the reflex controller, and is not in the first build.
Evidence. Palm skin tells two touches apart at 8 to 12 mm (Bates clinical values); three locations across the hand are told apart 97 percent of the time, four at 82 percent and five at 71 percent (IEEE Transactions on Haptics 2023); a 3 by 3 palm grid is localized at 91 percent (palm vibration study 2023). As a way of walking a glove is slower than a mobility aid, about 54 percent slower for blindfolded users; as a way of reaching it has no competitor (Unfolding Space Glove, 2022). The upper hand and forearm technique and trailing already put the hand out ahead of the body (APH orientation and mobility text). No wire should cross a joint, and the hand is two joints from the belt (P1-17, P3-3). The reflex controller has no radio and that air gap stays (P3-24).
Confirmed. Three motors across the palm, the belt's left, center, right logic shrunk to the hand. On the mobility aid hand the three move to the backs of the index, middle and little fingers. Fingertip pads stay bare. The push convention holds: the buzz is where the surface is. Strength is closeness in the same three bands as the belt. Off unless the wearer switches it on with a physical switch on the back of the glove, which answers with three quick taps across the palm from thumb to little finger. It never milestones the belt, collar or ankle loop.
Amended. First, the glove is wireless: a self-contained pod on the back of the hand with its 4x4 laser grid at 60 Hz, a small controller, a cell and a radio, because a cable to the hand crosses the elbow and the wrist (P1-17). Second, its radio pairs with the logging controller, the spine, and never with the reflex controller; the glove is not in the safety loop, so it may live on the side that has a radio (P3-24). Third, it is a max-tier mode and is not in the first build; the first build's hands hold the mobility aid, and the glove is taught after mobility aid skills, seated, indoors (P4-2). The energy rule applies: the glove pod stays light enough that the hand it rides on still reads the mobility aid.
Dissent. None.
Action. Map: section 12 gains the three amendments. Bench: reaching detection with the hand moving, since movement lowers detection of faint vibration on the arm and hand (Post et al. 1994). Firmware: a glove profile on the spine. Owners: site, bench, firmware.
11. Running: the milestone before "run" becomes a claim
"Run" stays a horizon on the site, as it is today, until a two-channel run profile has carried a blind runner 400 m on a track without a guide, with the log published and a stop signal proven at speed.
Evidence. At 170 to 180 steps a minute each step takes 330 to 350 ms; feet slam, arms swing and sweat soaks bands, and nobody reads a twelve-zone map at a run (P1-11). The two blind runners who have run solo used one or two channels: a wrist buzz that said "you left the corridor" through 15 miles of the New York City Marathon (Inverse), and a phone camera following a painted line for an unassisted 5K (Project Guideline). A veer cue 300 ms late at 4 m/s is 1.2 m late (P1-11 risk). The laser grid's 4 m range at 4 m/s is one second of ground warning, which is not enough to claim ground hazards at a run (UM3109). Walking lowers detection and slows reaction; running is unmeasured (Karuei et al. 2011).
The run profile. Collar left and right as veer cues, all zones together as stop, everything else off, wicking bands, the ankle sweep off because feet slam (P1-11, P2-9). The veer cue may be fed by the phone camera's line following where a marked track exists, and the stop signal is always from the distance sensors.
The milestone, in four steps, all before the word "run" appears as a claim.
- Bench: world to skin measured at or under 75 ms in 4x4 mode, the modeled near-zone figure, so that at 4 m/s the veer cue is within 30 cm of the truth.
- Bench: the collar pucks felt at running cadence through a wet shirt, 19 of 20 reads while running on a treadmill, because the walking data is bare skin at 2.4 km/h.
- Track: the stop signal read and acted on within one second at running pace, ten of ten trials, with a harness.
- Track: a blind runner runs 400 m on a track without a guide using the run profile, the flight recorder log is published, and the runner's own account goes on the page.
Until then the site keeps its present words, "Walk freely now. Run next."
Dissent. None. The lived-experience lead noted that runners exist now and want it now; the safety engineer answered that the milestone is a week of work once the collar exists, and the seat agreed.
Action. Firmware: the run profile. Bench: steps 1 and 2. Founder: steps 3 and 4 with a runner and a track. Site: nothing changes until the milestone passes. Owners: firmware, bench, founder.
12. Urgent corrections not covered above
Nine more corrections from the synthesis are adopted now because each is cheap today and expensive after the first order or the first public claim.
- Three distance bands, not a continuous ramp. Absolute identification of vibration intensity yields about 1.76 bits, three to four levels (Tan, information transmission with a tactual display; P2-11). Distance is quantized into near, middle and far with hysteresis, rhythm is the primary cue and intensity the redundant one, in the firmware and in
haptics.ts. The simulator's sound gain is quantized to the same three steps with a persistent label (P2-30). Owners: firmware, site. - The steady buzz breathes. No motor on for more than one second; duty under 50 percent over any ten seconds; the three flank motors take turns carrying a long-lived signal; a per-hour buzz budget; a wearer-chosen quiet mode that keeps only head height and drop-off and is never the default in unfamiliar places (Berglund and Berglund 1970; P2-6, P2-15, P2-24). Owner: firmware.
- Fusion lowers false alarms. Each sensor votes with a confidence that decays with age and with its known blind spots; two frames to turn on, four to turn off; a companion at the wearer's side, a persistent near-zero-relative-velocity target that moves with the gait, is muted while anything faster from that side still passes; on broken pavement the ground channel flags only deviations larger than a step (P3-20, P1-9, P1-13). The game keeps "any sensor sees it" only where it labels the difference. Owner: firmware.
- Glass has three truths. The laser grid cannot be trusted to see glass; sonar sees glass only faced squarely and mirrors an oblique ping away; the Doppler radar sees a static pane only through the wearer's own motion; all three can miss together, as ALVU's authors wrote (Katzschmann et al. 2018; TI SLAA907; P3-30). The mall scenario gains an oblique glass approach that the mobility aid finds. Owner: site.
- The wrist is status, not a lane. Crossed limbs reverse left-right judgments by about 1.4 standard deviations, and the mobility aid hand crosses the midline on every arc (Schicke and Röder 2006; P2-13, P1-7). The wrist rows in
bodymap.tsbecome status only, one pod on whichever wrist is free. Owner: site. - Shoulder motors off the strap line. The two lateral collar motors move below the collarbone inside the line where bag straps sit, and the yoke gets a moulded rib for straps to ride on (P1-2). Owners: hardware, site.
- Battery hours, honestly. The budget from part numbers is 2.4 to 2.9 W at the bank, which is 10 to 13 hours from a 10,000 mAh bank's 30 Wh, not "a full day" for everyone (P3-17). The parts line and the site's energy ledger read "10 to 13 hours from datasheets, measured at G0". Owners: founder, site.
- "Learnable in an hour" becomes two truths. Recognizing six signals in an hour is plausible; walking by them takes weeks, as the EyeCane's three sessions and the compass belt's weeks of daily wear show (Maidenbaum et al. 2014; P2-38). Owner: site.
- Claims are claims. "Helps you feel what is near you" and "prevents collisions" are different products under 21 CFR 886.5900 and the EU MDR (21 CFR 886.5900; P3-25). Every sentence on the site that says what the kit does is reviewed; the hero's "The distance sensors keep you safe" changes today (corrections). The ISO 14971 risk file and the IEC 62304 software lifecycle start now, while designing. Owners: site, founder with the safety engineer's file.
Also adopted, each in one line. The exoskeleton frame is parked; a passive placement chassis is evaluated against the same energy curve as every other gram, and nothing in the kit ever moves the body (P1-26, P3-26, P2-21). The first law's exceptions are taught as exceptions in Learn mode and in the map's principle 1: the collar carries head height without a head puck, both ankles fire for a ground hazard on either side, and the belt's lower edge carries the ground for wearers whose ankles cannot feel (P4-1). Every spacing number in the map comes from sighted volunteers, so the belt geometry is frozen only after a confusion-matrix bench with blind participants, comparing a single center motor with an 80 mm gap against the pair (P2-4, P2-14, P3-6). The simulator's sighted-visitor data is never presented as validation (P4-40).
Corrections to the current design and copy
Every public claim that changes, with the exact replacement wording. "Now" quotes the current text. "Becomes" is the wording to use. File paths name where the words live. Prices stay off public pages, so none are quoted here.
- The hero chip,
src/components/front/hero.tsx. Now: value "72 ms", label "WORLD TO SKIN". Becomes: value "about 70 ms", label "WORLD TO SKIN, MODELED". - The hero paragraph,
hero.tsx. Now: "Your phone's camera can help. The distance sensors keep you safe." Becomes: "Your phone's camera can help. The distance sensors carry the warning." - The front page description,
src/app/page.tsx. Now: "Three laws, six signals, 72 ms from world to skin." Becomes: "Three laws, six signals, about 70 ms from world to skin, modeled." - The engineering page,
src/app/engineering/page.tsx. Now: "A laser grid, radar, and sonar. About 72 ms from the world to the skin." Becomes: "A laser grid, radar, and sonar. About 70 ms from the world to the skin, modeled." - The sensors section's big number,
src/components/front/sensors.tsx. Now: "72" over "ms", and "About 72 ms from an edge in the world to a buzz on your skin, no AI in the path." Becomes: "about 70" over "ms, modeled", and "About 70 ms from the world to your skin for a hazard ahead, about 120 ms for the ground, modeled from the parts' datasheets until the bench measures it. At walking pace that is about 10 cm and about 17 cm. No AI in the path." The two sentences about the phone and the depth camera rig stay. - The sensors section, "Why it never decides",
sensors.tsx. Now: "The distance sensor loop runs 72 ms." Becomes: "The distance sensor loop runs about 70 ms, modeled." - The sonar card,
sensors.tsx. Now: speed "264 ms, 8 pings"; body ends "But glass bounces sound back hard, so glass doors cannot hide."; role "Keeps the glass doors honest". Becomes: speed "2 pings, about 120 ms"; body ends "Glass faced squarely bounces sound back hard. Glass met at an angle can slip past all three sensors, and the mobility aid finds it."; role "Catches glass faced squarely". - The laser grid card and the "Time to a full reading" bars,
sensors.tsx. Now: speed "64 zones, 15 per s"; body "A tiny 8 by 8 depth map, 15 times a second, in full dark."; bars "SONAR 264 ms", "LASER GRID 67 ms". Becomes: speed "16 zones at 60 per s ahead, 64 at 15 per s down"; body "A 4 by 4 depth map 60 times a second ahead, an 8 by 8 map 15 times a second on the ground, in full dark."; bars "SONAR about 120 ms", "LASER GRID 17 ms ahead, 67 ms down". - Milestone 8,
src/lib/seed.ts. Now: "The hard real-time loop on the RP2040: ranging in, buzz out, under 50 milliseconds, no exceptions." Becomes: "The hard real-time loop on the RP2040: ranging in, buzz out, under 5 ms of its own. World to skin about 70 ms ahead and about 120 ms on the ground, modeled." - Part 4,
seed.ts. Now: "Reflex loop: ranging in, buzz out, under 50 ms". Becomes: "Reflex loop: ranging in, buzz out, under 5 ms of its own". - The placement view,
src/components/engineering/placement.tsx. Now: "Ranging in, buzz out, under 50 ms." Becomes: "Ranging in, buzz out, under 5 ms of its own." - The version 2 data,
src/components/engineering/v2-data.ts. Now: "STM32G4 class microcontroller, hard real time under 50 ms" and "An RP2040: ranging in, buzz out, under 50 ms, no exceptions." Becomes: "STM32G4 class microcontroller, hard real time, under 5 ms of its own" and "An RP2040: ranging in, buzz out, under 5 ms of its own. World to skin about 70 ms, modeled." - The simulator's latency meter,
docs/simulator-v2-spec.mdsection 4 andsrc/components/simulator/sensor-view.tsx. Now: "show 72 ms world-to-skin (66 ms frame + arithmetic + drive), live". Becomes: a latency strip, capture, readout, fuse, drive, skin, filled from the sensor mode in use and read from one config file, badged "modeled" until the bench writes "measured" (P3-33). - The map's camera section,
docs/full-body-haptic-map.mdsection 9. Now: "the kit's distance-sensor loop is 72 ms (v2 spec, section 4)". Becomes: "the kit's distance-sensor loop is about 70 ms for a hazard ahead, modeled (council decision 1)". - Part 1,
seed.ts. Now: role "Laser grid: belt forward, collar up-and-out, one per ankle tilted down", quantity four. Becomes: role "Laser grid, both in the waist sensor pod: one ahead in 4x4 at 60 Hz, one tilted down in 8x8 at 15 Hz", quantity two. - Milestone 6,
seed.ts. Now: names a price and four laser grids, with one spare of each sensor. Becomes: "Stack B with two laser grids in the waist pod, one spare of each sensor, and the actuator bench set. Ordered after milestones G0a and G0b." The price stays in HQ. - Milestone 7,
seed.ts. Now: "Modular pieces that strap over any clothes and any shoes. Adjustable motor spacing for testing." Becomes: "A motor band worn against the shirt, a sensor pod clipped to the outer layer, and ankle bands that carry motors only. Adjustable motor spacing for testing." - Part 9,
seed.ts. Now: "Modular wearables that fit over any clothes and shoes". Becomes: "Motor bands under the coat, one sensor pod over it". - The kit section's pull quote,
src/components/front/kit.tsx. Now: "Over any clothes. Over any shoes. Nobody's style gets decided by us." Becomes: "Motors under the coat. Sensors over it. Nobody's style gets decided by us." - The ankle card,
kit.tsx. Now ends: "Four, because three cannot show direction." Becomes, with one sentence added: "Four, because three cannot show direction. Checked at fitting: if your ankles cannot feel it, the belt's lower edge carries the ground." - The headband card,
kit.tsx. Now: name "The headband", place "FOREHEAD", body "Three motors where branches and signs land. Optional, and it carries the same head-height signal as the collar." Becomes: name "The head puck", place "HAIRLINE OR CAP", body "One motor that says duck. It carries the collar's head-height signal, sits off the bone, and comes off in one motion for prayer and washing." - The rear channel card,
kit.tsx. Now ends: "Something is coming from behind." Becomes, with one sentence added: "Something is coming from behind. It ships once a radar has passed its walk test on a walking body." - The body section's first line,
src/components/front/body.tsx. Now: "A headband, because branches and signs land on the forehead." Becomes: "One head motor that says duck, because branches and signs land on the head." - The body section's schematic and its alt text,
body.tsxandpublic/schematics/08_full_body_haptic_map.svg. Now: "a three-motor headband on the forehead" and wrist sites drawn as lanes. Becomes: "a single head motor at the hairline", with the wrist sites labeled "status", and the drawing redrawn to match. - The three laws section,
src/components/front/three-laws.tsx. Now: "You can learn them in an hour." Becomes: "You can recognize them in an hour. Walking by them takes weeks." - The fluent section's title,
src/components/front/fluent.tsx. Now: "Learn the language in an hour." Becomes: "Six signals in an hour. Fluency over weeks." - Update 1,
seed.ts. Now: "Six signals to start, learnable in an hour." Becomes: "Six signals to start. You can recognize them in an hour and learn to walk by them over weeks." - Part 8,
seed.ts. Now: "A full day at about 2 watts, swappable, safe". Becomes: "10 to 13 hours from datasheets, measured at G0; swappable, safe". - The honest limits panel,
src/components/simulator/limits.tsx. Now: "Direct sun shortens the laser grid's range to about 2 m. Radar and sonar cover that gap." Becomes: "Bright sun shortens the laser grid's range. The bench sets the number. Radar and sonar cover part of that gap." Four lines are added: "World to skin is about 70 ms for a hazard ahead and about 120 ms for the ground, modeled from datasheets until the bench measures it." "The drop-off warning depends on feeling a buzz above the ankle. A two-minute feel test at fitting checks it, and the belt's lower edge takes over when the ankles cannot." "The rear channel waits for a radar that has passed its walk test on a walking body." "Glass met at an angle can slip past all three sensors. The mobility aid finds it." - Mode 3,
docs/simulator-v2-spec.mdsection 2 andsrc/components/simulator/simulator.tsx. Now: "Blind. Same as Walk, but the street view fades to black... This is the empathy core." and "Blind mode. The street is dark. Steer by the buzz. Escape brings sight back." Becomes: "By feel. Same as Walk, with no picture or with a light-perception render. You navigate by the body map, the sound, and on Android the phone in your hand. The kit has to work without sight; this is where you learn what the wearer learns. Escape brings the picture back at any time." and "By feel. The street is dark. Steer by the buzz. Escape brings the picture back." The name is the founder's call (decision 9). - The keyboard line, spec section 7. Now: "B blind mode". Becomes: "B By feel".
- Document 6 in
seedDocs,seed.ts. Now: "Warn, then gently steer, never lock. Kept for the later powered phase." Becomes: "Parked. Nothing in the kit moves the body. A passive placement chassis is under evaluation." - Document 8, the belt hub,
seed.tsandpublic/schematics/05_belt_hub.svg. Now: "The first-build spine: power, both microcontrollers, the main sensors, and the 8 belt motors." Becomes: "The first build's two layers: the sensor pod with the reflex controller and every sensor, and the motor band with its eight pucks and band controller." The schematic is redrawn with six-conductor cables. - Document 9, the collar strip,
seed.tsand06_collar_strip.svg. Now: "Head-height sensing and 4 motors. A buzz here means duck." Becomes: "Four motors. A buzz here means duck. The head-height sensing moved to the waist pod." The schematic loses its laser grid. - Document 10, the ankle band,
seed.tsand07_ankle_band.svg. Now: "Down-facing sensor and 4 stacked motors that run the sweep for stairs and curbs. Four, not three: the evidence says three cannot show direction." Becomes: "Four stacked motors that run the sweep for stairs and curbs, and nothing else; the down-facing sensor lives in the waist pod. Four, not three: the evidence says three cannot show direction." The schematic is redrawn with four motors and no sensor. - Milestone 10, milestone G0,
seed.ts. Now: "Six tests: the glass door, the winter coat, the curb, direct sun, sensor crosstalk, and true battery life." Becomes: "Eight tests: the body-worn radar walk (G0a), the actuator through clothing while walking (G0b), the glass door, the winter coat, the curb, direct sun, sensor crosstalk, and true battery life." - The map's headband paragraph,
full-body-haptic-map.mdsection 4. Now: "it is the strongest single upgrade in the map because it moves the most dangerous signal onto the body part that takes the hit, and forehead skin is the most sensitive place we can use." Becomes: "The head puck moves the most dangerous signal onto the body part that takes the hit. It carries one word, duck, because the head turns to listen and the sensors do not turn with it. It is not core because a head carrier is a visible, daily commitment that some wearers will decline." - The map's parts numbers, section 7. Now: "C10-100: 1.37 g" and motor mass "27 g, 34 g, 51 g", and a driver idle row at 3 mA. Becomes: "C10-100: 2 g", motor mass "about 40 g, 50 g, 74 g", and the idle row split into "standby, 4.1 µA, negligible" and "awake, 0.5 mA quiescent".
- The map's collar line, section 8. Now: "the two shoulder motors sit where a backpack strap would." Becomes: "the two lateral motors sit below the collarbone inside the strap line, and a moulded rib over each shoulder carries the strap."
- The wrist rows,
src/lib/sim/bodymap.ts. Now: "Waist-height obstacle in the left lane, repeated at the hand that would reach into it. Same drive as beltL." (and the mirror). Becomes: "Status only: kit alive, battery low, sensor blinded. Never a lane. One pod on whichever wrist is free." The region key stops pointing at a belt lane. - The front hero's default tier,
src/components/front/hero.tsxand the three scene. Now: defaults to the max tier, and the wrist dots echo the belt lanes. Becomes: defaults to the full tier as revised, one head puck, the spine pair drawn and labeled "after the radar walk test"; the max tier stays selectable with its wrist dots ticking status.
Questions for the founder
Ten questions only the founder can answer, each answerable by voice in one sentence.
- Do you pray with the kit on, and would you wear a cap insert or a hairline band instead of a forehead band, so that prostration and ablution do not force it off five times a day? (P1-3, P2-27)
- When you hold a buzzing phone against the skin just above your own ankle bone, through a sock, do you feel it clearly, and roughly how many people in your community lost their sight to diabetes or are over sixty? (P1-4, P2-2)
- Which failure would you rather live with: a kit that buzzes too often and gets switched off, or a kit that stays quiet for a hazard it might have caught? (P1-9, P2-15, P3-20)
- The council ships the first build without the "behind you" channel and builds its socket in; do you accept that, or do you want no kit to ship until the radar has passed? (P1-8, P3-13)
- Beyond the current parts list, how much can the first build spend, and which would you cut first if it had to: the head puck, the rear radar, or the exoskeleton frame? (P3-2, P3-15, P3-17, P1-26)
- Do you want the mode called "Blind mode" with the line "become the blind or visually impaired person", or "By feel" with the line "learn what the wearer learns"? (P1-29, P2-32, P4-34)
- Which sentence goes on the box and the front page: "helps you feel what is near you" or "prevents collisions"? The first is a light Class I aid; the second is a promise you must prove. (P3-25)
- Who will repair a kit in Herat: a phone shop with your published schematic and a battery they already sell, or Third Eye Worldwide by post? (P1-23, P3-12, P1-15)
- When you run, do you want only two shoulder cues and a stop signal, giving up every other zone at running pace? (P1-11)
- Should your family or an instructor ever see anything from the kit without you handing it to them, and if yes, what exactly: kit on, battery, the morning check, or more? (P4-19, P4-20, P1-12)
What we did not decide, and why
- Wired or wireless ankles (F21). The bench decides between a breakaway cable and a self-powered pod. The council fixed only the constraints: under 60 g per ankle, keyed by bump count, heartbeat-monitored, and breakaway if wired (P1-17, P3-9, P2-21).
- The actuator family (F16). A 175 Hz LRA, a 235 Hz LRA, a 12 mm part, an ERM for the steady zones, or a low-frequency element for the limbs. G0b decides with an accelerometer on the skin side under a shirt and a jacket, seated and marching.
- Eight or twelve belt motors, a center pair or a single center motor (F26). A confusion-matrix bench with blind participants decides. The connector and the firmware stay ready for eight.
- The rear channel's site, upper spine or lower back (P2-19 against the map). The bench compares detection while walking and comfort under a backpack.
- The mode's name and its line, and the sentence on the box (questions 6 and 7). The founder's.
- The budget and what to cut first (question 5), and the repair model (question 8). The founder's.
- An iOS path for the phone layer. Android first, because the core community carries Androids and Web Bluetooth and web vibration work there (P1-27). iOS is not decided.
- A children's profile (P2-9, P1-12). There is no published safety data for any electronic travel aid on children. It needs an ethics review and a supervising instructor before any decision.
- A seated map for wheelchair users (P1-10). A second product. Not now.
- The "Market street at dusk" scenario (P1-33). Written with residents, credited and paid, or not written. The council cannot author it.
- The passive placement chassis (P3-26). Parked with the exoskeleton. It is weighed against the energy curve like every other gram; whether it earns its place is not decided.
- The regulatory class (P3-25). 21 CFR 886.5900 in the United States and Class I self-declaration in the European Union are the nearest homes. Counsel confirms. The council decided only that the risk file and the software lifecycle start now.
- The glove's radio protocol and the pod-to-band link. Hardware chooses within one constraint: no radio on the reflex controller.
- The bench parameters. The sweep's terminal tap and its 800 versus 1000 ms repeat, the feel test's walking margin, the forward grid's pitch, the direct-sun range, the walk test's final thresholds. Each carries a modeled placeholder labeled as such until the bench overwrites it.