Progress log
Moveee Indoor versions
Moveee Indoor's own version history — the browser trainer world, shared rooms and route scenery, separate from the rest of the app. Currently on Moveee Indoor v0.4.44.
v0.3.12
Moveee Indoor: the sea is drawn with the first scenery, not last
2026-07-22- Fixed The sea is built among the first things in view instead of after everything else, so it is there as you set off from a seaside start rather than appearing once you are already kilometres down the road. Two things kept it waiting: the check for whether a feature sits beside the road never recognised a stretch of coast, so every one of them scored as far away and queued behind the whole near field — thousands of buildings, on a town route like Izola — and the sea was also left on the same tier as background greenery while ponds and rivers were already treated as important. It now ranks with them.
v0.3.11
Moveee Indoor: billboards removed
2026-07-21- Changed The city-props billboard has been removed from the world — it no longer appears along roads through towns.
v0.3.10
Moveee Indoor: smoother riding through dense cities
2026-07-21- Improved Cut the cost of drawing buildings roughly in half in busy city centres (like central Ljubljana) — each building now takes about two draw calls instead of five, with no change to how it looks — so the frame rate holds up better where hundreds of buildings are on screen at once.
v0.3.9
Moveee Indoor: trees in a warmer, natural green
2026-07-21- Changed The low-poly background trees are no longer a minty teal — their leaves are recoloured to a deeper, natural forest green that sits with the rest of the scenery, while trunks and the already-green trees are left as they were.
v0.3.8
Moveee Indoor: rivers pass properly under bridges
2026-07-21- Fixed Where a road bridges a river, the water now runs cleanly underneath with open air below the deck, instead of the water climbing up to the bridge and the ground filling the span. The river bed is carved right through under the bridge (the deck is on piers, so there is real clearance below it); previously the bed was held back from the road on both sides, which left an un-carved lump the water rose over.
- Fixed Trees no longer stand in the middle of the river — they keep to the banks.
- Fixed The water surface flows smoothly instead of jumping up over small bumps in the ground; a rise in the bed can no longer spike the river up out of its course.
v0.3.7
Moveee Indoor: power lines stay near the road now
2026-07-21- Fixed Power lines no longer trail their pylons and wires off across kilometres of distant terrain — a line is now only drawn where it runs within ~320 m of the road you're on, so free-camera fly-arounds stay smooth and the far horizon isn't cluttered with power towers you never ride past.
v0.3.6
Moveee Indoor: the sea is at the right height the moment you spawn
2026-07-21- Fixed On a coastal route the sea now sits at the correct height from the first frame, instead of sitting too high at the start and only settling once you had ridden a few kilometres (or gone the other way round the loop first). The sea level was found by combining readings from the coast as each stretch streamed in, so at the spawn only the starting stretch was known — and where that is a harbour, its raised quays pushed the water up until more open coast loaded. The level is now seeded up front from the route's own elevation profile (it runs at its lowest where it meets the sea), so it is right immediately and the streamed-in coast only refines it.
v0.3.5
Moveee Indoor: nothing renders off the edge of the land any more
2026-07-21- Fixed Power lines (and ski-lift cables) no longer march their pylons and wires out over the empty void past the edge of the terrain — every object is now hard-clipped to the land, so a mapped line simply ends cleanly at the terrain edge. The same clip covers forests, crops and factory scatter, and nothing is ever placed out over the sea.
v0.3.4
Moveee Indoor: foliage no longer costs you FPS
2026-07-21- Fixed The wider roadside foliage was dropping frame rate — it now draws only the grass and weeds actually in view (instead of every plant in an 8 km stretch at once) and is tuned to a lighter density, so the greenery still looks full but the ride runs smoothly again. It also respects the scenery-density setting for weaker devices.
v0.3.3
Moveee Indoor: rivers sit in a real carved bed
2026-07-21- Fixed Rivers now sit down in a proper carved valley instead of a flat blue strip laid on the grass, and the land can no longer show through the water. The ground itself is dished down along each river — deepest along the water, smoothing back up to the natural land on both sides — so the water has real depth and the banks are formed by the sloping ground. The valley is sized to the terrain so even the coarse landscape mesh follows it down cleanly (the earlier version dropped the water but left the land flat above it, which is why the riverbed wasn't visible and the land appeared over the water). Wider rivers get deeper valleys; the bed only ever goes down, never up; and it is still held clear of the road so a crossing dips under as a culvert.
- Fixed Power lines no longer march their transmission towers kilometres out beyond the map into empty space — the towers and their wires now stop at the land's edge, so distant scenery you can never reach stops dragging your frame rate down.
- Fixed Forests, fields, vineyards, factories and cable-car pylons that overlap the edge of the mapped land now keep only the parts sitting on real ground, instead of scattering objects out over nothing.
v0.3.1
Moveee Indoor: greener roadsides — foliage spreads into the fields
2026-07-21- Improved Grass, weeds and wildflowers now fill a much wider band beside the road — reaching about 30 m out into the fields instead of a thin strip on the verge, and roughly three times denser, so the land next to you looks lush and alive rather than bare.
v0.3.0
Moveee Indoor: procedural low-poly foliage — huge grass & weed variety
2026-07-21- New Roadside grass, weeds, small bushes and wildflowers are now generated on the fly in a chunky low-poly style — over 170 distinct plants (grasses, small and big weeds, bushes, field bushes, flowers and ferns) so the verges look varied instead of the same few models repeating.
- Improved The new foliage carries no textures and only ~38 triangles per plant, and each roadside stretch draws from a fresh mix, so the greenery is far lighter on your device while looking richer.
v0.2.97
Moveee Indoor: rivers are cut into the ground
2026-07-21- Changed Rivers now sit in a real carved bed. The ground itself is lowered along a waterway — deepest at the centre, easing back up to the natural land on each side — so the terrain, the water and anything standing on the ground all dish down into the channel together, instead of a flat blue ribbon lying on top. The water gets genuine depth, with the banks formed by the sloping ground rather than a painted-on shoulder. Only rivers and canals are cut; small streams and ditches stay flat.
- Fixed The carved bed is held well clear of the road: within a few metres of the tarmac the ground is never lowered, so a river crossing dips under the road as a culvert and no part of the bed can ever undercut or show through the road surface.
v0.2.96
Moveee Indoor: the road network needs land under it too
2026-07-21- Fixed Roads, tracks and paths no longer draw out over the void. The surrounding road network is read from OpenStreetMap far past where the terrain is built — measured on the Izola route, roads reach 1.6 km, rail 2.2 km and paths beyond the land — so a whole road or a length of track used to hang in mid-air out where there is no ground. They are now held to the land like everything else; a road that only just leaves the terrain keeps its near stretch, while one entirely in the void is dropped.
v0.2.95
Moveee Indoor: deeper river beds
2026-07-21- Changed River banks are deeper now. Instead of a low shoulder, each side rises from the water up a steep earthen cut bank to a crest well above the surface, then falls gently away to the surrounding ground — so the water reads as sitting down in a bed rather than laid flat on the land. The bank height scales with the river, so a stream keeps a shallow lip while a big river gets a real, tall bank. (The water surface itself can't be dropped below the land without carving the terrain grid, which is coarser than a river is wide; the depth is carried by the raised banks instead.)
v0.2.94
Moveee Indoor: bridges match the water, rivers get earthen banks
2026-07-21- Changed A bridge over a river is now built to the water's real width, using the same widened river size the ribbon draws, so the deck reaches bank to bank instead of stopping short over open water.
- New Rivers now have banks. Each side of the water eases down from the land to the river with a low earthen shoulder — tucked just under the water's edge, up over a soft crest, then sloping back out to meet the ground — so the water sits in the land rather than lying flat on top of it. The shoulder scales with the river, so a narrow stream gets a gentle lip and a wide river a fuller bank.
v0.2.93
Moveee Indoor: the sun stays in the sky, not on the bike
2026-07-21- Fixed The sun was pinned to the rider — it travelled along with the bike, which showed up once the clouds started drifting on their own. It now holds its own spot in the world sky, so you ride beneath and past it with real parallax. It only eases back into place if you pull far enough away that it would otherwise leave the sky — a slow glide, never a jump — so the golden light stays put on a ride of any length. The lighting angle itself was already fixed and is unchanged.
v0.2.92
Moveee Indoor: rivers are wider, closer to their real size
2026-07-21- Changed Rivers read wider now. Where OpenStreetMap records a river's width it is still used and kept in proportion — a bigger river stays bigger — but the mapped value is usually the narrow channel, and a bare ribbon looked thin in the world, so rivers are scaled up to a realistic size and held to a sensible minimum. The Ljubljanica, mapped at 20 m, now runs about 28 m, which is close to its real width through the centre. Untagged rivers widen too, while small streams and ditches are left as they were.
v0.2.91
Moveee Indoor: big bridges are grand, with real pillars
2026-07-21- Changed A big, high bridge now has proper pillars — a broad footing at the ground, a substantial shaft that splits into twin braced columns when it is really tall like a real viaduct, and a capital flaring out to carry the deck. And the very widest water crossings are built as suspension bridges, with towers and cables. Small low bridges are left exactly as they were — a plain slim pier and a simple deck.
- Fixed Buildings, trees and other scenery no longer hover in mid-air kilometres out where there is no ground. The map is read from OpenStreetMap out to 2 km around your route, but the terrain is only built to the route's neighbourhood — so anything further out used to sit on an invisible height with nothing beneath it. A feature is now dropped unless there is actual land under it, and a feature straddling the edge still renders. The sea, the coastline, rivers and the road network are exempt, since those are meant to run out to the horizon.
- Fixed The clouds were pinned to the rider — the whole sky moved along with the bike, so the far clouds looked glued in place. They now sit in the world and drift on their own breeze, so as you ride you pass beneath and past them with natural parallax while they slide across the sky at their own pace. The sky still stays full around you: a cloud that falls far behind quietly reappears ahead.
v0.2.90
Moveee Indoor: every bridge is built procedurally now
2026-07-21- Changed Where your road crosses a river or lake that the map did not tag as a bridge, the crossing is now built procedurally — deck, parapets, piers and an arch or steel truss — instead of dropping in a stock bridge model. It uses the same builder that already made the map-tagged bridges, and picks a look from the span: a stone arch for most crossings, a truss for a wide one. The library bridge models are kept only as reference for how a bridge should look.
- Fixed The big clouds had hard straight lines cutting across them. Each cloud is painted onto a fixed square canvas, and its billows and the veil of rain beneath were drawn larger than that square — so their edges were sliced off flat where they ran past it. The cloud now fades softly to nothing at all four edges, so those sliced-off rims become a gentle vignette instead of a straight line.
v0.2.89
Moveee Indoor: castles get battlements, and more roof variety on houses
2026-07-21- Fixed Castles no longer wear a pitched house roof. They now have a flat, battlemented top — the merlon-and-gap crenellation line that actually reads as a castle — while a corner keep tower keeps its pointed cap. Applies to the famous ones and to any other castle the map draws.
- Changed More variety across ordinary buildings: a share of houses now get a flat roof instead of a gable, so a street is not a wall of identical pitched roofs, and the pitch of the gabled ones varies a little from building to building. This sits on top of the existing variation in wall colour, windows, balconies and trim.
- New The sky now has proper clouds in three layers. Towering, softly-lit cumulus sit far off on the horizon and barely move — the big fluffy ones that catch the light — with smaller clouds drifting at a middle distance and light wisps passing quickly up close, so the sky feels deep and alive as you ride. Each cloud picks up the colour of the light too, glowing warm at golden hour and going a moody blue at night.
- Improved Clouds are painted with lit tops, a warm belly and a soft veil of rain underneath rather than being flat white blobs, and the distant ones stay crisp instead of washing out into the haze. It's built to be light on performance — the whole sky costs about the same to draw as the old clouds did.
v0.2.88
Moveee Indoor: every church and castle is built for real, not a stock model
2026-07-21- Changed Churches and castles are now built from their real mapped outline like everything else — not only the ~40 famous ones. A church that is not a named landmark gets a generic bell tower with the baroque onion cap, sized from its own footprint; a castle gets a keep tower. Before, only recipe-listed landmarks were custom-built and every other church or castle fell back to a repeated kit model. The stock model is now the last resort, used only for one mapped as a bare point with no outline to build from.
- Fixed In town, some buildings' shadows appeared only as you rode up to them and dropped across the road in front of you, when they should already have been there. The sun's shadow area was a tight box centred on the rider, so a building started casting only once it came within ~60 m. It now reaches about 130 m ahead along the road, so a building's shadow is cast well before you reach it. Shadow sharpness and cost are unchanged.
v0.2.87
Moveee Indoor: no more trees floating in the air
2026-07-21- Fixed Patches of forest could appear hanging in mid-air. A mapped wood is read out to 2 km from your route, but the ground only reaches as far as the landscape around the route is built — a wood beyond that edge was being planted on a computed height with no actual ground beneath it. Trees are now only placed where there is real ground under them. (These were always there; removing the distant backdrop hills and clearing the haze is what made them visible.)
v0.2.86
Moveee Indoor: distant forests plant fewer, wider tree shapes
2026-07-21- Changed In a wood far from the road, fewer tree billboards are planted and each is a little wider. At that distance the eye reads a mass of green, not individual trees, so the forest looks the same — but thousands of overlapping flat shapes were the last real drain from the far trees, and fewer of them means less of that. Follows on from drawing far trees as flat shapes.
- Changed The dense grass patch used for ground cover was a clump of ~4,500 blades dropped hundreds of times, adding up to nearly four million triangles of grass no one looks at blade by blade. It now keeps about a fifth of its blades, and because the patches overlap the thinning does not show — the grass reads the same from the saddle at a fraction of the cost.
v0.2.85
Moveee Indoor: distant forest trees drawn as cheap flat shapes
2026-07-21- Changed Trees in a wood more than about two blocks from the road are now drawn as a simple flat cross-shape instead of a full 3D model — 4 triangles instead of up to 150. You never ride close enough to tell the difference, but a forest is tens of thousands of trees, so this is where most of the tree cost was. The roadside trees you actually pass keep their real models. This targets the biggest single drain on the frame rate.
v0.2.84
Moveee Indoor: the full 1 km around you fills with buildings
2026-07-21- Changed Every building within 1 km of the road is now kept and built, up from 600 m. In a dense centre like the na LJ grad ride that is around 4,800 buildings in the ring — the world stays a solid city out to a kilometre in every direction. The per-stretch limit was raised to 5,000 to hold them. Payload per stretch is about 1 MB. Keep an eye on the frame counter in the very densest areas — buildings are drawn one at a time, so this is the setting most likely to cost frames.
- Changed Woodland is now the biggest thing it can be for the least cost. The dense background woods that fill mapped forests used to draw from all the tree models — including the detailed ones, multiplied across ~200,000 trees — so a couple of heavier models alone were 16 million triangles of scenery no one looks at up close. Woods now use only the light models; the copses beside the road keep the detailed trees, where you actually see them. One roadside model (a single tree of ~15,000 triangles) was being scattered into the distance and is now kept out of the procedural woodland entirely. On a wooded route this cut the trees roughly in half and the whole scene by about a third, with no visible change from the saddle.
v0.2.83
Moveee Indoor: up to 3000 buildings per stretch for a full city
2026-07-21- Changed The world can now build up to 3000 buildings around each stretch of route, more than double the previous limit. On the na LJ grad ride that fills the whole 600 m around you solid — about 2700 buildings in that ring alone — where before the city thinned out sooner. Watch the frame counter in a dense centre: each building is drawn separately, so this is the setting most likely to cost frames; it can be dialled back if it does.
v0.2.82
Moveee Indoor: every building within 600 m is kept, town or country
2026-07-21- Changed The solid, unthinned area around you now reaches 600 m in every direction, up from about two blocks — and it no longer matters whether the map calls the area urban or rural, every building inside that ring is kept. The far-building limit was also lifted so the client now builds every building the map sends rather than trimming the distant ones, so the surroundings fill in completely out to that range.
v0.2.81
Moveee Indoor: the two blocks around you always fill in
2026-07-20- Fixed Riding through a city, the blocks right beside you no longer thin out. Buildings were being randomly dropped everywhere to keep distant areas from getting too dense — but a real city centre often has no landuse drawn over it in the map, so those blocks were treated as countryside and lost about 40% of their buildings right where you ride. Now every building within two blocks of the road is always kept; the thinning only applies further out. Checked against the na LJ grad route, where ~1,180 buildings sit within two blocks and roughly 470 of them used to disappear.
- New The build wraps around you at least two blocks in every direction in a city, instead of falling away a street or two back.
- Changed Fields of wheat and corn were the single heaviest thing in the world — a whole clump of crop for one tuft, then that tuft laid down hundreds of times per field, which added up to tens of millions of triangles and was the real cause of the drops in the countryside (not the forest, as it looked). Each tuft now keeps only a fraction of its stalks; overlapping neighbours close the gaps, so a field looks the same but costs a fraction as much. Fields you ride past stay dense; ones further off thin out, and distant farmland gets only a token scatter.
v0.2.80
Moveee Indoor: buildings reach far into the distance, and the sliding hills are gone
2026-07-20- Changed Houses and blocks now render much further away. They used to be fetched only 1 km from the road and the closest 600 were kept, so a city thinned out to bare ground a few streets away; now they are read to 1.8 km and up to 1400 per stretch, and the haze has been pulled back to match, so a town keeps its skyline into the distance. The procedural buildings are cheap enough that this costs frame budget you were not using.
- Changed The rolling hills that slid along beside you in the distance are gone. They were a ring of fake ridges that followed the rider rather than real scenery, and they read as hills moving with you. Turned off for now — easy to bring back later.