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.81

My Cyclist: the rig now has hands and feet, not just wrists and ankles

2026-07-27
  • New The skeleton stopped at the wrist and the ankle: each hand had a single lumped finger joint, and the feet had no bone inside them at all. The rig now carries four fingers and a thumb per hand, and a toe and heel per foot, sized from the rig's own proportions. Visible in the admin bone view.
v0.3.80

Moveee Indoor: crank tuck fixed — pedal stays under the shoe

2026-07-27
  • Fixed The left-crank fix briefly moved the pedal itself away from the shoe — now only the crank arm's root tucks in against the frame while the pedal (and your foot on it) stays exactly where it was, with the arm flaring gently out to it like a real crank.
v0.3.79

My Cyclist: no more shadowed eyes, and ears that are ears

2026-07-27
  • Fixed The dark rings around the eyes are gone. The sockets had been cut deep — anatomically true, but a deep hollow turns away from every light and reads as bruising. They are now a gentle, wide hollow with the eyes sitting a little further forward, so the eye area is lit like the rest of the face.
  • Improved The ears are properly shaped instead of squashed balls: each has the raised rim sweeping over the top and round the back, the bowl inside it, and a solid lobe below — sculpted in one piece, mirrored left to right, and following your skin tone.
v0.3.78

My Cyclist: a face that is one face, not parts on a ball

2026-07-27
  • Improved The face was an assembly — a cone for a nose, tubes for lips, boxes for eyebrows, all stuck onto a smooth ball — which is why it never read as a person. The nose, lips, philtrum, mouth line, eyebrows and eye sockets are now shaped into the head itself, so the features grow out of the skin the way a real face does. The eyes sit down inside their sockets instead of bulging off the surface, and the head is smooth-shaded rather than faceted.
v0.3.77

Moveee Indoor: a Moveee-liveried rider out of the box

2026-07-27
  • Changed New riders now start in the Moveee livery — deep indigo frame with a violet fork, matching violet jersey and white shoes — instead of the old plain grey bike. Your own saved cyclist is untouched.
  • Changed Skin tone is now chosen from the prepared set of tones rather than a free colour picker, so a rider can never end up an unnatural colour.
v0.3.76

Moveee Indoor: the left crank sits on the frame now

2026-07-27
  • Fixed The left crank arm no longer hangs out to the side with a bare stretch of axle showing between it and the frame — it now sits tucked against the bottom bracket, and your shoe follows it, through the whole pedal stroke.
v0.3.75

My Cyclist: frameless sunglasses, hair controls put away

2026-07-27
  • Changed The sunglasses are now just the lens: both the temple arms and the bar above the eyes are gone. At this size every slim dark part read as a stray line drawn across the face rather than as hardware, so the wraparound shield carries the look on its own.
  • Changed The Hair controls are out of the builder while the hair is being rebuilt, so the panel only offers what actually changes the rider. Your saved style and colour are kept.
v0.3.74

My Cyclist: the sunglasses arms now rest on the head, and the eyes hold still

2026-07-27
  • Fixed Those thin dark lines running around the head were the sunglasses' temple arms: straight sticks cutting a chord past a curved skull, floating up to 18mm clear of it. They now follow the head's own surface from the lens edge back to the ear, and are thicker, so they read as arms resting on the temples instead of lines hovering in mid-air.
  • Changed The eyes no longer blink — the lids hold a steady open gaze.
v0.3.73

My Cyclist: helmet and hair off, so the face can be got right

2026-07-27
  • Changed The helmet and its chin straps are hidden while the face is being worked on — they were covering the head we are busy perfecting. The helmet comes back once the face is settled.
  • Changed The hair is parked too: the old cap shapes read as a helmet made of hair rather than as hair, so the rider is bare-headed until they are rebuilt properly. Your style pick is remembered, and the hair colour still sets the eyebrows.
v0.3.72

My Cyclist: the face passes the tape measure

2026-07-27
  • Improved The face was audited against real adult-male proportion rules and three deviations fixed: the eyes were too close-set (now at the true inter-pupil ratio, 0.40 of head width), the mouth too narrow (33 → 47mm), the ears too small (40 → 50mm). Facial thirds were already right. Measured on the built geometry, not eyeballed.
