Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
308 commits
Select commit Hold shift + click to select a range
8f4ae4c
Offer secure browser installation from the landing page
RRG314 Oct 26, 2026
f83ceb2
Preserve input ownership across navigation and room panels
RRG314 Oct 26, 2026
5167f13
Capture the actual Home Screen after widget installation
RRG314 Oct 26, 2026
3469946
Focus chat only while its panel still owns input
RRG314 Oct 26, 2026
75195c2
Keep widget failure capture on the main actor
RRG314 Oct 26, 2026
9e620cf
Verify visible SpringBoard transitions throughout widget setup
RRG314 Oct 26, 2026
65bd801
Match visible control words and serialize native verification stages
RRG314 Oct 26, 2026
10d97f3
Compose travel status, maps and controls in one responsive HUD
RRG314 Oct 26, 2026
5ec5735
Coordinate feature HUDs through the existing screen layout owner
RRG314 Oct 26, 2026
18431ee
Unify multiplayer room discovery and management with Roam
RRG314 Oct 26, 2026
4e34a38
Match room control accessibility names to visible labels
RRG314 Oct 26, 2026
adfdf91
Unify Settings and share the existing accessibility controls
RRG314 Oct 26, 2026
efb93c3
Scope keyboard capture and keep help tied to saved controls
RRG314 Oct 26, 2026
414a249
Own Controls through the shared screen layout and input lifecycle
RRG314 Oct 26, 2026
2f76613
Keep input active under dedicated world renderers
RRG314 Oct 26, 2026
71d071a
Poll shared controls from each active world frame owner
RRG314 Oct 26, 2026
9fde266
Keep flight reference maps clear of active phone controls
RRG314 Oct 26, 2026
3df429a
Keep deployed runtime generations coherent across browser updates
RRG314 Oct 27, 2026
16b87c1
Keep Portal offline and verification attached to pinned code
RRG314 Oct 27, 2026
c607dd8
Connect the Roam Portal to existing public room discovery
RRG314 Oct 27, 2026
cfdf802
Preserve verified legacy code during the first pinned runtime release
RRG314 Oct 27, 2026
baef2ed
Bind root URL aliases to their verified code authority
RRG314 Oct 27, 2026
f9a50f1
Give Ocean and spacecraft VR their current session and frame owners
RRG314 Oct 27, 2026
fed1d28
Read WorldCover classes from supported bounded raw tiles
RRG314 Oct 27, 2026
ca89f08
Give native Portal cards shared Roam styling and readable size layouts
RRG314 Oct 27, 2026
34a3c26
Retain declared native captures and resume only pending widget layouts
RRG314 Oct 27, 2026
f59db9c
Keep widget action rows aligned for unsaved and large-text cards
RRG314 Oct 27, 2026
cb5229b
Keep the small Portal opening action concise
RRG314 Oct 27, 2026
da4bbc9
Keep compact Portal actions readable at large system text sizes
RRG314 Oct 27, 2026
b83c8dd
Use explicit widget control geometry across native text settings
RRG314 Oct 27, 2026
1ad98d3
Wait for the standalone Home Screen Edit control
RRG314 Oct 27, 2026
fb47c0e
Prepare detached resident population visuals before first play
RRG314 Oct 27, 2026
f2b592f
Make journey guidance readable across mobile layouts and text sizes
RRG314 Oct 27, 2026
74a3738
Resume changed Apple app views without replaying Home Screen setup
RRG314 Oct 27, 2026
cb7a6aa
Choose conservative first-run graphics for integrated desktops
RRG314 Oct 27, 2026
2d9ad8a
Prepare the selected Earth sky while location loading still owns pres…
RRG314 Oct 27, 2026
d9903b3
Publish the reviewed Baltimore Portal entry for tested device profiles
RRG314 Oct 27, 2026
3a1897b
Verify reviewed native Portal entry and expiry without replaying acco…
RRG314 Oct 27, 2026
6436113
Unify native launch recovery and require the reviewed Portal handoff
RRG314 Oct 27, 2026
45544c4
Verify Android offline recovery with all owned emulator network route…
RRG314 Oct 27, 2026
1f37230
Bring in-play mobile controls into Roam with readable large-text layouts
RRG314 Oct 27, 2026
5561ae6
Keep gameplay visible by sharing HUD space across transport and marin…
RRG314 Oct 28, 2026
ce7a31c
Keep boat hints out of the depth controls during play
RRG314 Oct 28, 2026
fe6f646
Let embedded swimming controls inherit the marine HUD presentation
RRG314 Oct 28, 2026
7e6a4ca
Restore desktop HUD and graphics defaults and retain selected-distric…
RRG314 Oct 28, 2026
c9c759a
Keep both map credits visible in short desktop windows
RRG314 Oct 28, 2026
390a0bd
Keep planetary field panels in the shared HUD lane
RRG314 Oct 28, 2026
ef0e46c
Coalesce HUD resize updates and keep landscape phone flight controls …
RRG314 Oct 28, 2026
f80b53c
Release flight instrument input ownership when boarding Solis Reach
RRG314 Oct 28, 2026
4fb903f
Keep ship action buttons clear on landscape phones
RRG314 Oct 28, 2026
6854ea7
Reuse fixed numeric uniform buffers during world rendering
RRG314 Oct 28, 2026
b4f7303
Avoid generic float copy allocations in renderer uniform updates
RRG314 Oct 28, 2026
15cbf64
Bound renderer scratch matrix allocation to owned views
RRG314 Oct 28, 2026
a01adc7
Add licensed real-car fleet and selectable detailed aircraft
RRG314 Oct 28, 2026
7da846f
Keep live flight when selecting a different aircraft
RRG314 Oct 28, 2026
6f1f18a
Own personal vehicle selection, garage condition and traffic clearance
RRG314 Oct 28, 2026
0615cab
Polish garage presentation and preserve dry airport arrivals
RRG314 Oct 28, 2026
fbbea67
Share vehicle dynamics with scoped racing actors and course rules
RRG314 Oct 28, 2026
d9a81b4
Calibrate shared driving and qualify full-chassis road racing
RRG314 Oct 28, 2026
80a6bcc
Integrate scoped road racing practice and mapped route creation
RRG314 Oct 28, 2026
ce533c2
Preserve surveyed road segments through racing grids and route recovery
RRG314 Oct 28, 2026
83d76d5
Bind race districts to published identity and keep rivals on graded r…
RRG314 Oct 28, 2026
d7aece1
Complete racing frame handoff and keep race actions and results visible
RRG314 Oct 28, 2026
85519af
Connect racing practice to existing collection and driving skill
RRG314 Oct 28, 2026
7fb24ea
Scope the racing HUD and keep result actions visible on small screens
RRG314 Oct 28, 2026
8e589d1
Replace racing card pitches with a focused route menu and current-wor…
RRG314 Oct 28, 2026
1e80be2
Keep race setup and course facts visible beside the location preview
RRG314 Oct 28, 2026
5972bbb
Connect racing practice to Journal rankings and VR results
RRG314 Oct 29, 2026
19cf898
Own race finish and result-review handoffs
RRG314 Oct 29, 2026
83f2d68
Add authenticated room racing and durable shared results
RRG314 Oct 29, 2026
3e6d853
Add tested and moderated shared racing routes
RRG314 Oct 29, 2026
82b0592
Use supported OAuth credentials for racing intake
RRG314 Oct 29, 2026
283bfe2
Connect verified race results to rivals and racing crews
RRG314 Oct 29, 2026
16240da
Keep racing account cleanup compatible with partial results
RRG314 Oct 29, 2026
f2d6213
Own credential waits before pumping racing connections
RRG314 Oct 29, 2026
9535d73
Preserve shared vehicle models and chassis poses after racing
RRG314 Oct 29, 2026
638b8e9
Give curated racing courses a durable publication owner
RRG314 Oct 29, 2026
e0ac9c9
Keep finished racing input and broadcasts with their session
RRG314 Oct 29, 2026
74c9771
Compile Silverstone geographic sources through shared road and ground…
RRG314 Oct 29, 2026
0483aee
Preserve reviewed road surveys through canonical source normalization
RRG314 Oct 29, 2026
b16e3ff
Keep race deadlines and saved long-run times under one bounded course…
RRG314 Oct 29, 2026
13f2883
Publish complete racing surveys atomically in bounded district chunks
RRG314 Oct 29, 2026
f4df048
Index immutable racing courses without changing contact or timing
RRG314 Oct 29, 2026
4f5c55b
Prepare complete pinned venue ground through the existing world owner
RRG314 Oct 29, 2026
26a5f76
Preserve the complete mapped Nordschleife source and its short links
RRG314 Oct 29, 2026
319808a
Compile bounded official terrain mosaics through shared ground proces…
RRG314 Oct 29, 2026
cf74643
Qualify racing from published surfaces and retained source topology
RRG314 Oct 29, 2026
07978a4
Keep solo race choices first on small screens
RRG314 Oct 29, 2026
ac70752
Present practice vehicles continuously between accepted physics frames
RRG314 Oct 29, 2026
fe5e928
Add shared asphalt detail and scoped road race safety equipment
RRG314 Oct 29, 2026
45dc5fb
Use shared road paint depth and filtered race fence coverage
RRG314 Oct 29, 2026
798aa33
Light race paint with its surveyed surface normals
RRG314 Oct 29, 2026
2e67d02
Retain reviewed mapped pavement beyond a narrower race corridor
RRG314 Oct 29, 2026
c09fc47
Add two detailed unbranded GT cars through the shared garage and fleet
RRG314 Oct 29, 2026
4703895
Prepare detailed club racing and rally bodies after visual source review
RRG314 Oct 29, 2026
2898250
Interpret Silverstone Wing within its mapped building footprint
RRG314 Oct 29, 2026
c9956c7
Compile reviewed bridge decks and reconcile their approach crossfall
RRG314 Oct 29, 2026
b5d10c0
Withdraw generic racing prototypes from the shared vehicle fleet
RRG314 Oct 29, 2026
37c7392
Prepare a licensed real BMW M3 through the shared vehicle owners
RRG314 Oct 29, 2026
238c87a
Convert reviewed geographic deck profiles in the existing road compiler
RRG314 Oct 29, 2026
5c301be
Add explicit banked pavement forces through the shared driving kernel
RRG314 Oct 29, 2026
58fcdf8
Keep mounted vehicle bodies and cabin cameras on their ground pivot
RRG314 Oct 29, 2026
509a9f2
Add the real E92 M3 racing exterior with a shared live instrument cabin
RRG314 Oct 29, 2026
6ab80de
Register the E92 model content identity with the shared loader
RRG314 Oct 29, 2026
ca483d6
Replace baked placeholder shading and preserve glTF display orientation
RRG314 Oct 29, 2026
3236f27
Place the E92 instruments above the wheel with a readable driver-faci…
RRG314 Oct 29, 2026
bf2bf34
Record the real M3 race car evidence and remaining release boundaries
RRG314 Oct 29, 2026
54c6018
Add the real Carrera 4S with shared wheel custody and a prepared five…
RRG314 Oct 29, 2026
55e0dbc
Fit the Carrera lining beneath its source roof and retain the live di…
RRG314 Oct 29, 2026
f87c8f4
Fit the E92 driver view and controls beneath the windshield aperture
RRG314 Oct 30, 2026
0e283a5
Record real-car local ownership, driving and exploration handback evi…
RRG314 Oct 30, 2026
f4959ee
Finalize reviewed road cross-sections after coupled bridge joins
RRG314 Oct 30, 2026
f2c69b1
Bind qualified banked courses to shared handling and distinct record …
RRG314 Oct 30, 2026
dca001d
Prepare hash-bound reviewed Nordschleife decks through the shared ven…
RRG314 Oct 30, 2026
c84003a
Preserve reviewed banked grades and audit every source junction
RRG314 Oct 30, 2026
2c33f7e
Compile observed bridge approaches without false bare-earth ramps
RRG314 Oct 30, 2026
88c0405
Record observed pavement reconstruction evidence and venue limitations
RRG314 Oct 30, 2026
4aee987
Carry bounded full-length venue identity through courses and results
RRG314 Oct 30, 2026
1821899
Adopt retained Nordschleife ground and pavement for world inspection
RRG314 Oct 30, 2026
af9fb03
Retry unfinished street overview transfers after source replacement
RRG314 Oct 30, 2026
4213040
Admit reviewed virtual raceways through the existing motor graph
RRG314 Oct 30, 2026
b2543b6
Record actual Nord world admission and remaining terrain failures
RRG314 Oct 30, 2026
844bdac
Refine reviewed venue corridors within the existing far terrain mesh
RRG314 Oct 30, 2026
808626c
Fit reviewed corridor refinement within the existing geometry budget
RRG314 Oct 30, 2026
79a5944
Refine narrow terrain seam cells along their unresolved axis
RRG314 Oct 30, 2026
efef8a2
Preserve far-grid precision and detailed seam ownership during refine…
RRG314 Oct 30, 2026
ec49dad
Preserve finalized reviewed source nodes across bridge traversal layers
RRG314 Oct 30, 2026
16ec1ee
Adopt finalized reviewed transport connections at world publication
RRG314 Oct 30, 2026
dfe026e
Retain certified centimetre spans through source traversal splits
RRG314 Oct 30, 2026
17e528b
Place full Nordschleife practice timing on the supported T13 straight
RRG314 Oct 30, 2026
14124ff
Build mapped T13 terraces and conforming Nord steel perimeter
RRG314 Oct 30, 2026
e451ab4
Fit T13 architecture after grading and draw race paint above pavement
RRG314 Oct 30, 2026
088fd7f
Record full Nord T13 practice and repaired presentation evidence
RRG314 Oct 30, 2026
6d697b8
Drive the original E46 gauge faces through shared vehicle instruments
RRG314 Oct 30, 2026
06cf4f0
Record actual E46 instrument driving and ordinary vehicle handback
RRG314 Oct 30, 2026
ce2574a
Read distant woodland from the existing published terrain field
RRG314 Oct 30, 2026
be6ca1c
Preserve native valley relief around the reviewed Nordschleife road
RRG314 Oct 30, 2026
80f26e1
Extend Nordschleife landscape from the retained native DGM perimeter
RRG314 Oct 30, 2026
66241e1
Record native Nord landscape publication and remaining presentation gaps
RRG314 Oct 30, 2026
53c5e06
Preserve accepted forest cover on wooded terrain slopes
RRG314 Oct 30, 2026
ca31e3d
Read detailed forest cover from published world grid coordinates
RRG314 Oct 30, 2026
cae8180
Keep reviewed venue canopy near the driver within the existing tree cap
RRG314 Oct 30, 2026
14f443f
Record verified woodland field repairs and remaining circuit presenta…
RRG314 Oct 30, 2026
6d3b160
Carry bounded lateral road profiles through shared racing contracts
RRG314 Oct 30, 2026
a37a358
Keep tapered edge contact on the same shared road triangles
RRG314 Oct 30, 2026
5172a73
Compile physical edge bands through the shared road surface owner
RRG314 Oct 30, 2026
eaf1cd3
Bind original bend kerbs to reviewed sources and published racing pro…
RRG314 Oct 30, 2026
457a587
Fit common racing stations to published kerb and terrain cross sections
RRG314 Oct 30, 2026
dc16c3a
Preserve accepted kerb seams through final carriageway meshing
RRG314 Oct 30, 2026
890083b
Cover the accepted road outline with the same raised edge top
RRG314 Oct 30, 2026
478a4f0
Keep flat asphalt within its authored footprint beside raised edges
RRG314 Oct 30, 2026
7468695
Preserve valid lateral roof planes through canonical height rounding
RRG314 Oct 30, 2026
7c034f1
Bound detailed venue surface publications within coordinated chunk st…
RRG314 Oct 30, 2026
f4ad1d6
Taper raised bands before shared asphalt junction clearances
RRG314 Oct 30, 2026
bc44ae4
Bind authored kerb lifts to separately validated published pavement b…
RRG314 Oct 30, 2026
7f394f7
Retain kerb base heights in the selected published road triangle
RRG314 Oct 30, 2026
799730f
Discard unresolved sub-grid kerb roof clipping remnants
RRG314 Oct 30, 2026
37f9b43
Partition complex published road profiles at continuous source stations
RRG314 Oct 30, 2026
3312700
Refine reviewed road support through the existing detailed terrain mesh
RRG314 Oct 30, 2026
abcb01b
Publish far terrain grid axes in the rendered Float32 frame
RRG314 Oct 30, 2026
0e9cb7d
Keep reviewed pavement support grades clear of generalized shoulders
RRG314 Oct 30, 2026
352ae2f
Bound approach excavation overlap to its published road caps
RRG314 Oct 30, 2026
dc3d569
Sew reviewed pavement caps through the existing regional road partition
RRG314 Oct 30, 2026
e1b5905
Spread reviewed pavement width joins over the existing road support c…
RRG314 Oct 30, 2026
0a4e99c
Show physical venue surfaces near the player with a geographic colour…
RRG314 Oct 30, 2026
0d944b1
Close accepted venue source corners through the shared road union
RRG314 Oct 30, 2026
925fb60
Load the exact Daytona tri-oval and native banked ground through shar…
RRG314 Oct 30, 2026
0ede757
Cover the existing reviewed terrain refinement before world preparation
RRG314 Oct 30, 2026
ddf5f35
Fit ordinary driving to explicitly reviewed banks with the shared whe…
RRG314 Oct 30, 2026
a4d620a
Record native four-wheel contact on the reviewed Daytona bank
RRG314 Oct 30, 2026
2531b4c
Constrain reviewed terrain at pavement edges and retain native bank s…
RRG314 Oct 30, 2026
180b23d
Fit Daytona grandstand tiers and concourses to its mapped curved plan
RRG314 Oct 30, 2026
d5c3060
Keep deferred venue exteriors out of generic building batches
RRG314 Oct 30, 2026
a776cec
Transfer generic roof details with their verified venue building
RRG314 Oct 30, 2026
154de96
Reserve every visual owned by the matched venue building
RRG314 Oct 30, 2026
a256444
Record native Daytona grandstand ownership acceptance
RRG314 Oct 30, 2026
3498b93
Compile asymmetric venue banks and aprons through shared pavement own…
RRG314 Oct 30, 2026
e0769c4
Record native Daytona bank and apron contact acceptance
RRG314 Oct 30, 2026
6c4628c
Preserve bank and apron lighting creases without changing road contacts
RRG314 Oct 30, 2026
9ab7824
Record native bank and apron shading acceptance
RRG314 Oct 30, 2026
1ef4c9e
Share full asymmetric bank and apron profiles across racing authorities
RRG314 Oct 30, 2026
ba90ea9
Keep profiled pavement heights continuous across source bends
RRG314 Oct 30, 2026
a5e255b
Conform profiled terrain partition edges before pavement publication
RRG314 Oct 30, 2026
d691bcc
Keep thin terrain partition corners unique during edge conformance
RRG314 Oct 30, 2026
1c0e508
Expose pinned road group for terrain partition diagnostics
RRG314 Oct 30, 2026
db9b747
Unify equivalent profiled terrain cuts before edge conformance
RRG314 Oct 30, 2026
3cf60d3
Split profiled terrain faces at every logical edge station
RRG314 Oct 30, 2026
b51caae
Hand grading to connected pavement and fit canonical profiles within …
RRG314 Oct 30, 2026
f83c211
Record native full-width pavement and canonical storage acceptance
RRG314 Oct 30, 2026
40fc61f
Add Daytona practice timing and permanent pavement perimeter
RRG314 Oct 30, 2026
be611f7
Preserve the painted white venue wall finish
RRG314 Oct 30, 2026
04e7fd5
Anchor venue wall bases to published interior contacts
RRG314 Oct 30, 2026
2d9dc48
Read actual triangle support beside clipped wall footing caps
RRG314 Oct 30, 2026
6cd42a4
Keep venue paint visible and recover mapped cover on refined terrain
RRG314 Oct 30, 2026
4371230
Record native practice and permanent perimeter boundaries
RRG314 Oct 30, 2026
39f9740
Carry the actual variable bank lane through shared racing facts
RRG314 Oct 30, 2026
99006cd
Add an owned rolling formation for reviewed oval courses
RRG314 Oct 30, 2026
0902269
Use the canonical vehicle speed module for rolling formation
RRG314 Oct 30, 2026
636adcd
Keep oval rivals in lanes at curvature-bounded racing speeds
RRG314 Oct 30, 2026
8b84c3b
Add shared oval cautions, apron pace and order penalties
RRG314 Oct 30, 2026
8c8b723
Build mapped Daytona paddock garage exteriors through the building owner
RRG314 Oct 30, 2026
4cc406f
Replace generic paddock offices with mapped service and media exteriors
RRG314 Oct 30, 2026
9621794
Add bounded oval wakes through shared aerodynamic drag
RRG314 Oct 30, 2026
c95a6d5
Add reviewed oval pit branches with physical checkpoint timing
RRG314 Oct 30, 2026
fa37f95
Adopt reviewed native Daytona pit pavement through the shared world c…
RRG314 Oct 30, 2026
37d8aa7
Fit reviewed pit pavement from a bounded native ground core
RRG314 Oct 30, 2026
a86f64c
Preserve accepted main pavement when grading a reviewed pit branch
RRG314 Oct 30, 2026
be5cf5e
Use the existing four-wheel road solve on reviewed pit pavement
RRG314 Oct 30, 2026
ab362ed
Put the accepted real BMW and Porsche models on practice race grids
RRG314 Oct 30, 2026
f37ddb8
Replace inferred pit towers with open canopies and retain real race-c…
RRG314 Oct 30, 2026
f1dd132
Record the completed native Daytona pit journey and remaining release…
RRG314 Oct 30, 2026
b4e57ac
Project Daytona pit stalls and pace markings onto published pavement
RRG314 Oct 30, 2026
f2fb525
Filter thin projected pit paint at pixel scale without changing pavement
RRG314 Oct 30, 2026
281469c
Replace nine inferred pit towers with low support buildings and viewi…
RRG314 Oct 30, 2026
d573c2d
Filter grid and finish paint while retaining qualified pavement creases
RRG314 Oct 30, 2026
40d5ad2
Prepare reviewed open stages through shared course contracts
RRG314 Oct 31, 2026
0d83485
Share published pit contact and timing with circuit sessions
RRG314 Oct 31, 2026
a8e0a15
Prepare Spa Monza and Talladega sources with pinned USGS ground
RRG314 Oct 31, 2026
a3a13ba
Share rally conditions flight timing and bounded recovery
RRG314 Oct 31, 2026
35b7d49
Admit reviewed rally intervals through existing world publication
RRG314 Oct 31, 2026
a58741a
Land rally cars on actual wheel contact and report flight clearance
RRG314 Oct 31, 2026
06d18d4
Finish Daytona entry context and narrow launch to three venues
RRG314 Oct 31, 2026
713c93f
Dress the three launch venues through shared world owners
RRG314 Oct 31, 2026
ec90915
Connect Silverstone pit lane through shared circuit rules
RRG314 Oct 31, 2026
6631b67
Keep unverified Silverstone pit surface outside launch admission
RRG314 Oct 31, 2026
54a540c
Keep long circuit choices clear on phone layouts
RRG314 Oct 31, 2026
91cc392
Resolve Daytona ground inside the selected delivery release
RRG314 Oct 31, 2026
25e3be7
Retain explicit lake classification behind generic water tags
RRG314 Oct 31, 2026
72aa415
Publish reviewed three-venue courses through shared racing authorities
RRG314 Oct 31, 2026
7470b7c
Retain immutable ground resources used by open predecessor pages
RRG314 Oct 31, 2026
ecd00a7
Record the frozen three-venue candidate and its acceptance limits
RRG314 Oct 31, 2026
42997b8
Compile the supported Silverstone pit corridor before shared road pub…
RRG314 Oct 31, 2026
7d8b3d2
Publish the accepted Silverstone GP and complete pit catalogue together
RRG314 Oct 31, 2026
50b7528
Record the completed three-track candidate with Silverstone pit accep…
RRG314 Oct 31, 2026
1b88415
Use shared crash damage and condition custody for new race classes
RRG314 Oct 31, 2026
287bd59
Unify mapped, recorded and terrain track creation with scoped room ra…
RRG314 Oct 31, 2026
6fb557a
Retain full terrain cross sections and repair native track presentation
RRG314 Oct 31, 2026
4ab8069
Keep the overhead track editor beside its editable draft
RRG314 Oct 31, 2026
9d2971f
Build continuous course perimeters and finish the creator controls
RRG314 Oct 31, 2026
126942e
Keep creator map context clear and admit scoped venue road subsets
RRG314 Oct 31, 2026
b3d730f
Bind room track records to room retirement and account closing fences
RRG314 Oct 31, 2026
15b2edb
Clean recorded layouts and preserve room Journal configuration classes
RRG314 Oct 31, 2026
c390d3a
Honor hidden creator controls across responsive layouts
RRG314 Oct 31, 2026
f5b5482
Accept the coordinated track creator and damage release scope
RRG314 Oct 31, 2026
d3848a8
Record the coordinated production racing rollout and live verification
RRG314 Nov 1, 2026
034ffdb
Explain the shipped racing update in the README and release notes
RRG314 Nov 1, 2026
fda2229
Keep ownership verification scoped to the reviewed game context
RRG314 Nov 1, 2026
e15c8e2
Register racing component coverage and align fixtures with the accept…
RRG314 Nov 1, 2026
c90f067
Install racing dependencies in CI and bound cross-platform calibratio…
RRG314 Nov 1, 2026
4a41bd6
Use a shared worker module instead of evaluated source in transport t…
RRG314 Nov 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
91 changes: 90 additions & 1 deletion .github/workflows/android-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,39 @@ name: Android test package
on:
workflow_dispatch:
inputs:
native_live:
description: Verify native account SDK with the owned temporary staging identity
type: boolean
default: false
native_only:
description: Run only the live SDK journey, reusing existing widget evidence
type: boolean
default: false
dependency_proposal:
description: Resolve proposed new SDK locks/checksums for review (not release verification)
type: boolean
default: false
launch_check:
description: Verify native cold launch, offline recovery and retry
type: boolean
default: true
widget_check:
description: Verify the native Portal widget and Trail in an owned emulator
type: boolean
default: false
layout_stage:
description: Current layout checkpoint to collect
type: choice
options: [all, compact]
default: all
layout_only:
description: Collect widget layouts only; reuses separately accepted functional checks
type: boolean
default: false
widget_only:
description: Check only debug widget interactions (does not verify a release package)
type: boolean
default: false
push:
branches: [steven/android-testing]
paths: ['android/**', '.github/workflows/android-test.yml']
Expand All @@ -19,7 +48,36 @@ concurrency:
cancel-in-progress: false

