You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Generate 512 random GPS points within the radius using the browser's native CSPRNG (`crypto.getRandomValues`)
42
-
2. Convert raw `Uint16Array` integers (0–65535) to polar coordinates (random radius + angle)
43
-
3. Apply Silverman bandwidth estimation (KDE) over a 100×100 grid
44
-
4. Return the grid cell with the highest Gaussian kernel density as the attractor
42
+
1. Resolve the active `IntentionType` to its `IntentionConfig` (point count + KDE selector)
43
+
2. Generate N random GPS points within the radius using the browser's native CSPRNG (`crypto.getRandomValues`), where N varies per intention (256–1024)
44
+
3. Convert raw `Uint16Array` integers (0–65535) to polar coordinates (random radius + angle)
45
+
4. Apply Silverman bandwidth estimation (KDE) over a 100×100 grid
46
+
5. Select the result cell based on the intention's `kdeSelector`: `'max'` (highest density), `'min'` (lowest density), or a percentile fraction (0–1)
47
+
48
+
#### Intention Configs
49
+
50
+
| Intention | Point Count | KDE Selector |
51
+
|---|---|---|
52
+
|`explore`| 512 | 50th percentile |
53
+
|`routine`| 256 | 75th percentile |
54
+
|`synchronicity`| 1024 | max |
55
+
|`anomaly`| 512 | 85th percentile |
56
+
|`attractor`| 1024 | max |
57
+
|`repeller`| 512 | min |
58
+
|`planeshifting`| 256 | 25th percentile |
59
+
|`trial`| 512 | 90th percentile |
60
+
|`quest`| 768 | 60th percentile |
45
61
46
62
### Map Data (`mapDataService.ts`)
47
63
- Queries the Overpass API (with fallback across 4 mirror instances) for:
- Green `#22c55e` (green-500): public area polygons and toggle button
59
75
- Map tile: CartoDB dark_all
60
76
77
+
### Intention Colors
78
+
Each intention has its own accent color used in the capsule button and modal:
79
+
80
+
| Intention | Color |
81
+
|---|---|
82
+
| Explore the Unknown |`#6366f1` (indigo) |
83
+
| Break the Routine |`#f97316` (orange) |
84
+
| Synchronicity |`#a855f7` (purple) |
85
+
| The Anomaly |`#14b8a6` (teal) |
86
+
| Attractor |`#8b5cf6` (violet) |
87
+
| Repeller |`#ef4444` (red) |
88
+
| Planeshifting |`#22d3ee` (cyan) |
89
+
| The Trial |`#f59e0b` (amber) |
90
+
| The Quest |`#84cc16` (lime) |
91
+
92
+
The intention selector is a compact capsule button in the control panel. Clicking it opens a bottom-sheet modal with a list of intentions, each with an icon, name, and an info button that shows a floating viewport-aware tooltip.
93
+
61
94
## Coding Standards
62
95
63
96
1. Use latest idiomatic React (hooks, `memo` for pure components, `useRef` for non-reactive state)
- Toggle the display of parks, forests, and other public areas within your search radius.
16
-
- Automatically identify the 3 closest parking spots to your generated attractor.
17
-
- Open the coordinates directly in Google Maps.
17
+
- Automatically identify the 3 closest parking spots to your generated destination.
18
+
- Open the coordinates directly in Google Maps.
18
19
19
20
Built with React, Leaflet, and Tailwind CSS.
20
21
21
22
22
-
## 🧠 About the Theory
23
+
## About the Theory
23
24
24
25
OpenRando is inspired by the **Fatum Project**, a research initiative exploring "probability blind-spots" (places in the physical world that fall outside our daily deterministic routines). Read more about the theory [here](https://github.com/anonyhoney/fatum-en/blob/master/docs/fatum_theory.txt).
25
26
@@ -28,18 +29,13 @@ OpenRando is inspired by the **Fatum Project**, a research initiative exploring
28
29
-**Reality-Tunnels**: The mental and causal loops that limit our perspective and actions.
29
30
-**Blind-Spots**: Locations nearby that you would never visit because no logic or habit would ever lead you there.
30
31
31
-
### 🛠️ Hardware Entropy vs. QRNG
32
+
### Hardware Entropy vs. QRNG
32
33
33
34
While the original Fatum project often relies on external Quantum Random Number Generator (QRNG) servers (like ANU), OpenRando is designed for privacy, speed, and independence.
34
35
35
36
Instead of polling remote APIs, this application utilizes your device's native Cryptographically Secure Pseudo-Random Number Generator (CSPRNG). This algorithm generates randomness by harvesting local entropy from the system's hardware noise and environmental events.
36
37
37
38
This ensures that your exploration remains entirely local and private, while still providing the level of unpredictability needed to "break" deterministic outcomes.
38
39
39
-
40
40
## 🤝 Contributing
41
-
OpenRando is an open-source project and contributions are more than welcome! Whether you want to fix a bug or suggest a feature, feel free to open an Issue or submit a Pull Request.
42
-
43
-
44
-
## 📝 License
45
-
OpenRando is licensed under the MIT License.
41
+
OpenRando is an open-source project and contributions are more than welcome! Whether you want to fix a bug or suggest a feature, feel free to open an Issue or submit a Pull Request.
0 commit comments