v0.3.71

My Cyclist: a vented helmet and proper white socks

2026-07-27
  • Improved The helmet is no longer a smooth bowling ball: five vent channels are carved front-to-back over the crown, fading before the rim — the signature of a modern road lid. Still in your jersey colour.
  • New White crew socks above each shoe — they swallow the raw joint where the leg met the shoe, follow the ankle through the pedal stroke, and complete the roadie look.
v0.3.70

My Cyclist: a planted rider — quiet hips, level head, focused eyes

2026-07-27
  • Improved The rider now sits like a fitted cyclist: the pelvis stays planted on the saddle (side-to-side rock cut by more than half) and the head is carried steady and level while the legs do the work — the hallmark of a smooth pedal stroke. Feet and hands stay exactly on pedals and bars.
  • Improved The eyes now converge slightly on the road ahead instead of staring into parallel infinity.
v0.3.69

My Cyclist: he breathes, he blinks, he hasn't shaved since Tuesday

2026-07-27
  • Improved Three small signs of life: the chest swells gently at a working breathing rate, the eyes blink every few seconds, and a subtle five-o'clock shadow sits over the jaw, chin and upper lip — baked into the head so it darkens whichever skin tone you pick. Together they finish the face's turn from mannequin to man in his thirties.
v0.3.68

My Cyclist: a real pedal stroke — ankles that work, knees that track

2026-07-27
  • Improved The feet finally pedal like a cyclist's: the shoe pitches through the stroke — heel dropping through the power phase, toes pointing down through the back of the stroke — following published ankling curves, phase-derived from each foot's position around the crank.
  • Improved Knees now track over the top tube instead of flaring sideways: each knee is pulled toward its hip-to-foot plane, the way a fitted rider actually pedals.
  • Improved A slightly heavier, lower brow and a squarer jaw push the face toward the intended look — a man in his thirties.
v0.3.67

My Cyclist: helmet on, shield shades, hair that follows your pick

2026-07-27
  • New The rider wears a proper road helmet again — a low teardrop shell in your jersey colour, straps down to the chin — and modern shield sunglasses (one big wraparound smoke lens, slim top bar, temple arms), translucent enough that the eyes still read behind the lens.
  • New The Hair picker now actually changes the prototype's hair: buzz, short, messy, swept and ponytail are each their own shape, showing under the helmet rim, in your chosen colour.
  • Improved The default rider is a fair-skinned young man with hazel eyes; every skin tone remains one tap away.
v0.3.66

My Cyclist: a real face, and a body that closes up properly

2026-07-27
  • Improved The prototype rider finally has a face — eyes with irises and lids, brows in your hair colour, a rounded nose with nostril wings, curved two-tone lips — set into a one-piece sculpted head with a real brow ridge, eye sockets, cheekbones, a jaw that tapers to a chin and a proper back of the skull, with the hair cap hugging it and ears set behind the mid-line. The sunglasses block is gone (it can return as an option).
  • Fixed The waist is sealed: the bib shorts are now a closed volume and the jersey physically wraps over them like a real hem — the slit at the waist where you could see inside the torso is gone.
  • Improved Neck and shoulders rebuilt: the neck is thicker, curves forward out of the shoulders and roots into the torso under a jersey collar; trapezius muscle now slopes from the neck down to each shoulder.
  • Improved The hips are closed like a real body: glute cheeks bridge the pelvis into the thighs, a sacrum pad seals the lower back, and the torso and limb tubes are end-capped — the open hole behind the hip is gone from every angle.
  • Improved Elbows ride softly bent instead of nearly locked, breaking down-and-back like a relaxed road posture, with an anti-lock that keeps them from snapping straight mid-stroke.
v0.3.65

My Cyclist: pick your bike's colour (plus an admin bone view)