jobs:
dependency-proposal:
if: github.event_name == 'workflow_dispatch' && inputs.dependency_proposal
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false
- uses: actions/setup-java@cf277c60eb25467037889841efdb72551f06f6c3 # v4
with:
distribution: temurin
java-version: '21'
- name: Install the targeted Android platform
run: '"${ANDROID_HOME:?}/cmdline-tools/latest/bin/sdkmanager" "platforms;android-36" "build-tools;36.0.0"'
- name: Resolve proposed dependency metadata and compile for review
working-directory: android
run: ./gradlew --no-daemon --max-workers=2 --write-verification-metadata sha256 --write-locks :app:lintRelease :app:assembleRelease :app:assembleDebug
- name: Retain dependency proposal and compile diagnostics
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: android-dependency-proposal
path: |
android/app/gradle.lockfile
android/gradle/verification-metadata.xml
android/app/build/reports/lint-results-release.*
retention-days: 30
if-no-files-found: error
android:
if: github.event_name != 'workflow_dispatch' || !inputs.dependency_proposal
runs-on: ubuntu-24.04
timeout-minutes: 25
steps:
Expand All @@ -32,10 +90,19 @@ jobs:
java-version: '21'
- name: Install the targeted Android platform
run: '"${ANDROID_HOME:?}/cmdline-tools/latest/bin/sdkmanager" "platforms;android-36" "build-tools;36.0.0"'
- name: Validate diagnostic layout selection
if: github.event_name == 'workflow_dispatch' && inputs.layout_only
env:
VALID_LAYOUT_SELECTION: ${{ inputs.widget_only && inputs.widget_check && !inputs.launch_check && !inputs.native_live && !inputs.native_only }}
run: test "$VALID_LAYOUT_SELECTION" = true
- name: Verify shared native presentation tokens
run: node scripts/build-native-roam-theme.mjs --check
- name: Build and lint unsigned packages
if: github.event_name != 'workflow_dispatch' || !inputs.widget_only
working-directory: android
run: ./gradlew --no-daemon --max-workers=2 --dependency-verification strict :app:lintRelease :app:bundleRelease :app:assembleRelease
- name: Prepare package evidence and local signing tool
if: github.event_name != 'workflow_dispatch' || !inputs.widget_only
run: |
mkdir -p android-artifacts
cp android/app/build/outputs/bundle/release/app-release.aab android-artifacts/
Expand All @@ -47,8 +114,29 @@ jobs:
"$ANDROID_HOME/build-tools/36.0.0/aapt2" dump badging android-artifacts/app-release-unsigned.apk > android-artifacts/package-badging.txt
git rev-parse HEAD > android-artifacts/source-commit.txt
(cd android-artifacts && sha256sum * > SHA256SUMS)
- name: Build the native widget verification host
if: github.event_name == 'workflow_dispatch' && inputs.widget_check
working-directory: android
run: ./gradlew --no-daemon --max-workers=2 --dependency-verification strict :app:assembleDebug
- name: Verify native Portal widgets
if: github.event_name == 'workflow_dispatch' && inputs.widget_check
timeout-minutes: 12
env:
WE3D_PORTAL_ANDROID_ACCEPTANCE: ${{ inputs.native_live && secrets.WE3D_PORTAL_ANDROID_ACCEPTANCE || '' }}
WE3D_PORTAL_NATIVE_ONLY: ${{ inputs.native_only }}
WE3D_PORTAL_LAYOUT_ONLY: ${{ inputs.layout_only }}
WE3D_PORTAL_LAYOUT_STAGE: ${{ inputs.layout_stage }}
run: bash scripts/verification/android-portal-widget.sh
- name: Preserve native widget evidence
if: always() && github.event_name == 'workflow_dispatch' && inputs.widget_check
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: android-widget-evidence
path: android-widget-evidence/
retention-days: 30
if-no-files-found: warn
- name: Verify Android launch and connection recovery
if: github.event_name != 'workflow_dispatch' || inputs.launch_check
if: github.event_name != 'workflow_dispatch' || (inputs.launch_check && !inputs.widget_only)
timeout-minutes: 12
run: bash scripts/verification/android-cold-launch.sh
- name: Preserve Android launch evidence
Expand All @@ -60,6 +148,7 @@ jobs:
retention-days: 30
if-no-files-found: warn
- name: Retain the exact unsigned package and evidence
if: always() && (github.event_name != 'workflow_dispatch' || !inputs.widget_only)
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: world-explorer-android-${{ github.sha }}
Expand Down
79 changes: 79 additions & 0 deletions .github/workflows/apple-portal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Apple Portal native acceptance

