65 lines
4.7 KiB
JavaScript
65 lines
4.7 KiB
JavaScript
// Generated by scripts/generate-devlog.js from `git log`; do not edit.
|
|
// The pre-commit hook refreshes it so the main menu shows the latest commits.
|
|
export const DEVLOG = [
|
|
{
|
|
"hash": "80d2e22",
|
|
"date": "2026-09-25",
|
|
"subject": "Sped up simple construction and showed resource costs on build cards",
|
|
"body": ""
|
|
},
|
|
{
|
|
"hash": "4e11af2",
|
|
"date": "2026-09-25",
|
|
"subject": "Showed the nation's resource pool in the simple economy's top panel",
|
|
"body": "The top bar now carries a two-by-two grid of the four storable goods, each a big icon, the grouped pool and an arrow reading production against consumption (purchases excluded); hovering a chip names both daily figures. The quantity column reserves room for 99 999 999 999 so the layout never shifts as stocks grow.\n\nformatResourceAmount paired each prefix with a divisor a thousand times too large, so a million tonnes printed as 1 kt; the steps now move together as kt, Mt, Gt and Tt."
|
|
},
|
|
{
|
|
"hash": "d5305da",
|
|
"date": "2026-09-25",
|
|
"subject": "Gave the world a simple economy: one pool per nation and a global market",
|
|
"body": "The simple economy is now the default and the old simulation is frozen as the hard model, selectable per game. A nation keeps one resource pool available in every region, fed by public production works rather than private per-region stores, and construction and training begin at once, paced by the region's spare power instead of gathering materials over days.\n\nMoney is euro only: a per-inhabitant daily tax funds a treasury spent in a global market, where buy and sell lots trade against the world stock and move its price. The hard economy keeps its per-nation currencies, central banks and exchange rates.\n\nSimple games skip the price-settling warmup and economic migration; the snapshot carries the economy model, the market and the pool figures the client draws. Added the matching test suites and the design briefs under docs/simple_economy."
|
|
},
|
|
{
|
|
"hash": "49613f2",
|
|
"date": "2026-09-24",
|
|
"subject": "Made training gather materials, fixed the trade graph, and banked money gifts",
|
|
"body": "Unit orders now gather steel and high-tech over the days before training, exactly as buildings do, and clicking a queued order reveals what it is gathering, its reserved budget and the soldiers it will draw.\n\nThe trade graph cached a producer-less node list under a stamp that already reflected the producers' stores, so every seeded mine stayed invisible to buyers and rare-good prices settled at a huge multiple of base; the storage nodes are now re-read after production.\n\nMoney gifts draw the giver's central-bank reserves in the denomination first, buy the rest from the issuing bank at the market rate, convert into the receiver's currency, and cannot buy from a bank their nation is at war with.\n\nPruned the finished design briefs (intelligence, stacks, air movement, politics performance, economy balance, training UI and FIXME) and refreshed the index and cross-references."
|
|
},
|
|
{
|
|
"hash": "afb23df",
|
|
"date": "2026-09-24",
|
|
"subject": "Cut the migration sweep's repeated lookups and population churn",
|
|
"body": ""
|
|
},
|
|
{
|
|
"hash": "a219cf6",
|
|
"date": "2026-09-24",
|
|
"subject": "Flew aircraft and missiles straight and let strikes target fogged cities",
|
|
"body": ""
|
|
},
|
|
{
|
|
"hash": "36ac669",
|
|
"date": "2026-09-24",
|
|
"subject": "Let stacks split by shift-click and cross allied or at-war land",
|
|
"body": ""
|
|
},
|
|
{
|
|
"hash": "cc5c57c",
|
|
"date": "2026-09-24",
|
|
"subject": "Gave the world spies, treaties and nuclear weapons",
|
|
"body": ""
|
|
},
|
|
{
|
|
"hash": "54efd66",
|
|
"date": "2026-09-24",
|
|
"subject": "Grouped the unit stack by type and let ranged units pick a target",
|
|
"body": ""
|
|
},
|
|
{
|
|
"hash": "1c6f0ae",
|
|
"date": "2026-09-24",
|
|
"subject": "Cut the per-broadcast and per-frame cost on a full-sized map",
|
|
"body": "The server sent the whole army on every snapshot and the client re-cloned\nthe whole icon layer whenever a unit moved, so a settled world with a\nstanding army drained the broadcast loop and the frame loop alike.\n\n- Ship only the units and city list that changed, keyed by a per-peer\n fingerprint and a serialised hash, and merge those deltas on the client.\n- Memoise the battlefield scan on a battle version bumped when a unit\n joins, leaves or changes side.\n- Skip the DOM writes for units whose snapshot object is unchanged, and\n cache the unit-view inner nodes.\n- Fold units, cities and tile markers onto the nearest world copy instead\n of mirroring the icon layers, which re-cloned thousands of views every\n frame; the small decoration layers still mirror, and only on a change.\n\nFrame work at full zoom-out with units moving fell from ~190ms to ~6.5ms."
|
|
}
|
|
];
|