Changelog
Week of October 13
- Updated logic for ERG-based virtual shifting
- Additional refinements for ERG-based virtual shifting
- Throttle trainer commands for power and gear changes
- Minimap performance tweaks
- Fixed resistance for older Wahoo smart trainers
- Added "Calendar sync" setting to send the events you're attending to your favorite calendar app
- Fixed houdini jersey textures when saving settings
- Show the "Spectate" button whenever an event has active riders
- Improved smoothness of in-ride drag and drop
- Working on BikeTERROR...
Week of October 6
- Added in-ride freecam (drag/pinch in any camera mode)
- Added freecam touch support
- Zooming all the way in transitions into first-person mode
- Added camera terrain detection and avoidance
- Tweaked rider models to better align jersey textures
- Tweaked animations for smoother mounts / dismounts
- Fixed
power2
not saving correctly - Fixed balanced pacer bots riding too far ahead
- Fixed minimap wobbling when in "always up" mode
- Fixed roamer bots spawning in low-detail mode momentarily
- Added slight randomness to the hoods-to-drops animation
- Fixed a styling issue in the spectate mode wait screen
- Added raglan sleeve outline to the jersey template file
- Added support for Tymewear VitalPro (breathing + HR sensor strap)
- Fixed activity chart mis-alignment (props Steven E)
Week of September 29
- Added Zwift Play controller support (props matjaz & trco)
- Added "HR to Power" feature to ride with only a HRM (non-racing)
- Settings - added 3D avatar live preview
- Added support for custom jerseys
- Added jersey template (base for jersey designs)
- Fixed text color for TTT event signups
- Fixed jersey texture caching issue
Week of September 22
- Added a forward-leaning animation that increases with speed/grade
- Added a dropped posture at high speeds
- Animation performance optimizations
- Tweaked lean animation and rider meshes
- Sanitized rider colours to avoid super-saturation or full-black
- Fixed antsy rider animations when waiting in the start pen
- Fixed rare animation head angle glitches
- Fixed crazy-cadence bots
- Fixed crash involving very long bridges
- Fixed crash when trying to access non-indexed tiles
- Fixed scale labels in the route editor elevation graph
- Refactored bluetooth logic with a focus on simplicity
Week of September 15
- Added in-ride error icon
- Added initial support for the Zwift Click 2
- Zwift Click 1 requires firmware 1.1.0+ (update via the Zwift Companion app)
- Added firmware version check
- Improved error handling upon failed bluetooth connect
- Workouts - stay in ERG mode after the workout ends
- Display the grade in 0.1% increments
- Throttle grade commands (to prevent overloading some trainers)
- Added support for power meter L/R balance (props Jim & Wouter)
- Force a whole number for L/R balance
- Updated race results API to support TTT
- Added new rider models and animations
- Added a variety of rider LODs
- Added leaning, steering, leg openers on tight turns
- Added support for custom jerseys (UI coming soon)
- Optimized rider models for a ~40% size reduction
- Improved mount/dismount animations
Week of September 8
- Considerably faster processing for uploaded routes
- Fixed TICKR X improperly overriding cadence
- Improved elevation data
- Fixed stats drag-and-drop ordering (in-ride, Windows)
- Dynamic activity detail stats (Full activity vs Race vs Cooldown)
Week of September 1
- Fixed grass poking through bridge edges
- Fixed issue causing trees to grow through buildings
- Fixed world coordinate transformation issue (noticeable on longer routes)
- Fixed sudden speed drops for some users on lower-end machines
Week of August 25
- Tons of fixes to smooth out bad Vuelta livedata
- TTT - prevent drafting/flocking of non-team members
- Replaced minimap "path" view with a Near/Far toggle
Week of August 18
- Released 1st iteration of TTT events
- Allow riders to create a new TTT team
- Allow riders to join an existing TTT team (via an invite code)
- TTT assumes teams of 3-6 riders, with the 3rd rider counted
- TTT team leaders can start / abort a countdown timer
- TTT races start once the countdown timer hits 0
- Updated race results to account for TTTs
- Adding support for Vuelta LIVE events
- API - Include event ID with activity data
- Updated "Follower" area on athlete profile pages
Week of August 11
- Added heart rate data to spectate mode
- Preserve the mini-map rotation setting (i.e. clicking the compass)
- Improved page SEO
- Faster 3D route loading
- Added support for displaying Wattbike gear
- Refactored CORE temp sensor support
- Replaced range slider
- Planning TTT mode...
Week of August 4
- Added experimental "Draft stickiness" setting
- Added visual indicator of "ideal" draft placement to help modulate
- Slightly improve flocking to reduce collisions / ghosting
- Prevent rider list from showing for solo rides
- Fixed avatar steering issue at low cadence
- Prevent larger trees from intersecting bridges
- Route editor - fixed issue preventing re-uploading same filename
- Users can now delete their own events
- Routes listing - ability to sort by distance/climb ASC
- Tweaked the /events and /clubs pages
- Rebuilt in-ride minimap - including compass w/ auto-rotation toggle
Week of July 28
- Added TDF LIVE: Femmes series
- Added "View distance" setting to spectator mode
- Subscribers can now spectate with maximum view distance
- Improved camera rotation in medium/far chase views
- Improved tunnel entrances by caulking holes around the edges
- Improved the appearance of trees and forests
- Improved the appearance of water and croplands (smoother edges)
- Fixed camera glitch when transitioning in/out of tunnels
- Fixed flickering buildings
- Route editor: Added a strict mode for the editor warnings
- Route editor: improved spline view
- Route editor: persist state for advanced settings
- Route editors can now unpublish their own routes
Week of July 21
- TDF LIVE: fixed issue with desync / rider speeds getting stuck
- TDF LIVE: automatic rider teleporting if they deviate too far
- TDF LIVE: reset livedata if the page loses focus for 10+ seconds
- TDF LIVE: prevent spectate mode from switching to human riders when there are pros available
- TDF LIVE: numerous minor QoL (and behind the scenes) fixes
- TDF LIVE: spectate pros by default
- TDF LIVE: jersey holders now appear at the top of their group(s)
- TDF LIVE: fixed end-of-route teleport bug
- TDF LIVE: fixed skin color for some pro riders
- TDF LIVE: spectate Pogi by default on pageload
- Support virtual shifting for the Tacx Neo 2, 2T, 3M
- Fixed virtual shifting lag
Week of July 14
- TDF LIVE test run completed
- Added groupings to rider list
- Fixed occasionally crazy-high bot cadence
- Increased spectator view distance for subscribers
- Improved physics performance (pre-calculated lookups)
Week of July 7
- Added Tour de France Challenge 🚴 🇫🇷
- Investigating TDF LIVE events, stay tuned...
- Fixed issue with "fake" virtual shifting
Week of June 30
- We're taking a breather, back to full speed on July 7th!
Week of June 23
- Spectator mode - prevent mouse wheel zoom when hovering on the rider list or chat
- In-ride stats edit panel - touch support
- Added view distance setting
- Added detail quality setting
- Refactored the environment generation system
- Refactored the tileset system to reduce overhead and prevent visible seams in the environment
- More intelligent scene loading
- Fixed disappearing bridges, better pylon spacing and placement
- Prevent bridge pylons from intersecting the road below
- Fixed missing snow in the ice biome
- Fixed low-hanging clouds in spectator mode
- Fixed trees growing on bridges
- Display lap count (when relevant)
- Reduced braking aggressiveness for race events
- Added new "caution" logic to decrease a rider's maximum speed slightly when beside or behind others
- Fixed some rare 3D lifecycle issues
- Added extra handling to prevent impossibly high acceleration
- Improved Route Editor scoring to better reflect route quality
- Bots now use a spawn queue, instead of all at once (to greatly reduce stutters when loading new environment tiles)
- General improvements to the tile loading queue
- Cleaned up in-ride Menu