on:
workflow_dispatch:
inputs:
app_only:
description: Run changed native app views; reuse accepted widget checks
type: boolean
default: false
widget_only:
description: Run widget layouts and Home Screen journey; reuse accepted app checks
type: boolean
default: false
native_live:
description: Exercise native SDK ownership with the owned temporary staging identity
type: boolean
default: false
push:
branches: [steven/living-portal-vr]
paths: ['apple/**', 'scripts/verification/apple-portal.sh', '.github/workflows/apple-portal.yml']

permissions:
contents: read
concurrency:
group: apple-portal-${{ github.ref }}
cancel-in-progress: false
jobs:
native:
# The push trigger registers this feature-branch workflow. Native acceptance
# itself is dispatched deliberately so each committed change is tested once.
if: github.event_name == 'workflow_dispatch'
runs-on: macos-26
timeout-minutes: 35
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false
- name: Verify the pinned project generator
run: |
node scripts/build-native-roam-theme.mjs --check
curl --fail --location --silent --show-error https://github.com/yonaskolb/XcodeGen/releases/download/2.46.0/xcodegen.zip -o "$RUNNER_TEMP/xcodegen.zip"
printf '%s %s\n' '4d9e34b62172d645eed6457cac13fc222569974098ef4ee9c3368bedf0196806' "$RUNNER_TEMP/xcodegen.zip" | shasum -a 256 -c -
unzip -q "$RUNNER_TEMP/xcodegen.zip" -d "$RUNNER_TEMP/xcodegen"
"$RUNNER_TEMP/xcodegen/xcodegen/bin/xcodegen" generate --spec apple/project.yml
- name: Restore pinned SDK compilation
id: apple_sdk_cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
key: apple-sdk-${{ runner.os }}-${{ runner.arch }}-xcode26.6-v1-${{ hashFiles('apple/Package.resolved', 'apple/project.yml') }}
path: |
${{ runner.temp }}/we3d-apple-packages
${{ runner.temp }}/we3d-apple-derived/Build
${{ runner.temp }}/we3d-apple-derived/ModuleCache.noindex
${{ runner.temp }}/we3d-apple-derived/SDKStatCaches.noindex
- name: Build and exercise the native app in one owned simulator
id: native
env:
WE3D_PORTAL_APPLE_ACCEPTANCE: ${{ inputs.native_live && secrets.WE3D_PORTAL_APPLE_ACCEPTANCE || '' }}
WE3D_PORTAL_APPLE_WIDGET_ONLY: ${{ inputs.widget_only }}
WE3D_PORTAL_APPLE_APP_ONLY: ${{ inputs.app_only }}
run: bash scripts/verification/apple-portal.sh
- name: Retain compiled SDKs after a completed build
if: always() && steps.native.outputs.sdk_built == 'true' && steps.apple_sdk_cache.outputs.cache-hit != 'true' && !inputs.native_live
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
key: ${{ steps.apple_sdk_cache.outputs.cache-primary-key }}
path: |
${{ runner.temp }}/we3d-apple-packages
${{ runner.temp }}/we3d-apple-derived/Build
${{ runner.temp }}/we3d-apple-derived/ModuleCache.noindex
${{ runner.temp }}/we3d-apple-derived/SDKStatCaches.noindex
- name: Retain bounded diagnostics, pins and native screenshots
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: apple-portal-evidence
path: apple-portal-evidence/
retention-days: 30
if-no-files-found: warn
3 changes: 3 additions & 0 deletions .github/workflows/release-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ jobs:
- name: Install backend dependencies
run: npm ci --prefix functions

