One file per decision: NNN-short-name.md with the date, the decision and why. Code and docs
cite decisions by number ("decision 003"). Numbers are never reused or renumbered.
Adding one: read this whole index first so nothing is duplicated or contradicted, take the next
free number, add one line below. Replacing one: write a new decision, then mark the old line
(replaced by NNN) here and in the old file's header. Never delete a decision.
Finding one: search this index for two or three keywords, then open only the matching file.
- 001 Static site, all user data in browser storage, no backend or accounts
- 002 Svelte 5 + TypeScript + Vite, Vitest for tests, Prettier for formatting
- 003 Two clocks: play time (only while LSOS is open and not paused) and real time (session play time: 008)
- 004 Every game value lives in
src/data/with a source; never guessed (amended by 013) - 005 Weekly events come from a JSON file updated by PR, not a live API
- 006 Persisted state is versioned, migrated on load, exportable as JSON
- 007 State store: unreadable data blocks saving like a newer version; import overrides
- 008 Clock details: session play time, opens paused (setting), throttled ticks counted, long gaps asked about, Skip time for play without LSOS
- 009 Terminal look: tokens in
app.css, self-hosted Oswald (OFL), browser-style tabs, base components insrc/components/ui/ - 010 Resync:
EditableValuefor every tracked value,BusinessBarswith Sold/Raided/Full and supply deliveries, undo keeps progress since, five-segment bars you can drag (duration format amended by 022; presets and edit view amended by 029) - 011 Owned properties and upgrades: catalog in
src/data/properties.ts, toggle/choice upgrades (count: 016), Settings panel and Businesses gear - 012 Business production: rate per exact upgrade combination in
src/data/production.ts, continuous on play time, unknown rates do not run - 013 Missing game values may be estimated by a stated rule from sourced ones, marked "(est.)" wherever shown
- 014 Business cards: drag a title bar to lift a card and swap it with another, or move it with arrow keys; order saved as property ids
- 015 Nightclub warehouse: goods per technician on play time, saved in crates, unlocked by owning the business, best technician setup by value per hour
- 016 Safes tab: Nightclub, Agency, Arcade, Salvage Yard, Garment Factory paid per in-game day of play time, nightclub popularity with estimated loss and boosts
- 017 Acid Lab: optional far sale, value bonus (named product), no raids; production boost by units made or 24 real hours, once a day
- 018 Money Fronts: one Car Wash safe card on the Safes tab, paid by the fronts and other businesses, heat per front (est.), missions and legal jobs
- 019 Money Front value bonus: owning Car Wash or Smoke on the Water adds 35% to Counterfeit Cash or Weed, far value adds the bonuses (est.), Helitours left out
- 020 Shut-down businesses: a Running/Shut down button next to Owned for biker businesses and the Bunker; shutting down clears the stock; no production, card greyed, nightclub goods locked, nothing to the Money Fronts safe
- 021 No heist cooldown tracker: only Cayo Perico has one worth a timer; Heists tab removed
- 022 Timers tab on real time: Lucky Wheel (24 h) and Mansion production boost (×3 for 24 h, 24 h cooldown, not the same business twice in a row; with the Acid Lab boost: est.)
- 023 Overview tab: trackers give a shared
NextEvent, due first then soonest, supplies on their way counted in the forecast, links that scroll to the card, quick actions with undo on every ready item, popularity in view; alerts as pop-ups and/or notifications, set time ahead - 024 Several tabs: a tab takes the state another tab saves (
storageevent); only the tab that last started counting counts play time (BroadcastChannel) - 025 Bunker staff on Manufacturing, Both or Research: a stock share (Both 0.5, Research 0) on the sourced rates, supplies used as fast on every option (est.), research progress not tracked
- 026 Movable cards on Businesses, Safes and Timers (
ui/CardGrid): picked up by the title bar; swap by the dragged card's middle, 10% in; orders saved per tab - 027 Weekly events: typed
src/data/weekly.ts(no JSON, no fetch), checked by a test; Weekly tab only (no news bar); out of date: warning over the dimmed old week; contents: multipliers, Weekly Challenge, rotations, discounts, gifts, a less prominent "Also running" list; no GTA+, no daily map-bound items; explicit UTC start/end (Thursday 2:00 AM US Pacific); source gta.wiki weekly page; routine Thursday ~16:00 UTC - 028 Hide from Overview: per card (event
focus, timers too), Hide on each item with undo, Settings lists them with Show; still tracked and counted in the totals; showing again brings no alert - 029 Shared card parts (
Hint,Note,MarkOwned, timedUndoStatus, small buttons); cards always editable, drag handles on hover, no Full/Raided/Maxed; gear in the title bar, no footer;--card-width; default order by use (USE_ORDER); Settings as a fixed-row property list with the picked property's upgrades beside it - 030 Accessibility pass: supplies blue at 3:1, phone layouts (tabs in rows, wrapping names), reduced motion for all motion; Accessibility settings: Motion (device/Reduced/Full) and Scan lines, saved (state version 15)