2026-07-27
  • New The cyclist builder now paints your bike like a real paint shop: separate colour choosers for the frame and the fork (picker + one-tap swatches each), applied live on the preview. Only the frame and fork take paint — the chain, derailleurs, cassette, bars, wheels and pedals keep their own finish, and the saddle, seatpost and disc-brake calipers stay a proper near-black. Saved with the rest of your rider.
  • New Admins get a 'Show bones' toggle on the cyclist preview: an X-ray overlay of the rig skeleton drawn over the model, for checking how the rider and bike are rigged.
v0.3.64

Moveee Indoor: distinct greens so the countryside patchwork actually varies

2026-07-23
  • Fixed Five kinds of grassland (meadow, grass, village green, common, dog park) were all painted the exact same green, so a patchwork of different fields read as one flat block. Each now has its own shade, and two built-up ground types that shared a colour were split too — the land quilt finally looks as varied as the fields that make it up.
v0.3.63

Moveee Indoor: mountains keep the odd crag, not just gentle green

2026-07-23
  • Fixed The last mountain change removed the vertical walls but went too far — it flattened away every steep rock face too, leaving uniformly gentle green slopes. Steep crags are back as an occasional feature (a real face here and there, as intended), while the ground between them still rises gradually and the constant cliffs stay gone.
v0.3.62

Moveee Indoor: the trainer actually reconnects after a drop

2026-07-23
  • Fixed When the trainer dropped mid-ride, only the very first reconnect attempt ran — if the trainer was not back within a second the ride stayed paused forever, despite the message promising it would resume. Reconnection is now retried on a growing backoff until the trainer returns. Also: disconnecting a trainer by hand no longer leaves a health-check timer running, and open (point-to-point) routes no longer waste map requests fetching the far end of the ride.
v0.3.61

Moveee Indoor: mountains that rise, instead of walling

2026-07-23
  • Fixed Mountain worlds on Just Ride were ringed with near-vertical walls of land right beside the road. The terrain now rises gradually — the mass of a mountainside comes from long, smooth swells over hundreds of metres, and the sharp rock faces that used to be everywhere are now the rare exception rather than a constant cliff. The steepest ground went from around 55° to about 24°.
v0.3.60

Moveee Indoor: fields, crops and a countryside quilt on Just Ride

2026-07-23
  • New The countryside on Just Ride is now a proper patchwork: farmland is the commonest kind of country, fields are laid in strips of adjacent plots each a different crop or cover, and crop fields are roughly five times more common than before — so a ride passes through a real quilt of greens, golds and ploughed earth instead of the odd lonely field.
v0.3.59

Moveee Indoor: lap counting on a loop

2026-07-23
  • Changed On a looping ride (any Just Ride world, or a circular route), the distance readout now counts around the lap and shows a Lap number once you cross the line — so a second time round reads "4.0/48 · Lap 2" instead of the confusing "52.0/48". Your total distance for the whole ride is on the readout's tooltip, and an out-and-back route with a finish is unchanged.
v0.3.58

Moveee Indoor: the elevation profile now looks 10 km ahead by default

2026-07-23
  • Changed The elevation profile on the HUD defaults to showing 10 km of road ahead instead of 5 km, so you see the shape of what is coming from further out. The +/- buttons still adjust it (1 km up to 20 km), and 10 km is now one of the steps.
v0.3.57

Moveee Indoor: sharing a mapped route to Strava no longer bounces

2026-07-23
  • Fixed Publishing a real-route ride to Strava could fail with 'velocity sample 1 is outside the supported range'. The route's GPX stamped its trackpoints to the nearest whole second, so on a dense map many points landed on the same instant and Strava read them as instant teleports at impossible speed. Trackpoints now carry millisecond timestamps, are spaced so the clock always moves forward, and coincident duplicates are dropped — so the ride uploads cleanly.
v0.3.56

Moveee Indoor: a richer, busier roadside on Just Ride

2026-07-23
  • New The countryside beside the road now has far more life and variety: more bushes, weeds, ferns, wildflowers and grass, from a bigger library of distinct plants (262, up from 180), scattered noticeably denser along the verge. It is tuned so the extra objects are the cheap kind — the number of trees stays about the same, so the frame rate holds while the roadside fills out.
v0.3.55

Moveee Indoor: land first — everything stands on the terrain that is drawn