- name: Install racing service dependencies
run: npm ci --prefix services/racing

- name: Install Firebase release tooling
run: npm install --global [email protected]

Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/runtime-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ jobs:
- name: Install backend dependencies
run: npm ci --prefix functions

- name: Install racing service dependencies
run: npm ci --prefix services/racing

- name: Bounded pull-request verification
run: npm run verify:pr

Expand Down Expand Up @@ -79,6 +82,9 @@ jobs:
- name: Install backend dependencies
run: npm ci --prefix functions

- name: Install racing service dependencies
run: npm ci --prefix services/racing

- name: Verify patched Python and pip
run: |
python -c "import sys; assert (3, 13, 17) <= sys.version_info[:3] < (3, 14, 0), 'Patched Python 3.13.17 or later 3.13 required'"
Expand Down
5 changes: 5 additions & 0 deletions ATTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ This is the concise public attribution index. Asset-level details are in `app/as
- ESA WorldCover 2021: contains modified Copernicus Sentinel data processed by the ESA WorldCover consortium, CC BY 4.0. <https://esa-worldcover.org/>
- GEBCO Compilation Group bathymetry: CC BY 4.0. <https://www.gebco.net/>
- Mapzen Terrarium elevation service and upstream elevation sources: provider terms apply.
- Environment Agency LIDAR Composite 2022 terrain: Environment Agency copyright
and/or database right 2022. All rights reserved. Modified under the
[Open Government Licence v3](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/).
Source, normalization and precision evidence is retained in each ground manifest.
- Racing geographic packs: [source-level attribution and adapted-data recipes](app/assets/racing/ATTRIBUTION.md).

### DeFlock Hunt

Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,26 @@

Notable user-facing changes are recorded here. Git history and GitHub releases contain the complete change record.

## Racing and track creation — deployed 2026-10-31

- Added complete Silverstone GP and pit access, full Nordschleife T13, and
Daytona tri-oval with its pit branch; other researched venue packs are deferred.
- Added the real BMW M3 E46, BMW M3 E92 race car and Porsche 911 Carrera 4S
models with existing garage ownership, upgrades and condition.
- Repaired driving/camera frame interpolation and verified steady held input.
- Connected racing barrier damage, condition-dependent handling, reconnect
and garage handback through the existing vehicle owners.
- Added one creator workspace for overhead road selection, drive recording
and supported roadless tracks, with editable clean layouts and continuous
highlights and event barriers.
- Added current-room track sharing and unranked Journal results, while
retaining reviewed public competition, class leaderboards and reward rules.
- Deployed and verified the coordinated racing service, protected account
APIs, required indexes and all three venue catalogues with normal production
App Check and authenticated WebSocket access.

[Player guide and release notes](RELEASE_NOTES_RACING.md).

## [5.6.1] - 2026-10-19

- Local road-detail recovery keeps the selected world and player in place.
Expand Down
16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,26 @@ dependency locks in Git. Their workflows build in owned emulators/simulators.
Release signing material and temporary live-test identities stay outside Git;
they must never enter screenshots, uploaded logs or build artifacts.

`scripts/verification/web-startup-current.mjs` checks a failed essential file,
explicit reload and slow startup in one selected browser engine. Run it through
`scripts/verification/attested-source-check.mjs` with authorized staging access.
`WE3D_STARTUP_WORLD=1` adds one city entry; `WE3D_STARTUP_PHASE=world-only` reuses
accepted startup checks when only a world journey needs investigation. Optional
allocation profiling and regional settling are diagnostics, not phone performance
acceptance. Keep their output private and reuse applicable successful results.

## 8. OSM-Facing Quality Bar

For map/data path changes:

- keep OSM attribution visible and accurate
- avoid exaggerated performance or coverage claims
- document known tradeoffs/limitations explicitly

For an admitted mobile context change, reuse accepted startup cases with
`WE3D_STARTUP_WORLD=1 WE3D_STARTUP_PHASE=world-only WE3D_STARTUP_SETTLE=1
WE3D_STARTUP_LOAD_PLAN=1` and the same attested wrapper. This runs one real
Baltimore load, input, complete regional publication, nearby location replacement
and owned world release. It checks the shared mobile context boundary; it does
not qualify physical-phone performance. Do not combine this release flag with
the independent graphics-loss journey, which needs an active world.
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# World Explorer 3D

[5.6.1 release notes](RELEASE_NOTES_5.6.1.md) · [Known limitations](KNOWN_ISSUES.md) · [Roadmap](ROADMAP.md)
[Racing update](RELEASE_NOTES_RACING.md) · [5.6.1 release notes](RELEASE_NOTES_5.6.1.md) · [Known limitations](KNOWN_ISSUES.md) · [Roadmap](ROADMAP.md)

[![Play in your browser](https://img.shields.io/badge/Play-in_your_browser-1677ff?style=flat-square)](https://worldexplorer3d.io/app/)
[![Latest release](https://img.shields.io/github/v/release/RRG314/WorldExplorer3D?sort=date&style=flat-square&label=release)](https://github.com/RRG314/WorldExplorer3D/releases/latest)
Expand All @@ -26,6 +26,27 @@ remain part of the same game.
· <a href="ROADMAP.md">Roadmap</a>
</p>

## Race real places and create your own tracks

The racing update is live. Drive Silverstone's full GP loop and pit lane,
the full Nordschleife T13 layout, or Daytona's tri-oval and pit branch. The
BMW M3 E46, BMW M3 E92 race car and Porsche 911 Carrera 4S share your existing
garage, upgrades and vehicle condition. Barrier damage affects handling and
returns with the car to your garage.

Open **Racing → Create track** to choose connected roads on the overhead map,
record a drive, or place a clean marked circuit on supported open ground.
Preview, edit and test the layout, save it locally, or share it with your
current multiplayer room. Room-created tracks are unranked; reviewed public
races keep their separate leaderboards and reward rules.

Practice results go to your Journal. Room racing, rivals and crews use the
same Explorer account, vehicles and progression. Existing location-based play,
optional continuous exploration, buildings, Ocean, Space and saves remain
available.

[Read the racing update and how to start](RELEASE_NOTES_RACING.md).

## Explore by land, sea, air and space

Search for a city, landmark, airport, harbor or coordinates. Walk its streets,
Expand Down
Loading
Loading