1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>EVE Online Wormhole Rolling Guide & Mass Calculator</title> 7 8 <!-- SEO --> 9 <meta name="description" content="EVE Online Wormhole Mass Calculator â track wormhole mass, plan ship passes, and safely roll wormholes. Free tool for EVE Online pilots. Includes a wormhole rolling guide."> 10 <meta name="keywords" content="EVE Online, wormhole, mass calculator, wormhole rolling, wormhole stability, wormhole tracker, K162, rolling guide, wormhole mass tool, wspace"> 11 <meta name="author" content="eve-devoter.com"> 12 <meta name="robots" content="index, follow"> 13 <link rel="canonical" href="https://eve-devoter.com/"> 14 15 <!-- Translated descriptions for EVE Online player languages (picked up by regional crawlers) --> 16 <meta name="description" lang="de" content="EVE Online Wurmloch-Massenrechner â verfolge Wurmloch-Masse, plane Schiffsdurchgänge und rolle Wurmlöcher sicher. Kostenloses Tool für EVE-Piloten."> 17 <meta name="description" lang="ru" content="ÐалÑкÑлÑÑÐ¾Ñ Ð¼Ð°ÑÑÑ ÑеÑвоÑоÑÐ¸Ð½Ñ EVE Online â оÑÑлеживай маÑÑÑ ÑеÑвоÑоÑинÑ, планиÑÑй пÑÐ¾Ñ Ð¾Ð´Ñ ÐºÐ¾Ñаблей и безопаÑно ÑвоÑаÑивай ÑеÑвоÑоÑинÑ. ÐеÑплаÑнÑй инÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ Ð¿Ð¸Ð»Ð¾Ñов EVE."> 18 <meta name="description" lang="fr" content="Calculateur de masse de trou de ver EVE Online â suivez la masse, planifiez les passages et roulez les trous de ver en sécurité. Outil gratuit pour les pilotes EVE."> 19 <meta name="description" lang="ja" content="EVE Online ã¯ã¼ã ãã¼ã«è³ªéè¨ç®æ© â ã¯ã¼ã ãã¼ã«ã®è³ªéã追跡ããè¦è¹ã®ééãè¨ç»ããå®å ¨ã«ãã¼ã«ãã¾ããEVEãã¤ãããåãç¡æãã¼ã«ã"> 20 <meta name="description" lang="zh-CN" content="EVE Online è«æ´è´¨é计ç®å¨ â è¿½è¸ªè«æ´è´¨éï¼è§åè°è¹éè¿ï¼å®å ¨ç¿»æ»è«æ´ãEVEé£è¡åå è´¹å·¥å ·ã"> 21 <meta name="description" lang="ko" content="EVE Online ìí ì§ë ê³ì°ê¸° â ìí ì§ë ì¶ì , í¨ì íµê³¼ ê³í, ìì í ìí 롤ë§. EVE íì¼ë¿ì ìí ë¬´ë£ ë구."> 22 <meta name="description" lang="es" content="Calculadora de masa de agujero de gusano de EVE Online â rastrea la masa, planifica los pasos de naves y rueda los agujeros de gusano de forma segura. Herramienta gratuita para pilotos EVE."> 23 24 <!-- hreflang â tells search engines this tool is relevant to all EVE Online player languages --> 25 <link rel="alternate" hreflang="en" href="https://eve-devoter.com/"> 26 <link rel="alternate" hreflang="de" href="https://eve-devoter.com/"> 27 <link rel="alternate" hreflang="ru" href="https://eve-devoter.com/"> 28 <link rel="alternate" hreflang="fr" href="https://eve-devoter.com/"> 29 <link rel="alternate" hreflang="ja" href="https://eve-devoter.com/"> 30 <link rel="alternate" hreflang="zh-CN" href="https://eve-devoter.com/"> 31 <link rel="alternate" hreflang="ko" href="https://eve-devoter.com/"> 32 <link rel="alternate" hreflang="es" href="https://eve-devoter.com/"> 33 <link rel="alternate" hreflang="x-default" href="https://eve-devoter.com/"> 34 35 <!-- Open Graph (controls how the page looks in search previews and social sharing) --> 36 <meta property="og:title" content="EVE Online Wormhole Rolling Guide & Mass Calculator"> 37 <meta property="og:description" content="Track wormhole mass, plan ship passes, and safely roll wormholes. Free tool for EVE Online pilots."> 38 <meta property="og:type" content="website"> 39 <meta property="og:url" content="https://eve-devoter.com/"> 40 <meta property="og:site_name" content="EVE Wormhole Calculator â eve-devoter.com"> 41 <!-- JSON-LD structured data --> 42
42<script type="application/ld+json"> 43 { 44 "@context": "https://schema.org", 45 "@type": "WebApplication", 46 "name": "EVE Online Wormhole Rolling Guide & Mass Calculator", 47 "url": "https://eve-devoter.com/", 48 "description": "Free tool for EVE Online pilots to track wormhole mass, plan and execute wormhole rolling, and follow step-by-step rolling guides for battleship-sized wormholes.", 49 "applicationCategory": "GameApplication", 50 "operatingSystem": "Any", 51 "offers": { 52 "@type": "Offer", 53 "price": "0", 54 "priceCurrency": "USD" 55 }, 56 "keywords": "EVE Online, wormhole rolling, rolling wormholes, wormhole mass calculator, wspace, wormhole guide, battleship roll, HIC-free rolling", 57 "author": { 58 "@type": "Person", 59 "name": "Mr Devoter" 60 } 61 } 62 </script>
62 63 64 <link rel="preconnect" href="https://fonts.googleapis.com"> 65 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 66 <link href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;500;600;700&family=Roboto+Mono:wght@400;500&display=swap" rel="stylesheet"> 67 <link rel="stylesheet" href="style-ce328a67.css"> 68</head> 69<body> 70 <div id="app"> 71 <header> 72 <h1>EVE Online Wormhole Rolling Guide & Mass Calculator <small style="font-size: 0.45em; font-weight: normal; opacity: 0.75;">by eve-devoter.com</small></h1> 73 <nav id="main-nav" class="main-nav"> 74 <button class="nav-btn active" data-page="calculator">Calculator</button> 75 <button class="nav-btn" data-page="guide">Guide</button> 76 <button class="nav-btn" data-page="maths">Maths</button> 77 <button class="nav-btn" data-page="bonus">Bonus</button> 78 </nav> 79 </header> 80 81 <!-- Modal Overlay --> 82 <div id="modal-overlay" class="modal-overlay" style="display: none;"> 83 <div id="modal-content" class="modal-content"></div> 84 </div> 85 86 <!-- Calculator Results (always visible on calculator page) --> 87 <section id="results" class="card"> 88 <!-- Hangar Panel --> 89 <div id="hangar-panel" class="hangar-panel"> 90 <div id="hangar-migration-notice" class="hangar-migration-notice" style="display: none;"> 91 <div> 92 <strong>Virtual Hangar & Fleet improvements added</strong> 93 <span>Ship icons, hull-size filters, and auto-calculated ship masses are now available. Fleet templates now support paste-and-parse from a ship list or d-scan â cold and hot totals are computed automatically. Existing custom templates still work and can be edited to pick a real hull.</span> 94 </div> 95 <button type="button" id="dismiss-hangar-migration-notice" class="hangar-notice-dismiss">Dismiss</button> 96 </div> 97 <div class="hangar-header"> 98 <h3>Virtual Hangar</h3> 99 <div id="hangar-size-filter" class="hangar-size-filter" role="group" aria-label="Filter hangar by hull size"> 100 <button type="button" class="hangar-filter-btn active" data-size="All">All</button> 101 <button type="button" class="hangar-filter-btn" data-size="S"><span class="hull-size-badge" data-size="S">S</span></button> 102 <button type="button" class="hangar-filter-btn" data-size="M"><span class="hull-size-badge" data-size="M">M</span></button> 103 <button type="button" class="hangar-filter-btn" data-size="L"><span class="hull-size-badge" data-size="L">L</span></button> 104 <button type="button" class="hangar-filter-btn" data-size="XL"><span class="hull-size-badge" data-size="XL">XL</span></button> 105 <button type="button" id="hangar-visibility-toggle" class="hangar-filter-btn hangar-visibility-toggle" aria-expanded="true">Hide</button> 106 </div> 107 <div class="hangar-actions"> 108 <button id="add-ship-btn" class="btn-secondary" title="Add new ship template">+ Add Ship</button> 109 <button id="add-fleet-btn" class="btn-secondary" title="Add fleet template">+ Add Fleet</button> 110 <button id="restore-defaults-btn" class="btn-secondary" title="Restore default ship templates">⺠Defaults</button> 111 <button type="button" id="ship-images-toggle" class="hangar-filter-btn active" aria-pressed="true" title="Toggle ship images">Images</button> 112 </div> 113 </div> 114 <div id="hangar-list" class="hangar-list"></div> 115 116 <!-- Add/Edit Ship/Fleet Template Form (hidden by default) --> 117 <div id="ship-template-form" class="ship-template-form" style="display: none;"> 118 <h3 id="template-form-title">Add Ship Template</h3> 119 <div id="ship-picker-section" class="ship-picker-section"> 120 <div class="form-row ship-picker-row"> 121 <input type="text" id="ship-picker-input" list="ship-picker-list" placeholder="Select ship (optional)" autocomplete="off"> 122 <datalist id="ship-picker-list"></datalist> 123 </div> 124 <div id="ship-picker-preview" class="ship-picker-preview" style="display: none;"> 125 <img id="ship-picker-thumbnail" class="ship-thumbn
125ail ship-thumbnail--md" alt="" width="64" height="64" loading="lazy"> 126 <span id="ship-picker-hull-badge" class="hull-size-badge"></span> 127 </div> 128 </div> 129 <div class="form-row template-name-row"> 130 <input type="text" id="template-name" placeholder="Ship name (e.g., 'My Megathron')"> 131 </div> 132 <div class="form-row"> 133 <input type="text" id="template-desc" placeholder="Description (optional)"> 134 </div> 135 <!-- Ship mode inputs --> 136 <div id="ship-mode-section" class="mode-inputs"> 137 <div class="ship-fit-controls"> 138 <div class="ship-fit-control-block"> 139 <span class="ship-fit-label">Prop Mod</span> 140 <div id="prop-mod-buttons" class="prop-mod-buttons" role="group" aria-label="Prop mod size"> 141 <button type="button" class="prop-mod-btn active" data-prop-size="">None</button> 142 <button type="button" class="prop-mod-btn" data-prop-size="S"><span class="hull-size-badge" data-size="S">S</span></button> 143 <button type="button" class="prop-mod-btn" data-prop-size="M"><span class="hull-size-badge" data-size="M">M</span></button> 144 <button type="button" class="prop-mod-btn" data-prop-size="L"><span class="hull-size-badge" data-size="L">L</span></button> 145 <button type="button" class="prop-mod-btn" data-prop-size="XL"><span class="hull-size-badge" data-size="XL">XL</span></button> 146 </div> 147 </div> 148 <div class="ship-fit-control-block"> 149 <span class="ship-fit-label">Higgs Rig</span> 150 <button type="button" id="higgs-toggle" class="fit-toggle-btn" aria-pressed="false">Higgs</button> 151 </div> 152 <div class="ship-fit-control-block"> 153 <span class="ship-fit-label">Use Custom Mass</span> 154 <label class="custom-mass-toggle"> 155 <input type="checkbox" id="custom-mass-checkbox"> 156 <span class="custom-mass-note">Use custom mass numbers, for example if you have armor plates fitted</span> 157 </label> 158 </div> 159 </div> 160 <div class="mode-row"> 161 <label class="mode-label">Entangle:</label> 162 <input type="number" id="mode-entangle-min" placeholder="Min" step="0.1" min="0"> 163 <span class="mode-dash">â</span> 164 <input type="number" id="mode-entangle-max" placeholder="Max" step="0.1" min="0"> 165 </div> 166 <div class="mode-row"> 167 <label class="mode-label">Cold:</label> 168 <input type="number" id="mode-cold-min" placeholder="Min" step="0.1" min="0"> 169 <span class="mode-dash">â</span> 170 <input type="number" id="mode-cold-max" placeholder="Max" step="0.1" min="0"> 171 </div> 172 <div class="mode-row"> 173 <label class="mode-label">Hot:</label> 174 <input type="number" id="mode-hot-min" placeholder="Min" step="0.1" min="0"> 175 <span class="mode-dash">â</span> 176 <input type="number" id="mode-hot-max" placeholder="Max" step="0.1" min="0"> 177 </div> 178 </div> 179 <!-- Fleet mode inputs (hidden by default) --> 180 <div id="fleet-mode-section" class="mode-inputs" style="display: none;"> 181 <div class="form-row"> 182 <textarea id="fleet-dscan-input" class="fleet-dscan-textarea" placeholder="Paste ship list or d-scan hereâ¦" rows="7"></textarea> 183 </div> 184 <div class="form-row"> 185 <button type="button" id="fleet-parse-btn" class="btn-secondary">Parse / Calculate</button> 186 </div> 187 <div id="fleet-results-panel" class="fleet-results-panel" style="display: none;"> 188 <div id="fleet-results-list" class="fleet-results-list"></div> 189 <div class="fleet-mass-summary"> 190 <span class="fleet-mass-label">Cold:</span> 191 <input type="number" id="fleet-cold-input" class="fleet-mass-input" step="0.001" min="0" readonly>
192 <span class="fleet-mass-label fleet-mass-hot-label">Hot:</span> 193 <input type="number" id="fleet-hot-input" class="fleet-mass-input" step="0.001" min="0" readonly> 194 </div> 195 <label class="custom-mass-toggle fleet-custom-mass-row"> 196 <input type="checkbox" id="fleet-custom-mass-checkbox"> 197 <span class="custom-mass-note">Use custom mass numbers</span> 198 </label> 199 </div> 200 </div> 201 <div class="form-row"> 202 <button id="save-template-btn" class="btn-primary">Save</button> 203 <button id="cancel-template-btn" class="btn-secondary">Cancel</button> 204 </div> 205 <input type="hidden" id="template-edit-id" value=""> 206 <input type="hidden" id="template-type" value="ship"> 207 </div> 208 </div> 209 210 <!-- Session Bar --> 211 <div id="session-bar" class="session-bar"> 212 <button id="new-session-btn" class="btn-primary btn-new-session">+ New Session</button> 213 <div id="session-tiles" class="session-tiles"></div> 214 </div> 215 216 <div id="wormhole-summary" class="summary"></div> 217 218 <!-- Calculate Pass Area (connects side panels below chart) --> 219 <div id="calc-pass-area" class="calc-pass-area"> 220 <div class="calc-pass-info"> 221 <span id="draft-summary" class="draft-summary">No ships drafted</span> 222 <span id="draft-mass-range" class="draft-mass-range"></span> 223 <span id="draft-cumulative-preview" class="draft-cumulative-preview" style="display: none;" aria-live="polite"></span> 224 </div> 225 <div class="calc-pass-controls"> 226 <span class="calc-pass-heading">Select the new wormhole state after the drafted ships passed</span> 227 <div class="calc-pass-state-buttons"> 228 <button id="clear-draft-btn" class="calc-pass-state-btn cp-clear">Clear Draft</button> 229 <span class="cp-sep"></span> 230 <button id="calc-pass-stable" class="calc-pass-state-btn cp-stable" data-state="STABLE" disabled> 231 <span class="cp-btn-label">Stable</span> 232 <span class="cp-btn-pct"></span> 233 </button> 234 <button id="calc-pass-destab" class="calc-pass-state-btn cp-destab" data-state="DESTABILIZED" disabled> 235 <span class="cp-btn-label">Destab</span> 236 <span class="cp-btn-pct"></span> 237 </button> 238 <button id="calc-pass-crit" class="calc-pass-state-btn cp-crit" data-state="CRITICAL" disabled> 239 <span class="cp-btn-label">Crit</span> 240 <span class="cp-btn-pct"></span> 241 </button> 242 <button id="calc-pass-gone" class="calc-pass-state-btn cp-gone" data-state="GONE" disabled> 243 <span class="cp-btn-label">Gone</span> 244 <span class="cp-btn-pct"></span> 245 </button> 246 </div> 247 </div> 248 </div> 249 250 <!-- Data panel below chart --> 251 <div id="temp-data-panel" class="temp-data-panel"> 252 <div id="events-list" class="events"></div> 253 </div> 254 255 </section> 256 257 <!-- Guide Page --> 258 <section id="page-guide" class="page-section" style="display: none;"> 259 <div class="page-layout-with-sidebar"> 260 <nav class="page-sidebar"> 261 <div class="sidebar-tree"> 262 <button class="sidebar-btn active" data-guide-section="usage-guide">Usage Guide</button> 263 <div class="sidebar-children" id="usage-guide-children"> 264 <button class="sidebar-child-btn active" data-guide-section="usage-overview">Overview</button> 265 <button class="sidebar-child-btn" data-guide-section="usage-hangar">Virtual Hangar</button> 266 <button class="sidebar-child-btn" data-guide-section="usage-sessions">Sessions</button> 267 <button class="sidebar-child-btn" data-guide-section="usage-sending">Calculating Passes</button> 268 <button class="sidebar-child-btn" data-guide-section="usage-results">Results & Graph</button> 269 </div> 270 </div> 271 <div class="sidebar-tree"> 272 <button class="sidebar-btn" data-guide-section="rolling-guides">Rolling Guides</button> 273 <div class="sidebar-children" id="rolling-guides-children"> 274 <button class="sidebar-child-btn" data-guide-section="rolling-3b">Fresh Holes</button> 275 <button class="sidebar-child-btn" data-guide-section="stable-simple">Stable — Simple</button> 276 <button class="sidebar-child-btn" data-guide-section="stable-hicfree">Stable — HIC-Free</button> 277 </div> 278 </div> 279 </nav> 280 <div class="page-content"> 281 282 <!-- Usage Guide: Overview -->
283 <div id="guide-usage-overview" class="guide-section"> 284 <div class="card"> 285 <h2>Overview</h2> 286 <p>This site is a wormhole mass tracking tool for EVE Online. It helps you plan and execute wormhole rolling with precision by tracking every ship pass and computing tight bounds on remaining mass. Or maybe you really don't want to get rolled out, track your pvp or pve ships through wormholes.</p> 287 288 <h3>What You Can Do</h3> 289 <ul class="guide-list"> 290 <li><strong>Track mass passing through wormholes</strong> — record each ship pass and the observed state change to build up a picture of how much mass remains.</li> 291 <li><strong>Plan and execute rolling</strong> — use the draft preview to see whether your next pass will push the hole across a state boundary before you commit.</li> 292 <li><strong>Handle uncertainty</strong> — log estimated mass ranges for passes you didn't witness (intel, previous traffic). The engine carries that uncertainty forward correctly.</li> 293 </ul> 294 295 <h3>Key Features</h3> 296 <ul class="guide-list"> 297 <li><strong>Wormhole mass variance</strong> — every wormhole has ±10 % mass variance. The engine tracks all possible true sizes simultaneously (the graph y-axis shows the range).</li> 298 <li><strong>Uncertain ship masses</strong> — ships can have a mass range (e.g. with prop mods). The engine handles ranges, not just fixed values.</li> 299 <li><strong>Virtual Hangar</strong> — save ship templates with named travel modes so you can quickly assign ships to either side of a wormhole.</li> 300 <li><strong>Sessions</strong> — save up to 25 wormhole tracking sessions that persist across browser reloads. Switch between them at any time.</li> 301 <li><strong>Draft & Calculate</strong> — draft ships to preview the mass impact, then calculate the pass to record the observed state.</li> 302 <li><strong>Geometry chart</strong> — a live 2D chart showing the feasible region of (cumulative passed, total mass) with state boundary lines and draft overlays.</li> 303 </ul> 304 </div> 305 </div> 306 307 <!-- Usage Guide: Virtual Hangar --> 308 <div id="guide-usage-hangar" class="guide-section" style="display: none;"> 309 <div class="card"> 310 <h2>Virtual Hangar</h2> 311 <p>The Virtual Hangar is your personal fleet library. It stores ship templates so you can quickly assign ships to either side of a wormhole without re-entering mass values every time. Templates persist in your browser via IndexedDB, so they survive page reloads.</p> 312 <p>There are three template types, each suited to different tracking scenarios:</p> 313 <ul class="guide-list"> 314 <li><strong>Ship</strong> â A single hull with named travel modes. Pick a real EVE ship to fill its base mass automatically, or leave the picker blank for custom mass entry.</li> 315 <li><strong>Quick Mass</strong> â A simple numeric mass entry for one-off passes when you don't need a full ship template. Great for scouts or throwaway rolling ships.</li> 316 <li><strong>Fleet</strong> â Represents a group of ships as a single mass range. Paste a ship list or d-scan, and the app looks up hull masses from its ship database to compute Cold and Hot totals automatically. A composite thumbnail shows up to four of the most common ship types.</li> 317 </ul> 318 <h3>Fleet Templates</h3> 319 <ul class="guide-list"> 320 <li>Click <strong>+ Add Fleet</strong> and paste a ship list (one ship name per line) or a raw d-scan into the text box.</li> 321 <li>Click <strong>Parse / Calculate</strong> to look up hull masses and fill in Cold and Hot totals. The fleet name is suggested automatically based on the most common ship type.</li> 322 <li>Check <strong>Use Custom Mass</strong> to override the calculated totals with your own values â useful if the fleet has unusual fits.</li> 323 <li>Fleet instances in the side panel use <strong>Cold</strong>, <strong>Hot</strong>, and <strong>Unknown</strong> modes, just like ship templates.</li> 324 </ul> 325 <h3>Ship Templates</h3>
326 <ul class="guide-list"> 327 <li>Use <strong>Select ship</strong> to choose a hull from the EVE ship database. The form shows its hull size badge and thumbnail, then fills Cold mass from the ship's base mass.</li> 328 <li>Choose a <strong>Prop Mod</strong> size to add a Hot mode. The app only enables prop sizes that fit the selected hull; oversized prop fits add an <strong>OP</strong> tag to auto-generated names.</li> 329 <li>Toggle <strong>Higgs</strong> when the fit has a Higgs Anchor. Higgs doubles Cold and Hot mass, including the prop-mod mass, so a 100 Gg battleship with a large prop becomes about 200 Gg Cold and 300 Gg Hot.</li> 330 <li>For HICs and the Odysseus, enter <strong>Entangle</strong> mass manually. If an entangle value is set, auto-generated names include <strong>ENT</strong>.</li> 331 <li>Check <strong>Use Custom Mass</strong> to keep the selected hull identity and icon while entering manual mass values, for example if you have armor plates fitted.</li> 332 </ul> 333 <h3>Working with the Hangar</h3> 334 <ul class="guide-list"> 335 <li>Click <strong>+ New Ship</strong> to open the template form. Auto-generated ship names update with Higgs, OP, and ENT tags until you type your own name.</li> 336 <li>Use the <strong>S</strong>, <strong>M</strong>, <strong>L</strong>, and <strong>XL</strong> filter buttons to show saved real-ship templates by hull size. Custom templates appear under <strong>All</strong>.</li> 337 <li>Click <strong>Hide</strong> at the end of the filter buttons to collapse the hangar list down to its title bar; click <strong>Show</strong> to expand it again.</li> 338 <li>Use the <strong>â L</strong> and <strong>R â¶</strong> buttons on a template card to place a copy on the left or right side of the wormhole. You can place multiple copies of the same template.</li> 339 <li>Use the <strong>â²</strong> and <strong>â¼</strong> buttons to reorder ships within a side panel.</li> 340 <li>Edit or delete templates at any time â existing copies on the sides are not affected.</li> 341 <li>Hit <strong>Restore Defaults</strong> to re-add the starter ship templates if you've deleted them.</li> 342 </ul> 343 <h3>Tips</h3> 344 <ul class="guide-list"> 345 <li>If you enter only a <strong>min</strong> value and leave max blank, the max will be set to the same value â handy when you know the exact mass.</li> 346 <li>You can use <strong>decimal places</strong> for accuracy (e.g. 301.5 Gg).</li> 347 <li>Consider replacing the default ship templates with your own fits. The defaults are a starting point â your actual ship masses may differ.</li> 348 </ul> 349 </div> 350 </div> 351 352 <!-- Usage Guide: Sessions --> 353 <div id="guide-usage-sessions" class="guide-section" style="display: none;"> 354 <div class="card"> 355 <h2>Sessions</h2> 356 <p>Each wormhole you track is stored as a <strong>session</strong>. Sessions persist in your browser, so you can close the tab and come back later. You can have up to <strong>25 saved sessions</strong> at a time.</p> 357 358 <h3>Starting a Session</h3> 359 <ul class="guide-list"> 360 <li>Click <strong>+ New Session</strong> to open the wormhole selection screen.</li> 361 <li>Use the filters to find your wormhole — type a code directly, or filter by <strong>Appears In</strong> (where the hole spawns), <strong>Destination</strong> (where it leads), and <strong>Max Ship Size</strong>.</li> 362 <li>Star your frequently used wormholes to add them to the <strong>favourites bar</strong> at the top of the selection screen for quick access.</li> 363 <li>After selecting a wormhole, choose the <strong>current state</strong>: Stable and Fresh (you saw it spawn), Stable, Destabilized, or Critical. This tells the engine how much mass may have already passed.</li> 364 </ul> 365 366 <h3>Managing Sessions</h3>
367 <ul class="guide-list"> 368 <li>Session tiles appear in the bar below the hangar. Click a tile to switch to that session.</li> 369 <li><strong>Rename</strong> a session by clicking its name in the tile â it becomes editable inline. Press Enter or click away to save.</li> 370 <li><strong>Delete</strong> a session using the <strong>×</strong> button on its tile.</li> 371 <li>The tile shows the wormhole code, number of passes, and when the session was created.</li> 372 <li>If you have many sessions, the bar scrolls horizontally.</li> 373 <li>Click the <strong>ð</strong> button on a session tile to open <strong>session notes</strong> â a free-text scratchpad for that session. Notes are saved automatically when you close the popup.</li> 374 </ul> 375 </div> 376 </div> 377 378 <!-- Usage Guide: Calculating Ship Passes --> 379 <div id="guide-usage-sending" class="guide-section" style="display: none;"> 380 <div class="card"> 381 <h2>Calculating Ship Passes</h2> 382 <p>After ships have passed through the wormhole in EVE and you've noted the new state, you record that information here. Place ship templates on a side panel, then <strong>draft</strong> the ships that passed by clicking their mode buttons (e.g. "Cold", "Hot"). Each drafted ship highlights and its mass is added to the draft total in the Calculate Pass bar below the chart.</p> 383 384 <h3>Drafting Passes</h3> 385 <p>As you draft ships, a translucent blue overlay appears on the geometry chart showing where the cumulative mass would land â useful for planning future passes before they happen in-game.</p> 386 <p>When the draft envelope crosses a state boundary, the calculator clips it against each state band and shows a <strong>chance of state change</strong> percentage breakdown below the chart. For example:</p> 387 <div class="guide-pct-example" aria-label="Example state probability display"> 388 <span class="sb-label">chance of state change</span> 389 <span class="sb-pct sb-stable" title="stable: 0.00000%">0.0%</span><span class="sb-sep">|</span><span class="sb-pct sb-destab sb-active" title="destab: 40.82361%">40.8%</span><span class="sb-sep">|</span><span class="sb-pct sb-crit sb-active" title="crit: 59.16057%">59.2%</span><span class="sb-sep">|</span><span class="sb-pct sb-gone sb-active" title="gone: 0.01582%">0.0%</span> 390 </div> 391 <p>Reading the percentages:</p> 392 <ul class="guide-list"> 393 <li><strong>Dark grey, not hoverable</strong> â a true 0% chance. That state is unreachable from the current state (e.g. you can't go back to Stable from Destabilized).</li> 394 <li><strong>Coloured, hoverable, shows 0.0%</strong> â not actually zero. The fraction is too small to show at 1 decimal place but there is a non-zero chance. Hover to see the precise value in the tooltip (e.g. <span class="sb-pct sb-crit sb-active" title="crit: 0.00347%" style="display:inline; padding: 1px 4px;">0.0%</span> might reveal <em>crit: 0.00347%</em>).</li> 395 <li><strong>Hover over any coloured percentage</strong> to highlight the corresponding clipped sub-polygon on the chart, showing exactly which region belongs to that state.</li> 396 </ul> 397 <p>You can draft ships from both sides in the same pass â the solver treats it as one combined mass event.</p> 398 399 <h3>Recording a Pass</h3> 400 <p>A pass records two things together: <strong>the mass that went through</strong> and <strong>the wormhole state you observed afterwards</strong>. The solver needs both â the mass narrows the remaining range, and the observed state constrains which part of that range is actually possible. That's why the Calculate Pass bar requires drafted ships <em>and</em> a selected state before you can commit.</p> 401 <ul class="guide-list"> 402 <li>Draft the ships that passed by clicking their mode buttons on the side panels.</li> 403 <li>Select the <strong>observed state</strong> after the pass â Stable, Destabilized, Critical, or Gone â using the radio buttons in the Calculate Pass bar.</li> 404 <li>Click <strong>Calculate Pass</strong> to commit. The solver recalculates the feasible region and the chart updates with a new event polygon.</li> 405 <li>Ships that passed move to the opposite side automatically.</li> 406 <li>Use <strong>Clear</strong> to un-draft all ships without calculating, or click individual mode buttons to toggle ships on/off.</li> 407 <li><strong>Rename</strong> a ship instance by clicking its name on the side panel â it becomes editable inline. Handy for labelling which pilot is flying which ship.</li> 408 <li>If you make a mistake, you can undo events by clicking the <strong>×</strong> button next to them in the events table.</li> 409 </ul> 410 411 <h3>Impossible States</h3> 412 <p>If you record a pass and the selected state is impossible â for example, reporting <strong class="guide
412-color-stable">Stable</strong> after enough mass has passed that the hole must be destabilized â the event row will show <strong>"This state is impossible for the given information"</strong> instead of the usual geometry columns. This means the solver cannot find any feasible region where the observed state is consistent with the cumulative mass passed so far.</p> 413 <p>When this happens, check that you selected the correct state after the pass and that the ship masses are accurate. You can delete the invalid event with the <strong>×</strong> button and re-enter it with the correct state.</p> 414 <p>The most common cause is selecting the initial state as <strong>Stable & Fresh</strong> when you don't actually know how much mass has already passed. Fresh assumes zero prior usage, so the solver has a much tighter feasible range. If the hole's history is unknown, use <strong>Stable</strong> instead â this allows for the possibility that some mass has already gone through.</p> 415 </div> 416 </div> 417 418 <!-- Usage Guide: Results & Graph --> 419 <div id="guide-usage-results" class="guide-section" style="display: none;"> 420 <div class="card"> 421 <h2>Results & Graph</h2> 422 <p>After each pass the constraint solver recomputes the feasible region and renders it on the geometry chart.</p> 423 424 <h3>Reading the Axes</h3> 425 <ul class="guide-list"> 426 <li><strong>X axis (horizontal)</strong> â Cumulative mass passed through the wormhole so far, in Gg. This grows with every pass you send.</li> 427 <li><strong>Y axis (vertical)</strong> â Total original mass of the wormhole, in Gg. Because the game only tells you a range (e.g. 2,700â3,300 Gg), the chart plots every possible value in that range.</li> 428 </ul> 429 430 <h3>Coloured Areas</h3> 431 <p>Each event pass draws two overlapping polygons on the chart:</p> 432 <ul class="guide-list"> 433 <li><strong>Translucent dashed outline</strong> â The <em>possible</em> region. This is the broadest area where the true cumulative + wormhole-mass point could lie, given everything observed so far.</li> 434 <li><strong>Solid filled area</strong> â The <em>certain</em> (known) region. Mass that has definitely passed through â there is no uncertainty here. This grows as you send more passes with exact masses.</li> 435 </ul> 436 <p>The colour of these areas reflects the wormhole state reported after that pass:</p> 437 <ul class="guide-list"> 438 <li><strong class="guide-color-stable">Green</strong> â Stable (more than 50 % mass remaining).</li> 439 <li><strong class="guide-color-destab">Yellow / Amber</strong> â Destabilized (between 10 % and 50 % remaining).</li> 440 <li><strong class="guide-color-critical">Red</strong> â Critical (less than 10 % remaining).</li> 441 <li><strong class="guide-color-gone">Dark grey</strong> â Gone (the wormhole has collapsed).</li> 442 </ul> 443 444 <h3>State Boundary Lines</h3> 445 <p>Three diagonal lines cross the chart showing where state transitions happen:</p> 446 <ul class="guide-list"> 447 <li><strong class="guide-color-destab">Yellow line</strong> â Destabilization boundary (50 % mass remaining). Crossing this line means the hole goes from Stable to Destabilized.</li> 448 <li><strong class="guide-color-critical">Red line</strong> â Critical boundary (10 % remaining). Past this the hole is in a critical state and could collapse at any time.</li> 449 <li><strong class="guide-color-gone">Grey line</strong> â Gone boundary (0 % remaining). Reaching this line means the wormhole has fully collapsed.</li> 450 </ul> 451 452 <h3>Draft Preview (Blue Overlay)</h3> 453 <p>When you draft ships for a pass, a <strong class="guide-color-draft">translucent blue</strong> overlay appears showing where the cumulative mass would shift to if you send that pass. This lets you preview whether the pass will push the wormhole across a state boundary â helping you decide if it's s
453afe to commit.</p> 454 <hr /> 455 <h3>Example 1 â Stable Passes + Draft</h3> 456 <p>A 2,700â3,300 Gg wormhole. A total of 1,300 Gg has been sent through across multiple passes (all <strong class="guide-color-stable">Stable</strong>), and a 300 Gg ship is drafted.</p> 457 <div class="static-chart-container" id="guide-chart-usage" data-chart="usage"></div> 458 <p class="guide-interactive-hint"><strong>▶ Click the event numbers below to see the chart at each step.</strong></p> 459 <ul class="guide-list"> 460 <li><button class="guide-event-btn active" data-chart="guide-chart-usage" data-event="0" data-draft="false">1</button>The first pass of 0-10 represents intel that several scouts may have passed. The <strong class="guide-color-stable">green dashed outline</strong> is very thin â almost no cumulative mass, but the full Y range is possible.</li> 461 <li><button class="guide-event-btn" data-chart="guide-chart-usage" data-event="2" data-draft="false">2</button>After 1,300 Gg of rolling battleships have passed, the <strong class="guide-color-stable">solid green area</strong> shows the certain mass. The dashed outline extends ~10 Gg further to account for the scout uncertainty. Everything is still within the <strong class="guide-color-stable">Stable</strong> zone (left of the <strong class="guide-color-destab">yellow destab line</strong>).</li> 462 <li><button class="guide-event-btn" data-chart="guide-chart-usage" data-event="2" data-draft="true">D</button>The <strong class="guide-color-draft">blue overlay</strong> previews a drafted 300 Gg pass. It would push cumulative mass to ~1,600â1,610 Gg â right on the <strong class="guide-color-destab">yellow destab line</strong>, meaning this pass may or may not destabilize the hole.</li> 463 </ul> 464 <hr /> 465 <h3>Example 2 â Uncertainty + Destabilization</h3> 466 <p>Same wormhole (2,700â3,300 Gg), but this time there's early uncertainty and the hole destabilizes.</p> 467 <div class="static-chart-container" id="guide-chart-example2" data-chart="example2"></div> 468 <p class="guide-interactive-hint"><strong>▶ Click the event numbers below to see the chart at each step.</strong></p> 469 <ul class="guide-list"> 470 <li><button class="guide-event-btn active" data-chart="guide-chart-example2" data-event="0" data-draft="false">1</button>Intel suggests a medium T3C fleet may have passed â you can't be sure, so you log 0â200 Gg. The <strong class="guide-color-stable">green dashed outline</strong> spans the full 0â200 range on the X axis with no certain region (it's all uncertain).</li> 471 <li><button class="guide-event-btn" data-chart="guide-chart-example2" data-event="1" data-draft="false">2</button>You push 1,200 Gg of rolling battleships through and the hole stays <strong class="guide-color-stable">Stable</strong>. The solid green certain area reaches 1,200 Gg. The dashed possible region extends to ~1,400 Gg because of the 0â200 uncertainty from Pass 1. Notice the possible region clips against the <strong class="guide-color-destab">destab line</strong> â the solver knows the hole can't be past that boundary while still showing as Stable within Eve (and recorded as such here).</li> 472 <li><button class="guide-event-btn" data-chart="guide-chart-example2" data-event="2" data-draft="false">3</button>Another 300 Gg goes through and the hole <strong class="guide-color-destab">Destabilizes</strong>. The polygons turn amber. The certain and possible regions are now irregular pentagons â constrained by the destab boundary (must be past 50 % used).</li> 473 <li><button class="guide-event-btn" data-chart="guide-chart-example2" data-event="2" data-draft="true">D</button>The <strong class="guide-color-draft">blue draft overlay</strong> shows a 300â400 Gg range pass being considered. Because of the accumulated uncertainty, the draft envelope is wider and angled â it follows the shape of the destabilized polygon shifted right.</li> 474 </ul> 475 </div> 476 </div> 477 478 <!-- Rolling Guides: Fresh 3000 Gg -->
479 <div id="guide-rolling-3b" class="guide-section" style="display: none;"> 480 <div class="card"> 481 <h2>Fresh Holes</h2> 482 <h3>Battleship-sized wormholes</h3> 483 484 <p><strong>The Method:</strong> Push exactly half the nominal mass through the hole to learn whether it is above or below nominal size, then finish the roll with the right number of ships.</p> 485 486 <p>This guide assumes Rolling Battleships with a <strong>Higgs Anchor</strong> fitted, so you can pass the wormhole <strong>Cold</strong> (prop mod off) for ~200 Gg or <strong>Hot</strong> (prop mod on) for ~300 Gg.</p> 487 <p class="guide-note">Note: Small differences — e.g. your Rolling Battleships are not exactly 300 Gg, or you send scouts out — can occasionally produce edge cases where this procedure doesn't close the hole, or rolls you out.</p> 488 489 <h3>Quick Reference</h3> 490 <table class="guide-summary-table"> 491 <thead> 492 <tr> 493 <th>Hole</th> 494 <th>Step 1</th> 495 <th><span class="guide-color-destab">Destabilized?</span> (below nominal)</th> 496 <th><span class="guide-color-stable">Still Stable?</span> (above nominal)</th> 497 </tr> 498 </thead> 499 <tbody> 500 <tr> 501 <td><strong>3000 Gg</strong></td> 502 <td>3 COLD, 3 HOT</td> 503 <td>3 COLD, 3 HOT</td> 504 <td>6 HOT</td> 505 </tr> 506 <tr> 507 <td><strong>2000 Gg</strong></td> 508 <td>2 COLD, 2 HOT</td> 509 <td>2 COLD, 2 HOT</td> 510 <td>4 HOT</td> 511 </tr> 512 <tr> 513 <td><strong>1000 Gg</strong></td> 514 <td>1 COLD, 1 HOT</td> 515 <td>1 COLD, 1 HOT</td> 516 <td>2 HOT</td> 517 </tr> 518 </tbody> 519 </table> 520 521 <hr class="guide-divider"> 522 <h3>Example Case — 3000 Gg</h3> 523 524 <p class="guide-flow-overview">3 <strong>Cold</strong> and 3 <strong>Hot</strong> passes → check state:<br> 525 ↓ <strong class="guide-color-destab">Destabilized</strong> (small hole) — 3 <strong>Cold</strong> and 3 <strong>Hot</strong> passes<br> 526 ↓ <strong class="guide-color-stable">Stable</strong> (large hole) — 6 <strong>Hot</strong> passes</p> 527 <div class="static-chart-container" id="guide-chart-roll-3b" data-chart="roll3b"></div> 528 <p class="guide-interactive-hint"><strong>▶ Click the event numbers below to see the chart at each step.</strong></p> 529 <h3>Step 1 — Scout & Send Half Mass</h3> 530 <ul class="guide-list"> 531 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="first_half" data-event="0" data-draft="false">1</button>Jump a CovOps through to see what's on the other side (1 Gg). The hole stays <strong class="guide-color-stable">Stable</strong>.</li> 532 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="first_half" data-event="1" data-draft="false">2</button>Send 3 Rolling Battleships (BS) out <strong>Cold</strong>. Still <strong class="guide-color-stable">Stable</strong>.</li> 533 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="first_half" data-event="1" data-draft="true">D</button>Draft: Bring 3 Rolling Battleships back <strong>Hot</strong> for 1,500 Gg total. The <strong class="guide-color-draft">blue draft line</strong> sits right on the <strong class="guide-color-destab">destab boundary</strong> — this pass will reveal whether the hole is above or below nominal.</li> 534 </ul> 535 536 <h3>Step 2 — Read the Result</h3> 537 <p>
537The hole either <strong class="guide-color-destab">Destabilizes</strong> or stays <strong class="guide-color-stable">Stable</strong>. This tells you if it's a small or large hole, and determines how many to complete the roll.</p> 538 539 <h3 class="guide-fork-label">It Destabilized → Small Hole (3 COLD and 3 HOT again)</h3> 540 <ul class="guide-list"> 541 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="small" data-event="2" data-draft="false">3</button>The first BS passes <strong class="guide-color-destab">Destabilized</strong> the hole â it's a smaller hole (⤠3,000 Gg). The excluded band at the top confirms larger sizes are ruled out.</li> 542 <li>3 <strong>Cold</strong> and 3 <strong>Hot</strong> passes to roll the hole:</li> 543 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="small" data-event="3" data-draft="false">5</button>Send 3 BS out <strong>Cold</strong>. Still <strong class="guide-color-destab">Destabilized</strong>.</li> 544 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="small" data-event="4" data-draft="false">6</button>Bring 2 BS back <strong>Hot</strong> â the hole goes <strong class="guide-color-critical">Critical</strong>.</li> 545 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="small" data-event="5" data-draft="false">7</button>Final 1 back <strong>Hot</strong> â <strong class="guide-color-gone">Gone</strong>. Hole collapsed.</li> 546 </ul> 547 548 <h3 class="guide-fork-label">Still Stable → Large Hole (6 HOT)</h3> 549 <ul class="guide-list"> 550 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="large" data-event="2" data-draft="false">3</button>The first BS passes left the hole an unchanged <strong class="guide-color-stable">Stable</strong> â it's a larger hole (⥠3,000 Gg). The excluded band at the bottom confirms smaller sizes are ruled out.</li> 551 <li>6 <strong>Hot</strong> passes to roll the hole:</li> 552 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="large" data-event="3" data-draft="false">4</button>Send 3 BS out <strong>Hot</strong>. <strong class="guide-color-stable">Destabilized</strong>.</li> 553 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="large" data-event="4" data-draft="false">5</button>Bring 2 BS back <strong>Hot</strong> â the hole goes <strong class="guide-color-critical">Critical</strong>.</li> 554 <li><button class="guide-event-btn" data-chart="guide-chart-roll-3b" data-source="large" data-event="5" data-draft="false">6</button>Final 1 back <strong>Hot</strong> â <strong class="guide-color-gone">Gone</strong>. Hole collapsed.</li> 555 </ul> 556 <p>You can also do it with 6 battleships in one pass, just make sure the final jump is <strong>Hot</strong> (reverse order can lose you a BS)</p> 557 </div> 558 </div> 559 560 <!-- Stable â Simple --> 561 <div id="guide-stable-simple" class="guide-section" style="display: none;"> 562 <div class="card"> 563 <h2>Stable Holes — Simple Method</h2> 564 <h3>Battleship-sized wormholes with unknown prior traffic</h3> 565 566 <p>This is the quickest method to remember. It requires a <strong>HIC</strong> (Heavy Interdictor) and can need up to 3 HIC passes. There is a very small risk of rolling out a ship.</p> 567 568 <h3>Overview</h3> 569 <ol class="guide-list"> 570 <li><strong>Pass BS until Critical.</strong> While the hole is still <strong class="guide-color-stable">Stable</strong> or just <strong class="guide-color-destab">Destabilized</strong> you can send many at once, but as you approach <strong class="guide-color-critical">Critical</strong> send them one at a time.</li> 571 <li><strong>BS on the far side?</strong>
571 If the hole goes <strong class="guide-color-critical">Critical</strong> with a BS on the far side, bring it back <strong>Hot</strong> to attempt a roll.</li> 572 <li><strong>No BS on the far side, or the roll attempt failed?</strong> Use HIC passes (fully entangled out, then Hot back) to finish the hole.</li> 573 </ol> 574 575 <h3>Size-specific Notes</h3> 576 <table class="guide-summary-table"> 577 <thead> 578 <tr> 579 <th>Hole</th> 580 <th>Phase 1 (to Crit)</th> 581 <th>Notes</th> 582 </tr> 583 </thead> 584 <tbody> 585 <tr> 586 <td><strong>3300 Gg</strong></td> 587 <td>BS <strong>Hot</strong> until crit</td> 588 <td>Very tiny chance (~0.01%) of HOT pass that is close to crit going straight from destab to gone</td> 589 </tr> 590 <tr> 591 <td><strong>3000 Gg</strong></td> 592 <td>BS <strong>Hot</strong>, switch to <strong>Cold</strong> near crit</td> 593 <td>~2.5% chance of destab → gone on a HOT pass; use Cold when close to critical</td> 594 </tr> 595 <tr> 596 <td><strong>2000 Gg</strong></td> 597 <td>BS <strong>Cold</strong> (180 Gg Praxis) near crit</td> 598 <td>Smaller hole needs more care approaching critical state. The smaller Praxis BS is safer to use to avoid roll out</td> 599 </tr> 600 </tbody> 601 </table> 602 <p class="guide-note">Each fully-entangled HIC pass also carries a small risk (< 1%) of being rolled out.</p> 603 604 <hr class="guide-divider"> 605 <p>For a safer alternative that removes these risk windows and doesn’t need a HIC at all, see <strong>Stable — HIC-Free</strong> in the sidebar.</p> 606 </div> 607 </div> 608 609 <!-- Stable â HIC-Free --> 610 <div id="guide-stable-hicfree" class="guide-section" style="display: none;"> 611 <div class="card"> 612 <h2>Stable Holes — HIC-Free Method</h2> 613 <h3>Battleship-sized wormholes with unknown prior traffic</h3> 614 615 <div class="guide-callout"> 616 <strong>Advantages</strong> 617 <ul class="guide-list"> 618 <li>No HIC required — cruisers or haulers work. (less SP needed, and cheaper)</li> 619 <li>Eliminates the tiny rollout risks from the simple method.</li> 620 <li>All steps use multiple pilots / ships — with no need to wait for re-approaches it is faster.</li> 621 <li>The exact same method works for doorstopping as you will always have a single BS on the far side with a final roll ready</li> 622 </ul> 623 </div> 624 625 <p>You are encouraged to enter your exact ship masses in the calculator and track passes while learning the method — this helps you understand why it is safe.</p> 626 627 <h3>Ships</h3> 628 <table class="guide-summary-table"> 629 <thead><tr><th>Role</th><th>Fit</th><th>Cold</th><th>Hot</th></tr></thead> 630 <tbody> 631 <tr><td><strong>BS</strong></td><td>Higgs Battleship</td><td>198-199 Gg</td><td>298-299 Gg</td></tr> 632 <tr><td><strong>Cruiser</strong></td><td>Higgs + Overprop fitted Cruiser / Hauler</td><td>18-33 Gg</td><td>118-133 Gg</td></tr> 633 </tbody> 634 </table> 635 <p class="guide-note">Any cruiser or battle cruiser will work here, also a Sigil.</p> 636 <p class="guide-note">A HIC is not required but can fill the cruiser role (Hot/Cold, no entangle needed).</p> 637 638 <div class="guide-overview-panel"> 639 <h3>Three-Phase Overview</h3> 640 <ol class="guide-list"> 641 <li><strong>Phase 1 — Destabilize:</strong> Send BS <strong>Hot</strong>
641, checking state after each jump until <strong class="guide-color-destab">Destabilized</strong>. Note how many BS are on the far side when that happens. (Don’t exceed the “max” in the table below for ships on the far side at any one time.)</li> 642 <li><strong>Phase 2 — Fixed Mass:</strong> Pass a precise amount through the hole to approach or slightly cross the <strong class="guide-color-critical">Critical</strong> threshold. The recipe depends on whether you had an <em>odd</em> or <em>even</em> number of BS on the far side, with the goal of ending with exactly <strong>1 BS on the far side</strong>.</li> 643 <li><strong>Phase 3 — Cruiser Probe & Roll:</strong> Use cruiser passes and the timing of the hole going <strong class="guide-color-critical">Critical</strong> to safely determine when to bring back the final BS for the <strong class="guide-color-gone">roll</strong>.</li> 644 </ol> 645 <p class="guide-note">There is room for 1 frigate / destroyer scout on the far side if they go out before Phase 1 and return during Phase 3. Possibly a lot more space too — use the tracker for each hole to confirm.</p> 646 <div class="guide-popout-group"> 647 <button class="guide-popout-btn" data-popout-img="images/rolling-stables-quickref.png" title="Open full-size quick reference">🖼 Pop Out Quick Reference</button> 648 <a class="guide-download-btn" href="images/rolling-stables-quickref.png" download="rolling-stables-quickref.png" title="Download full-size PNG">⬇ Download PNG</a> 649 </div> 650 </div> 651 652 <button class="guide-expand-btn" data-expand-target="phase1-detail"> 653 <span class="expand-icon">▶</span> Phase 1 Detail — Why Hot BS Passes? 654 </button> 655 <div class="guide-expandable" id="phase1-detail"> 656 <p>The reason to use hot BS passes is to destabilize the hole as quickly as possible.</p> 657 <p>In this phase it is OK to queue up a bunch of BS on the hole and jump out one by one, checking the state and stopping when destabilization occurs. Stack up the BS on the far side while doing this — don’t bring them back yet. If you run out of battleships, or you reach the max of 4/5/6 on the far side, then start sending them back one at a time. This reduces any unnecessary polarization and is faster because you are never waiting for a re-approach.</p> 658 <p>Before this phase we know very little about the mass on the hole. It could be a larger variant with no mass passed, or a smaller variant just about to go destab. Either way, once we hit destab we have a much clearer idea of where we are up to.</p> 659 </div> 660 661 <button class="guide-expand-btn" data-expand-target="phase2-detail"> 662 <span class="expand-icon">▶</span> Phase 2 Detail — Odd vs Even, Worked Examples 663 </button> 664 <div class="guide-expandable" id="phase2-detail"> 665 <p>At the point of just hitting destabilization you could have between zero and six BS on the far side. Note whether it is an even number (zero is even) or odd, so that the next instruction will be tailored to leave you with a single BS remaining on the far side at the end.</p> 666 <p>It is still up to you to work out which jumps to do. For example, if you have 1 BS on the far side of a 3000 Gg hole and the instruction says 1 hot, 3 cold — you would do 2 out, 2 back. Or a 3300 Gg hole with 4 on the far side — you would do 4 back cold, 1 out cold.</p> 667 <p>All of these Phase 2 jumps can happen at the same time — no need to check state, as we are just eating up the destab region. We might just about crit the hole with the last jump; that can be checked at the end.</p> 668 <p>This single BS remaining gives us 300 Gg of variance on the final roll to play with. The hole can have 1 Gg of mass left or 299 Gg and we can still roll.</p> 669 </div> 670
671 <button class="guide-expand-btn" data-expand-target="phase3-detail"> 672 <span class="expand-icon">▶</span> Phase 3 Detail — Cruiser Crit & Safe Roll 673 </button> 674 <div class="guide-expandable" id="phase3-detail"> 675 <p>With a BS sat ready for the final roll on the far side, we will use cruisers to crit the hole safely, then use safe return passes — checking available mass — to roll the hole.</p> 676 <p>The roll guide flowchart can be followed without checking mass closely and will work for any cruiser fit between 18 and 33 Gg. This is basically all cruisers from the Cynabal (smallest) to the Devoter (largest). You can use a combat-fit Hurricane if you like (~27 Gg) as long as it is Higgs and 100MN fitted. A Sigil is also a cheap, easily skilled option (~22 Gg) but is slow on re-approach.</p> 677 <p></p> 678 <p>The 3300 Gg hole could need 3 cruisers. If after 2 have gone out hot and 1 back hot the hole is still not crit, there is a chance the final cruiser plus BS returning hot will still not close the hole. In that case, do a 3rd cold–cold cruiser pass before the final cruiser/BS combo come back hot. This can be avoided by using a ~30 Gg cruiser, which guarantees the need for only 2 cruisers here. A Maller with 800 + 400mm T2 plates is recommended.</p> 679 </div> 680 681 <h3>Quick Reference — All Sizes</h3> 682 <table class="guide-summary-table guide-summary-table-wide"> 683 <thead> 684 <tr> 685 <th>Hole</th> 686 <th>Phase 1</th> 687 <th>Phase 2 (Even)</th> 688 <th>Phase 2 (Odd)</th> 689 <th>Phase 3</th> 690 </tr> 691 </thead> 692 <tbody> 693 <tr> 694 <td><strong>3300 Gg</strong></td> 695 <td>BS HOT ×1–7<br><small>max of 6 on far side</small></td> 696 <td>5 COLD<br><small>(1000 Gg)</small></td> 697 <td>2 HOT, 2 COLD<br><small>(1000 Gg)</small></td> 698 <td>see decision tree or pop out quick reference</td> 699 </tr> 700 <tr> 701 <td><strong>3000 Gg</strong></td> 702 <td>BS HOT ×1–6<br><small>max of 5 on far side</small></td> 703 <td>3 HOT<br><small>(900 Gg)</small></td> 704 <td>1 HOT, 3 COLD<br><small>(900 Gg)</small></td> 705 <td>see decision tree or pop out quick reference</td> 706 </tr> 707 <tr> 708 <td><strong>2000 Gg</strong></td> 709 <td>BS HOT ×1–4<br><small>max of 4 on far side</small></td> 710 <td>3 COLD<br><small>(600 Gg)</small></td> 711 <td>2 HOT<br><small>(600 Gg)</small></td> 712 <td>see decision tree or pop out quick reference</td> 713 </tr> 714 </tbody> 715 </table> 716 717 <hr class="guide-divider"> 718 719 <h3>Worked Example — 2000 Gg (Odd Path)</h3> 720 <div class="static-chart-container" id="guide-chart-stable-2k" data-chart="stable2k"></div> 721 <p class="guide-interactive-hint"><strong>▶ Click the event numbers to step through the chart.</strong></p> 722 723 <h4>Phase 1 — Destabilize</h4> 724 <p>Send BS out <strong>Hot</strong> one at a time. In this example three passes trigger <strong class="guide-color-destab">Destabilized</strong>, leaving 3 BS on the far side (odd).</p> 725 <ul class="guide-list"> 726 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="setup" data-event="0" data-draft="false">0</button>Initial state: <strong class="guide-color-stable">Stable</strong>. Unknown prior traffic means 0–1100 Gg may already have passed.</li> 727 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="setup" data-event="1" data-draft="false">1</button>BS-1 out <strong>Hot</strong> (299 Gg) —
727 still <strong class="guide-color-stable">Stable</strong>.</li> 728 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="setup" data-event="2" data-draft="false">2</button>BS-2 out <strong>Hot</strong> (299 Gg) — still <strong class="guide-color-stable">Stable</strong>.</li> 729 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="setup" data-event="2" data-draft="true">D</button>Draft: if BS-3 goes <strong>Hot</strong>, the <strong class="guide-color-draft">blue draft</strong> straddles the <strong class="guide-color-destab">destab line</strong> â it <em>might</em> destabilize.</li> 730 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="3" data-draft="false">3</button>BS-3 out <strong>Hot</strong> (299 Gg) — <strong class="guide-color-destab">Destabilized!</strong> 3 BS on the far side (odd).</li> 731 </ul> 732 733 <h4>Phase 2 — Fixed Mass (Odd: 2 HOT = 600 Gg)</h4> 734 <p>Goal: pass 600 Gg and end with exactly 1 BS on the far side. Odd path with 3 currently on the far side: 2 BS come back <strong>Hot</strong>.</p> 735 <ul class="guide-list"> 736 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="4" data-draft="false">4</button>BS-1 back <strong>Hot</strong> (299 Gg) — still <strong class="guide-color-destab">Destabilized</strong>.</li> 737 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="5" data-draft="false">5</button>BS-2 back <strong>Hot</strong> (299 Gg) — still <strong class="guide-color-destab">Destabilized</strong>. 1 BS remains on the far side. Crit was possible here, but for this example we will use destabilized.</li> 738 </ul> 739 740 <h4>Phase 3 — Cruiser Probe & Roll (2000 Gg)</h4> 741 <p>The remaining hole is close to <strong class="guide-color-critical">Critical</strong>. Use a cruiser to push to critical.</p> 742 <ul class="guide-list"> 743 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="5" data-draft="true">D</button>Draft: the cruiser <strong>Hot</strong> pass (132 Gg) straddles the <strong class="guide-color-critical">critical line</strong>, but would still leave room to return cold without rolling out the BS.</li> 744 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="6" data-draft="false">6</button>Cruiser out <strong>Hot</strong> (132 Gg) — <strong class="guide-color-critical">Critical!</strong> Destab was possible here, but for this example we will use crit</li> 745 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="7" data-draft="false">7</button>Cruiser back <strong>Cold</strong> (32 Gg) — still <strong class="guide-color-critical">Critical</strong>. Safe to bring the BS home.</li> 746 <li><button class="guide-event-btn" data-chart="guide-chart-stable-2k" data-source="roll" data-event="8" data-draft="false">8</button>BS-3 back <strong>Hot</strong> (299 Gg) — <strong class="guide-color-gone">Gone!</strong> Hole collapsed.</li> 747 </ul> 748 749 <hr class="guide-divider"> 750 751 <h3>Phase 3 Decision Trees</h3> 752 753 <h4>3300 Gg</h4> 754 <p>2 cruisers needed. After Phase 2 you have 1 BS on the far side.</p> 755 <ul class="guide-list guide-decision-tree"> 756 <li><strong class="guide-color-critical">Crit?</strong> 757 <ul> 758 <li><strong>Yes:</strong> Cruiser #1 <strong>Cold</strong>, Cruiser #1 <strong>Cold</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 759 <li><strong>No:</strong> Cruiser #1 <strong>Hot</strong> 760 <ul> 761 <li>
761<strong class="guide-color-critical">Crit?</strong> 762 <ul> 763 <li><strong>Yes:</strong> Cruiser #1 <strong>Hot</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 764 <li><strong>No:</strong> Cruiser #2 <strong>Hot</strong> 765 <ul> 766 <li><strong class="guide-color-critical">Crit?</strong> 767 <ul> 768 <li><strong>Yes:</strong> Cruiser #1 <strong>Hot</strong>, Cruiser #2 <strong>Cold</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 769 <li><strong>No:</strong> Cruiser #1 <strong>Hot</strong>, Cruiser #2 <strong>Hot</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong> <span class="guide-note-inline">(~2% no-roll; if the first cruiser hot back still doesn't crit do CR-3 Cold, Cold first for 100% roll)</span></li> 770 </ul> 771 </li> 772 </ul> 773 </li> 774 </ul> 775 </li> 776 </ul> 777 </li> 778 </ul> 779 </li> 780 </ul> 781 782 <h4>3000 Gg</h4> 783 <p>2 cruisers needed. After Phase 2 you have 1 BS on the far side.</p> 784 <ul class="guide-list guide-decision-tree"> 785 <li><strong class="guide-color-critical">Crit?</strong> 786 <ul> 787 <li><strong>Yes:</strong> Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 788 <li><strong>No:</strong> Cruiser #1 <strong>Hot</strong> 789 <ul> 790 <li><strong class="guide-color-critical">Crit?</strong> 791 <ul> 792 <li><strong>Yes:</strong> Cruiser #1 <strong>Hot</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 793 <li><strong>No:</strong> Cruiser #2 <strong>Hot</strong> 794 <ul> 795 <li><strong class="guide-color-critical">Crit?</strong> 796 <ul> 797 <li><strong>Yes:</strong> Cruiser #1 <strong>Cold</strong>, Cruiser #2 <strong>Hot</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 798 <li><strong>No:</strong> Cruiser #1 <strong>Hot</strong>, Cruiser #2 <strong>Hot</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong> <span class="guide-note-inline">(~2% no-roll; if the first cruiser hot back still doesn't crit do CR-3 Cold, Cold first for 100% roll)</span></li> 799 </ul> 800 </li> 801 </ul> 802 </li> 803 </ul> 804 </li> 805 </ul> 806 </li> 807 </ul> 808 </li> 809 </ul> 810 811 <h4>2000 Gg</h4> 812 <p>1 cruiser needed. After Phase 2 you have 1 BS on the far side.</p> 813 <ul class="guide-list guide-decision-tree"> 814 <li><strong class="guide-color-critical">Crit?</strong> 815 <ul> 816 <li><strong>Yes:</strong> Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 817 <li><strong>No:</strong> Cruiser #1 <strong>Hot</strong> 818 <ul> 819 <li><strong class="guide-color-critical">Crit?</strong> 820 <ul> 821 <li><strong>Yes:</strong> Cruiser #1 <strong>Cold</strong>, Final BS <strong>Hot</strong> →
821 <strong class="guide-color-gone">Roll</strong></li> 822 <li><strong>No:</strong> Cruiser #1 <strong>Hot</strong>, Final BS <strong>Hot</strong> → <strong class="guide-color-gone">Roll</strong></li> 823 </ul> 824 </li> 825 </ul> 826 </li> 827 </ul> 828 </li> 829 </ul> 830 831 <hr class="guide-divider"> 832 <p class="guide-note">Try entering your exact ship masses and tracking a real roll in the calculator â seeing the geometry update live is the best way to build intuition for why each step is safe.</p> 833 </div> 834 </div> 835 836 </div> 837 </div> 838 </section> 839 840 <!-- Maths Page --> 841 <section id="page-maths" class="page-section" style="display: none;"> 842 <div class="page-layout-with-sidebar"> 843 <nav class="page-sidebar"> 844 <button class="sidebar-btn active" data-maths-section="maths-concepts">Maths Concepts</button> 845 <button class="sidebar-btn" data-maths-section="wormhole-maths">Apply Maths To Wormholes</button> 846 </nav> 847 <div class="page-content"> 848 849 <!-- Maths Concepts (existing content) --> 850 <div id="maths-maths-concepts" class="maths-section"> 851 <div class="maths-page"> 852 853 <!-- 1. Introduction --> 854 <div class="card maths-card"> 855 <h2>The Maths Behind the Engine</h2> 856 <p class="maths-intro">A nonâEVEâspecific explanation of the geometry and constraint logic powering this site.</p> 857 </div> 858 859 <div class="card maths-card"> 860 <h3>1 — What Problem Are We Solving?</h3> 861 <p>At its heart, the engine is solving a very general kind of maths problem:</p> 862 <blockquote class="maths-callout"> 863 We have an unknown number. We observe things that restrict what that number could be. Over time, we combine all those restrictions to keep track of every value that is still possible. 864 </blockquote> 865 <p>This is a classic problem in:</p> 866 <ul class="maths-list"> 867 <li>Constraint propagation</li> 868 <li>Interval arithmetic</li> 869 <li>Computational geometry</li> 870 </ul> 871 <p>The engine doesnât try to <em>guess</em> the true value. It keeps a <strong>set of all possible values</strong> that remain consistent with everything observed so far. That set is represented as a polygon.</p> 872 </div> 873 874 <!-- 2. Representing Uncertainty --> 875 <div class="card maths-card"> 876 <h3>2 — Representing Uncertainty as a Shape</h3> 877 <p>Instead of tracking a single number, the engine tracks a <strong>region</strong> of possible solutions.</p> 878 <p class="maths-sub-heading">Why a region?</p> 879 <ul class="maths-list"> 880 <li>Observations are imprecise (ranges, not exact values)</li> 881 <li>Each observation eliminates some possibilities but not others</li> 882 <li>The remaining possibilities form a 2D shape</li> 883 </ul> 884 <p class="maths-sub-heading">Why 2D?</p> 885 <p>The engine tracks two quantities:</p> 886 <ul class="maths-list"> 887 <li><strong>X</strong> — cumulative effect of all actions so far</li> 888 <li><strong>Y</strong> — the original unknown value weâre trying to constrain</li> 889 </ul> 890 <p>Every point <span class="maths-inline">(x, y)</span> in the polygon means:</p> 891 <blockquote class="maths-callout"> 892 âIf the true value were <strong>y</strong>, and the cumulative effect were <strong>x</strong>, this would still be consistent with all observations.â 893 </blockquote> 894 <p>This is a standard technique in constraintâbased modelling.</p> 895 </div> 896 897 <!-- 3. Linear Constraints --> 898 <div class="card maths-card"> 899 <h3>3 — Linear Constraints → Straight Lines</h3> 900 <p>Every observation becomes a <strong>linear constraint</strong>. Examples:</p> 901 <ul class="maths-list"> 902 <li>âThe true value must be at least this bigâ → a vertical halfâplane</li> 903 <li>âThe cumulative effect must be between A and Bâ → a vertical strip</li> 904 <li>âIf the true value were Y, then X must be less than some linear function of Yâ → a slanted halfâplane</li> 905 </ul> 906 <p>Linear constraints always produce straight lines and straightâedged shapes. This is why the engineâs shapes are <strong>always polygons</strong>.</p> 907 <p>This is the same maths used in:</p> 908 <div class="maths-tags">
909 <span class="maths-tag">Linear programming</span> 910 <span class="maths-tag">Feasibility regions</span> 911 <span class="maths-tag">Robotics motion planning</span> 912 <span class="maths-tag">Economics optimisation</span> 913 <span class="maths-tag">Error bounds in numerical analysis</span> 914 </div> 915 </div> 916 917 <!-- 4. Updating the Shape --> 918 <div class="card maths-card"> 919 <h3>4 — Updating the Shape: Shifting & Clipping</h3> 920 <p>Every new observation transforms the polygon in two steps:</p> 921 922 <div class="maths-step"> 923 <span class="maths-step-label">Step 1 — Shift (Affine Transform)</span> 924 <p>If an action adds a range <span class="maths-inline">[a, b]</span> to the cumulative value, the polygon is shifted horizontally by that amount.</p> 925 <ul class="maths-list"> 926 <li>A fixed shift → move the polygon by a constant</li> 927 <li>A range shift → create a band between two shifted polygons</li> 928 </ul> 929 <p>This is an <strong>affine transformation</strong>, one of the simplest geometric operations.</p> 930 </div> 931 932 <div class="maths-step"> 933 <span class="maths-step-label">Step 2 — Clip (HalfâPlane Intersection)</span> 934 <p>An observation like âthe true value must now satisfy condition Xâ becomes a halfâplane. The polygon is <strong>clipped</strong> against that halfâplane.</p> 935 <p>Clipping a polygon against a straight line is a classic computational geometry operation, used in:</p> 936 <div class="maths-tags"> 937 <span class="maths-tag">Computer graphics</span> 938 <span class="maths-tag">GIS</span> 939 <span class="maths-tag">CAD</span> 940 <span class="maths-tag">Physics engines</span> 941 </div> 942 <p>The result is always another polygon.</p> 943 </div> 944 </div> 945 946 <!-- 5. Why Polygons --> 947 <div class="card maths-card"> 948 <h3>5 — Why Polygons?</h3> 949 <p>Polygons are ideal because:</p> 950 <ul class="maths-list maths-list-check"> 951 <li>They are easy to shift</li> 952 <li>They are easy to clip</li> 953 <li>They remain polygons after every operation</li> 954 <li>They are cheap to compute</li> 955 <li>They are easy to draw</li> 956 </ul> 957 <p>This is why the engine never uses curves or splines — straight edges are <strong>mathematically exact</strong> for this problem.</p> 958 </div> 959 960 <!-- 6. Draft Preview --> 961 <div class="card maths-card"> 962 <h3>6 — Draft Preview: Minkowski Sums</h3> 963 <p>When the user drafts a hypothetical action, the engine does <strong>not</strong> apply constraints. Instead, it computes the <strong>Minkowski sum</strong> of:</p> 964 <ul class="maths-list"> 965 <li>The current polygon</li> 966 <li>A horizontal line segment representing the draft range</li> 967 </ul> 968 <p>This produces a band of possible future polygons.</p> 969 <p>Minkowski sums are used in:</p> 970 <div class="maths-tags"> 971 <span class="maths-tag">Robotics (collision envelopes)</span> 972 <span class="maths-tag">Computer graphics (shape inflation)</span> 973 <span class="maths-tag">Path planning</span> 974 <span class="maths-tag">Manufacturing tolerances</span> 975 </div> 976 <p>Itâs a very standard geometric tool.</p> 977 </div> 978 979 <!-- 7. Why This Is Fast --> 980 <div class="card maths-card"> 981 <h3>7 — Why This Is Fast</h3> 982 <p>The engine only uses:</p> 983 <div class="maths-complexity"> 984 <div class="maths-complexity-row"> 985 <span class="maths-complexity-op">Affine transforms</span> 986 <span class="maths-complexity-big-o">O(n)</span> 987 </div> 988 <div class="maths-complexity-row">
989 <span class="maths-complexity-op">Polygon clipping</span> 990 <span class="maths-complexity-big-o">O(n)</span> 991 </div> 992 <div class="maths-complexity-row"> 993 <span class="maths-complexity-op">Convex hulls</span> 994 <span class="maths-complexity-big-o">O(n log n)</span> 995 </div> 996 </div> 997 <p>And polygons are small (usually < 20 vertices). This makes the entire system <strong>extremely fast</strong> and <strong>deterministic</strong>.</p> 998 </div> 999 1000 <!-- 8. Real-World Analogies --> 1001 <div class="card maths-card"> 1002 <h3>8 — RealâWorld Analogies</h3> 1003 <p>This same maths is used in:</p> 1004 <div class="maths-analogies"> 1005 <div class="maths-analogy"> 1006 <span class="maths-analogy-icon">ð¡</span> 1007 <div> 1008 <strong>GPS error bounds</strong> 1009 <p>Representing all possible true positions given noisy signals.</p> 1010 </div> 1011 </div> 1012 <div class="maths-analogy"> 1013 <span class="maths-analogy-icon">ð¤</span> 1014 <div> 1015 <strong>Robotics motion planning</strong> 1016 <p>Representing all possible robot positions that avoid collisions.</p> 1017 </div> 1018 </div> 1019 <div class="maths-analogy"> 1020 <span class="maths-analogy-icon">ð§</span> 1021 <div> 1022 <strong>Manufacturing tolerances</strong> 1023 <p>Representing all possible dimensions of a part given machining error ranges.</p> 1024 </div> 1025 </div> 1026 <div class="maths-analogy"> 1027 <span class="maths-analogy-icon">ð</span> 1028 <div> 1029 <strong>Economics</strong> 1030 <p>Feasible regions in linear programming.</p> 1031 </div> 1032 </div> 1033 <div class="maths-analogy"> 1034 <span class="maths-analogy-icon">ð¼ï¸</span> 1035 <div> 1036 <strong>Computer graphics</strong> 1037 <p>Clipping polygons to viewports.</p> 1038 </div> 1039 </div> 1040 </div> 1041 <p class="maths-closing">This engine is essentially a <strong>constraintâpropagation system</strong> with a <strong>geometric representation</strong>.</p> 1042 </div> 1043 1044 </div> 1045 </div> 1046 1047 <!-- Apply Maths To Wormholes --> 1048 <div id="maths-wormhole-maths" class="maths-section" style="display: none;"> 1049 <div class="maths-page"> 1050 1051 <!-- WM 1. EVE Wormholes --> 1052 <div class="card maths-card"> 1053 <h2>Apply Maths To Wormholes</h2> 1054 <p class="maths-intro">How this site applies constraint geometry to EVE Online wormhole mass tracking.</p> 1055 </div> 1056 1057 <div class="card maths-card"> 1058 <h3>1 — EVE Wormhole Mass Rules</h3> 1059 <p>Every wormhole in EVE has a <strong>total mass capacity</strong> — the maximum amount of mass that can pass through before it collapses. There are a variety of wormhole mass sizes, usually abbreviated to their central point (e.g. 3,000 Gg), but the actual value for any given wormhole varies by <strong>±10 %</strong>. It is believed there is an even probabilty distribution across this variance </p> 1060 <p>A 3,000 Gg wormhole could actually have anywhere from 2,700 to 3,300 Gg of total mass. You never find out the true value — you can only observe the <strong>visual state</strong> of the wormhole, which changes at specific thresholds:</p> 1061 <div class="maths-step"> 1062 <span class="maths-step-label">Wormhole States</span> 1063 <ul class="maths-list"> 1064 <li><strong class="guide-color-stable">Stable</strong> — More than 50 % of total mass remains</li> 1065 <li><strong class="guide-color-destab">Destabilized</strong> — Between 10 % and 50 % remains</li> 1066 <li><strong class="guide-color-critical">Critical</strong> — Less than 10 % remains</li> 1067 <li>
1067<strong class="guide-color-gone">Gone</strong> — The wormhole has collapsed (0 % remains)</li> 1068 </ul> 1069 </div> 1070 <p>There is one additional rule: a ship is not blocked from jumping by the hole having not enough remaining mass. The wormhole collapses after that ship completes the jump. This means you cannot lose a ship to mass collapse mid-jump — but the hole will be gone for anyone behind you.</p> 1071 <p>These percentage thresholds, the ±10 % variance, and the single-ship rule are the raw inputs to the constraint engine.</p> 1072 </div> 1073 1074 <!-- WM 2. Two Unknowns, One Chart --> 1075 <div class="card maths-card"> 1076 <h3>2 — Two Unknowns, One Chart</h3> 1077 <p>From a maths perspective, tracking a wormhole involves two unknowns:</p> 1078 <ul class="maths-list"> 1079 <li><strong>M</strong> — the wormhole's true total mass (unknown, but within ±10 % of nominal)</li> 1080 <li><strong>X</strong> — the cumulative mass that has actually passed through so far</li> 1081 </ul> 1082 <p>The chart plots these with <strong>X on the horizontal axis</strong> and <strong>M on the vertical axis</strong>. Every point (x, m) on the chart represents one possible reality: “the true total mass is m, and x mass has passed through so far.”</p> 1083 <p>Before any observations, every combination of M and X is possible (within the wormhole’s mass range). As ships pass and states are observed, constraints eliminate regions of the chart, and the <strong>feasible polygon</strong> shrinks.</p> 1084 <p>This is the technique described in <em>Maths Concepts §2</em> — representing uncertainty as a 2D shape.</p> 1085 </div> 1086 1087 <!-- WM 3. How Ship Passes Become Constraints --> 1088 <div class="card maths-card"> 1089 <h3>3 — How Ship Passes Become Constraints</h3> 1090 <p>Each time you send ships through the wormhole and observe the state afterward, the engine generates <strong>linear constraints</strong>. Here is how:</p> 1091 1092 <div class="maths-step"> 1093 <span class="maths-step-label">Mass Range Constraint</span> 1094 <p>Each ship pass has a known mass range [a, b] (from ship fitting). The cumulative mass X after this pass must increase by at least a and at most b. This produces <strong>vertical bounds</strong> (a strip) on the chart — exactly the vertical half-planes from <em>Maths Concepts §3</em>.</p> 1095 <p>The reason for the mass range on a ship, and not an exact value is that you might see a neutral/enemy ship or fleet pass and you cannot tell its fittings or module state, but you can work out the min and max possible for those. Alternatively you may suspect a ship passed, so want to enter that with a 0-x range so the engine can account for it.</p> 1096 </div> 1097 1098 <div class="maths-step"> 1099 <span class="maths-step-label">State Band Constraint</span> 1100 <p>The observed state after the pass tells us what fraction of M remains. For example, “Stable” means more than 50 % remains, so the cumulative passed mass X must be less than 0.5 × M. This is a <strong>diagonal half-plane</strong>: <span class="maths-inline">x < 0.5 · m</span>.</p> 1101 <p>Each state creates two diagonal boundaries (an upper and lower bound), forming a <strong>band</strong> between two lines through the origin. Clipping the polygon against these lines is identical to the half-plane intersection described in <em>Maths Concepts §4</em>.</p> 1102 </div> 1103 1104 <div class="maths-step"> 1105 <span class="maths-step-label">Prior-Event Constraints</span> 1106 <p>Every previous state observation still applies. If Pass 2 was Stable, then the cumulative mass <em>at that point</em> was below 50 % of M. The engine translates these into <strong>offset diagonal lines</strong> — the same slope as the state boundaries, but shifted right by the mass of later passes. The polygon is clipped against each of these, tightening bounds further with every event.</p> 1107 </div> 1108 </div> 1109 1110 <!-- WM 4. The Solver Pipeline --> 1111 <div class="card maths-card"> 1112 <h3>4 — The Solver Pipeline</h3> 1113 <p>When you send a pass, the engine runs through a pipeline that brings together several operations from <em>Maths Concepts</em>:</p> 1114 1115 <div class="maths-step">
1116 <span class="maths-step-label">Step 1 — Build the Rectangle</span> 1117 <p>Sum the input mass ranges of all passes so far to get the broadest possible cumulative range. Combined with the wormhole's M range, this forms a <strong>bounding rectangle</strong> in (X, M) space — the starting shape before any state constraints are applied.</p> 1118 </div> 1119 1120 <div class="maths-step"> 1121 <span class="maths-step-label">Step 2 — Clip Against State Bands</span> 1122 <p>The rectangle is clipped against the current event's state band (two diagonal lines through the origin). This is the <em>Sutherland-Hodgman polygon clipping</em> from <em>Maths Concepts §4</em>. The result is typically a pentagon or hexagon.</p> 1123 </div> 1124 1125 <div class="maths-step"> 1126 <span class="maths-step-label">Step 3 — Clip Against Prior Events</span> 1127 <p>For each earlier event, two more offset diagonal constraints are applied. Each clip is the same algorithm, and each produces a tighter polygon. After all clips, the result is the <strong>feasible polygon</strong> for this event.</p> 1128 </div> 1129 1130 <div class="maths-step"> 1131 <span class="maths-step-label">Step 4 — Derive Summary Data</span> 1132 <p>From the feasible polygon, the engine reads off tight bounds: the X-range (cumulative mass passed), the M-range (possible wormhole sizes still consistent), and the remaining mass until each future state transition. These are the numbers displayed in the results panel.</p> 1133 </div> 1134 </div> 1135 1136 <!-- WM 5. The Feasible M Range --> 1137 <div class="card maths-card"> 1138 <h3>5 — Narrowing the Wormhole Size</h3> 1139 <p>The ±10 % mass variance means you start with a wide range of possible M values. But each state observation constrains M algebraically.</p> 1140 <p>The engine checks every pair of constraints for compatibility: if one says <span class="maths-inline">x ≥ 0.5 · m</span> (Destabilized lower bound) and another says <span class="maths-inline">x ≤ 0.5 · m</span> (previous Stable upper bound), these two lines intersect at a specific M value. This intersection <strong>eliminates wormhole sizes</strong> that cannot satisfy both constraints simultaneously.</p> 1141 <p>On the chart, this appears as <strong>excluded mass bands</strong> — horizontal grey stripes at the top or bottom of the Y-axis showing M values that have been ruled out. A Destabilized observation rules out larger holes; a Stable observation rules out smaller ones.</p> 1142 </div> 1143 1144 <!-- WM 6. Draft Preview Geometry --> 1145 <div class="card maths-card"> 1146 <h3>6 — Draft Preview: What If?</h3> 1147 <p>Before you commit a pass, the draft overlay shows where the feasible region <em>would</em> shift. This uses the <strong>Minkowski sum</strong> from <em>Maths Concepts §6</em>.</p> 1148 <p>The engine takes the current feasible polygon and the drafted mass range [d<sub>min</sub>, d<sub>max</sub>], then:</p> 1149 <ul class="maths-list"> 1150 <li>Shifts the polygon right by d<sub>min</sub> (minimum mass scenario)</li> 1151 <li>Shifts the polygon right by d<sub>max</sub> (maximum mass scenario)</li> 1152 <li>Computes the <strong>convex hull</strong> of both shifted polygons</li> 1153 </ul> 1154 <p>The result is the blue translucent envelope on the chart. It shows the full range of where you might land after the pass — without actually applying state constraints (since you haven't observed the result yet). This lets you gauge whether the pass will cross a state boundary. The percentage chances of crossing, or not crossing, a state boundary are calculated by the volume of the polygon on each side, or the length of the line on each side for an exact mass pass.</p> 1155 </div> 1156 1157 <!-- WM 7. Remaining Mass Analysis --> 1158 <div class="card maths-card"> 1159 <h3>7 — Remaining Mass Analysis</h3> 1160 <p>After each event, the engine computes how much more mass can pass before each future state transition. This is an <strong>affine transform</strong> of the feasible polygon.</p> 1161 <p>For each state boundary (e.g. the gone line at <span class="maths-inline">x = m</span>), every vertex (x, m) of the feasible polygon is mapped to:</p> 1162 <blockquote class="maths-callout"> 1163 remaining = (passedFraction × m) − x 1164 </blockquote> 1165 <p>This transforms the polygon from (cumPassed, M) space into (remaining, M) space. The X-extent of the resulting polygon gives you the <strong>tight bound on remaining mass</strong> until that state.</p> 1166 <p>On the chart, this is visualised as the <strong>gap polygon</strong> — the region between the feasible polygon's right edge and the state boundary line. The width of that gap at any Y value tells you exactly how much more mass can pass for that particular wormhole size.</p> 1167 </div> 1168 1169 <!-- WM 8. Why Exact Geometry Beats Simple Arithmetic --> 1170 <div class="card maths-card"> 1171 <h3>8 — Why Geometry Beats Arithmetic</h3> 1172 <p>A simpler approach would be to track cumulative mass as a single interval [min, max] and subtract it from the wormhole range. But this <strong>loses correlation</strong> between M and X.</p> 1173 <p>Consider: if the wormhole is large (M near max), more mass has likely passed. If it's small (M near min), less has passed. A 1D interval treats these as independent — the polygon captures their relationship.</p> 1174 <p>The polygon's shape encodes this correlation. A slanted edge means “for larger holes, the cumulative mass can be higher.” Simple interval arithmetic would produce a rectangle (ignoring the slope), giving strictly looser bounds.</p> 1175 <p>This is why the engine uses computational geometry for everything: it is <strong>mathematically exact</strong> for this problem, as noted in <em>Maths Concepts §5</em>.</p> 1176 </div> 1177 1178 </div> 1179 </div> 1180 1181 </div> 1182 </div> 1183 </section> 1184 1185 <!-- Bonus Page --> 1186 <section id="page-bonus" class="page-section" style="display: none;"> 1187 <div class="bonus-page"> 1188 1189 <div class="bonus-portrait-wrapper"> 1190 <img src="images/portrait.jpg" alt="Mr Devoter â EVE Online capsuleer" 1191 class="bonus-portrait" /> 1192 </div> 1193 1194 <h2 class="bonus-title">Bonus</h2> 1195 1196 <p class="bonus-intro"> 1197 Thanks for exploring this site — I hope it has been useful to you. 1198 </p> 1199 1200 <p class="bonus-reveal"> 1201 This is the bit where I beg for isk, so feel free to run away from this page now as fast as you can. The title of “bonus” actually refers to 1202 a nice little bonus for <em>me</em>. 1203 </p> 1204 1205 <p> 1206 If you’
1206re benefitting from the site and feel like thanking the creator, 1207 open the game, search then right-click <p><strong>Mr Devoter</strong></p> hit 1208 <strong>Give Money</strong> to send a tip — small or outrageously generous, 1209 both are welcome. 1210 </p> 1211 1212 <h3 class="bonus-subheading">Still undecided? Consider the following</h3> 1213 1214 <ol class="bonus-reasons"> 1215 <li>You’re a wormholer — therefore you are already, or are well on your 1216 way to becoming, space rich. You won't miss it, and it might even feel good.</li> 1217 <li>There are no ads on this site. I don’t like them — they’re ugly. 1218 <span class="bonus-aside">(Also it’s a static page, so hosting is 1219 practically free… but let’s not focus on that.)</span></li> 1220 <li>I could have used an attractive avatar as a fake portrait, but that’s 1221 lame. This is me — a broken old capsuleer, reflexes gone, so far past 1222 my prime I don’t remember if I even had one. Help an old man out.</li> 1223 <li>Wigs and hair dye aren’t cheap, you know.</li> 1224 </ol> 1225 1226 <hr class="bonus-divider" /> 1227 1228 <h3 class="bonus-subheading">Contact</h3> 1229 <p> 1230 Feel free to EVEmail <strong>Mr Devoter</strong> in-game with any 1231 thoughts, ideas, or suggestions to improve this site. 1232 </p> 1233 1234 </div> 1235 </section> 1236 1237 </div> 1238 1239 <!-- noscript: key content for search engines and users without JavaScript --> 1240 <noscript> 1241 <div style="font-family:sans-serif; max-width:800px; margin:2em auto; padding:1em;"> 1242 <h1>EVE Online Wormhole Rolling Guide & Mass Calculator</h1> 1243 <p>A free tool for EVE Online pilots to track wormhole mass and safely roll wormholes. 1244 Enable JavaScript to use the interactive calculator and rolling guides.</p> 1245 <h2>Rolling Guides</h2> 1246 <h3>Fresh Holes â Battleship-Sized Wormholes</h3> 1247 <p>Push exactly half the nominal mass through to learn whether the hole is above or below 1248 nominal size, then finish the roll with the right number of ships.</p> 1249 <ul> 1250 <li><strong>3000 Gg hole:</strong> Step 1 â 2 Cold, 2 Hot. 1251 Destabilized? 2 Cold, 2 Hot. Still Stable? 4 Hot.</li> 1252 <li><strong>2000 Gg hole:</strong> Step 1 â 2 Cold, 2 Hot. 1253 Destabilized? 2 Cold, 2 Hot. Still Stable? 4 Hot.</li> 1254 <li><strong>1000 Gg hole:</strong> Step 1 â 1 Cold, 1 Hot. 1255 Destabilized? 1 Cold, 1 Hot. Still Stable? 2 Hot.</li> 1256 </ul> 1257 <h3>Stable Holes â HIC-Free Method</h3> 1258 <p>Three phases: (1) Send BS Hot until Destabilized. (2) Pass a fixed mass to approach 1259 Critical, ending with exactly 1 BS on the far side. (3) Use cruiser passes to crit 1260 safely, then bring the final BS back Hot for the roll.</p> 1261 <p>Ships: Higgs Battleship (Cold â198 Gg, Hot â298 Gg), 1262 Higgs + Overprop Cruiser (Cold â18â33 Gg, Hot â118â133 Gg).</p> 1263 <h3>Stable Holes â Simple Method (requires HIC)</h3> 1264 <p>Pass BS until Critical, then use HIC passes (entangled out, Hot back) to finish. 1265 Watch for the small risk of a DestabâGone jump near Critical.</p> 1266 </div> 1267 </noscript> 1268 1269
1269<script src="https://d3js.org/d3.v7.min.js"></script>
1269 1270
1270<script type="module" src="app-CET437I2.js"></script>
1270 1271</body> 1272</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.