2026-07-23
  • Fixed The definitive grounding pass: the world now treats the finished, fused land — the terrain sheet plus the road-following verge that covers it near the tarmac — as the one source of ground truth, and every tree, rock, bush and prop placed afterwards stands on that surface, exactly the way custom real-world maps already worked. The previous fix had covered only the open terrain and left the 45,000 roadside plantings (and everything that isn't a tree) trusting a height derivation that shifts while a big world streams in. Measured across a full mountain ride after the change: 64,606 placed objects, not one more than 1.3 metres off the drawn ground — and that worst case is a flower in a dip.
  • Improved Saved Indoor rides are now named consistently — "Moveee Indoor ride - 4×8 min VO₂ max on center lj" — so your history and your Strava feed show which workout you did and which map you rode it on. Free rides read "Free ride", and a Just-Ride loop is named for its shape (Hilly loop, Mountain loop). Type your own name and it's kept as-is.
v0.3.53

Moveee Indoor: the sky follows the road up

2026-07-23
  • Fixed On a route that climbs high, the clouds used to stay at the height they were built at — so a mountain road eventually rode level with them and then above them, leaving a carpet of cloud below the bike. The whole cloud deck now rides with the road's elevation: each cloud keeps its designed height above a base that tracks how high you are, so there is always sky overhead. At sea level nothing changes, the deck lags a climb rather than being glued to the bike, and rolling terrain no longer pumps it up and down.
  • Fixed Floating forests, hopefully for the last time: on mountainous rides a third of the distant scatter hung in the air — the worst tree 107 metres up — because trees were planted at a height the terrain maths believed rather than the height the terrain mesh actually drew, and those two drift apart while a big world streams in. Every tree, bush and rock is now seated directly on the drawn ground itself, so what you plant on and what you see are the same surface by construction. Measured across a whole mountain ride after the fix: zero floaters.
v0.3.52

Moveee Indoor: every invented route now starts with a flat kilometre

2026-07-23
  • Improved Pick "Just ride" and the road no longer tilts under you before you have clipped in: the first kilometre of every generated route is flat, whatever the terrain, so you get a proper run-in to wind the gears up and settle before the first climb. The climbing that used to sit there is not lost — it is eased in over the following few kilometres, and the loop still comes home to the height it left.
  • New Sitting in a wheel finally works, with savings straight from the published wind-tunnel and CFD studies: one rider's wheel at half a metre cuts your air resistance by about a third (+4.7 km/h at 250 W), a three-rider line by nearly half, and the middle of a ten-rider bunch by more than half — 36 km/h of solo effort becomes 46 in the group. The shelter fades naturally with the gap: still a quarter of a tow at two metres, nearly gone past ten. And it is read from where you actually are every moment, so attacking out of the bunch carries its shelter until your wheel truly clears the front — the slingshot — while getting dropped means watching the group ride away on less power than you are doing.
  • New The pace groups themselves ride like groups now: a rotating bunch cruises faster than a lone rider at the same effort, joining one in the 3D world drafts and gaps exactly like the classic scene, and the group's advertised speeds reflect the shelter its riders share.
  • New Weather is in the air, literally: a cold dawn ride is through denser, slower air than a hot midday one — about half a km/h between the extremes, the same physics as the altitude effect.
  • Fixed Standing starts are honest: thrust is capped at what a rear tyre can put down before it spins or the front wheel lifts, so a 1000 W launch builds speed like a track sprinter instead of a motorbike. Spinning the wheels up also costs a little extra — accelerations are fractionally lazier, exactly as physics says.
v0.3.50

Moveee Indoor: the ride notices when your trainer is in trouble

2026-07-23
  • New Moveee now watches the trainer's connection and its data, and tells the difference between a real fault and you simply not pedalling. Slow data gets a quiet warning and the ride carries on; data that stops or arrives garbled marks the numbers untrustworthy and reconnects in the background, still without stopping your ride; only a genuine disconnect pauses it — and it resumes on its own the moment the trainer is back. Coasting at zero watts, a steady ERG effort and the odd dropped packet are all treated as perfectly normal, because they are.