# Thomson Reserve — actual 3D model, V1 and V2 Open **Thomson-Reserve-3D.html** in Chrome or Edge. It is self-contained and works offline: the renderer, original site-plan image and complete supplied PDF are embedded. A browser with WebGL is required. No server, account or internet connection is needed for the downloaded HTML. If model downloads do not start in the in-app preview, use the included GLB files or open the downloaded HTML in Chrome / Edge to save a different selected-unit export. ## V1 — Whole development Choose the **V1 · Whole development** tab. Orbit, pan, zoom and switch to Top plan. All six towers, approximate site boundary, three adjoining roads, internal roads, major pools / water features, facility masses and schematic landscape are modelled. Tower footprints and rotations follow the original site image. Enable Original plan underlay to inspect their registration against the source. | Block | Storeys (source) | Stacks (source) | Residential floors (source) | Roof top above assumed datum (inferred) | |---|---:|---|---|---:| | 1 | 21 | 01–09 | 2–21 | 67.2 m | | 3 | 21 | 10–18 | 2–21 | 67.2 m | | 5 | 30 | 19–27 | 19, 21, 22: 3–30; other stacks: 1–30 | 95.1 m | | 7 | 30 | 28–36 | 30, 32, 36: 3–30; other stacks: 1–30 | 95.1 m | | 9 | 21 | 37–45 | 2–21 | 67.2 m | | 11 | 21 | 46–55 | 2–21 | 67.2 m | Classic Level 1 is labelled carpark in the PDF. Luxury B1 is labelled carpark; a B1 label also appears under Block 11. Basement volumes are omitted. Blank schedule cells are not offered as units. Classic Level 2 types have the p suffix; eligible Luxury Level 1 types have p (L). There are **55 stacks and 1,268 selectable unit addresses**. ## V2 — Interactive unit and approximate view Choose **V2 · Unit & view**, then **Block → Stack → Floor**. The gold volume marks the selected unit envelope at the chosen floor. The small block plan shows its relative stack position; click another polygon to select that stack. Click a unit in the 3D scene to select its block, stack and floor. **Focus unit** moves the camera to its outward side. **Unit eye view** places the camera near its estimated balcony frontage. Overview / Reset view return to the complete site. Source unit plan opens the relevant PDF page. The original PDF is embedded and can be opened offline. The translucent view cone uses an estimated frontage normal, a 60° horizontal angle, selectable 140 / 300 / 600 / 900 m range (300 m default) and ±8° vertical spread, at 1.5 m above the assumed floor slab. These cone dimensions are inferred. The viewer is a spatial diagram; it does not establish a guaranteed view. A mapped neighbourhood overlay now shows nearby building masses. External tree canopies, terrain changes, sun paths and road-noise effects are not modelled; mapped coverage is incomplete. The same floor type may be mirrored; the envelope and orientation use the actual stack position in the site plan rather than the page-up direction of an individual unit drawing. ## Existing neighbourhood overlay Turn **Nearby buildings, roads and green spaces** on or off. **Neighbourhood** widens the camera to show the surrounding district; **Overview** returns to the project. **Nearby development / facility labels** controls map labels. Use **Nearby references → Show on the model** to inspect an individual development or facility. The overlay includes **Thomson Three, Thomson Impressions, Flame Tree Park, Ai Tong School, Midview City, Thomson Plaza, Windsor Park Estate, Windsor Nature Park, Kong Meng San Phor Kark See Monastery, Bishan Park Condominium, and mapped Upper Thomson / Bright Hill MRT entrances**, plus neighbouring residential / commercial footprints and local roads. MRT circles mark surface entrances only, not station buildings. In V2, choose **Viewing distance** to extend the cone. **In this viewing direction** lists named reference points whose bearings fall within the 60° sector and selected distance. These are direction references, not a visibility guarantee. A separate message identifies the nearest simplified building intersected by the central horizontal line at the estimated eye elevation. A gap in mapped geometry is not proof of a clear view. In Unit eye view, labels blocked by modelled building masses are hidden. The 6 October 2026 OpenStreetMap snapshot supplies approximately 2,095 footprint components within about 950 m of the project centre, plus roads and green / water surfaces. Some footprints are separate parts of the same building, so this is not a count of distinct buildings. The drawn neighbourhood is incomplete and heights need verification before relying on a sightline. | Element | Source basis | Model height / limitations | |---|---|---| | Thomson Three | [UOL project](https://uolhomes.com.sg/project/thomson-three/) and [UOL annual report 2013](https://www.uol.com.sg/wp-content/uploads/uol-reports/files/uol_annual_report_2013.pdf): three 21-storey towers and ten 3-storey strata homes | Inferred 3.1 m per storey + 1 m roof; mapped footprint components grouped by tower address | | Thomson Impressions | [Project engineer Rankine & Hill](https://www.rankine-hill.com/projects/homes-domicile/thomson-impression-singapore/): two 19-storey towers and five 2-storey strata homes | Inferred 3.1 m per storey + 1 m roof; engineer count overrides one inconsistent OSM 15-level tag | | Thomson Plaza | [Official mall page](https://www.thomsonplaza.com.sg/mall-info/about-thomson-plaza/): three shopping levels | Inferred 4.5 m per level + 1 m, giving approx. 14.5 m roof; basement omitted | | Ai Tong School | [Official address](https://www.aitong.moe.edu.sg/contact-us-page/); OSM courtyard / building outline | Unknown height: assumed 5-storey school mass at 3.8 m per storey + 1 m; lower mapped ancillary masses handled separately | | Midview City | OSM footprints and 8 / 3 level tags, unverified | Inferred 3.8 m per storey + 1 m roof | | Flame Tree Park and other mapped buildings | OSM building / level tags, unverified | Flame Tree Park uses OSM 26 levels (actual roof / envelope not independently established); generally 3.1 m per storey + 1 m | | Buildings without level / height tags | OSM footprint and building use | Estimated 3-storey landed, 5-storey school, 4-storey other buildings; low one-storey shelters / roofs | | Windsor Nature Park | [NParks](https://www.nparks.gov.sg/visit/parks/park-detail/windsor-nature-park) location; OSM park boundary | Flat green surface clipped to the displayed context extent; no tree-canopy / terrain model | Registration keeps the illustrated project scale and north direction fixed and fits the mapped site outline by translation. All buildings share an assumed flat ground datum. Adjacent boundary details differ; do not use the approximately 9.1 m RMS outline-fit mismatch as a measured error for each neighbouring building. Neighbourhood data **© [OpenStreetMap contributors](https://www.openstreetmap.org/copyright)**, under [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). The separate **Thomson-Reserve-Neighbourhood-OSM.json** contains registered footprints, original useful tags, assumed heights and source corrections for reuse under ODbL. The user-supplied project documents remain separate reference materials. ## What comes from the source documents - **Original site plan, Source-Site-Plan.png:** relative tower location, orientation, visible stack numbers and unit envelopes, site outline, road layout, water features and facility / garden zones. These outlines were manually traced and simplified from an illustration, so they remain approximate. Facility numbers have no accompanying legend in the supplied image; generic descriptive names are used. - **UOL Thomson_Elevation & Unit Plan 18 Sept (1).pdf:** the 45-page source, preserved unchanged. Pages 1 and 2 give the Classic schedules; pages 29 and 30 give the Luxury schedules. Unit plans and legends provide published types and areas. Each stack links to its source unit-plan page. - **Scale and north:** the image's 100 m scale bar was measured between approximately x=96 and x=362 pixels, giving 0.37594 m per pixel. The drawn north arrow was digitized at roughly 40° left of image-up. Scale and bearing are approximate. The neighbourhood is approximately registered to geographic map coordinates, with about 9.1 m RMS site-outline mismatch; this is a fit diagnostic rather than a measured position accuracy. ## What is inferred or simplified - **Height:** 4.0 m ground storey, 3.1 m per subsequent storey and 1.2 m roof / parapet. Classic roof = 4 + 20 × 3.1 + 1.2 = 67.2 m; Luxury roof = 4 + 29 × 3.1 + 1.2 = 95.1 m. Floor 2 slab is 4.0 m; floor f ≥ 2 slab is 4.0 + (f − 2) × 3.1 m. All blocks share a flat assumed ground datum. - **Geometry:** external coloured unit regions are approximate polygon prisms, repeated by floor. No apartment interiors, detailed balcony projections, facade specification or actual roof plant are reconstructed. p variants retain a typical approximate envelope. Core and lower non-residential masses are conceptual. The traced envelope area is not a strata area and is not rescaled to equal the published unit area. - **Boundary / context:** the site outline follows the image and is not a legal / cadastral boundary. Major road widths are estimated at 13–21 m, internal roads at 5–6 m. Facility heights are estimated at 3.2–4.5 m; courts and planting masses are shallow schematic surfaces. Trees are schematic and their individual locations and heights are inferred. - **Direction:** bearings are estimated exterior-facing normals of stack frontages, checked against representative balcony-side unit plans. The rounded degree display is for comparison; an approximate ±10° allowance is a modelling assumption rather than a measured confidence interval. Corner views and multiple window directions are not separately resolved. - **Lighting:** illustrative studio lighting, not a sun / shadow simulation. ## Unit prices, maintenance and investor ROI Choose **Prices & ROI** for the selected address. Every one of the 1,268 units is mapped to the supplied source sqft and share value. Each stack uses its matching source matrix row by unit type / size. The default estimates floor PSF by spreading S$2,650–3,200 from that stack’s lowest valid floor to its highest, with PSF rounded to S$1. Floor allocation is an editable assumption; the source matrix has no floor schedule. No automatic view premium is included. MF defaults to S$65/share monthly, without added GST; billing period and GST status are unconfirmed in the source and editable. Enable **Estimated price / fee labels** for price information on the 3D model. **Floor prices** displays the source matrix row, a price curve and every valid floor / unit estimate in the chosen stack. Click **View unit** to locate that floor in 3D. **Thomson-Reserve-Prices-by-Floor.csv** contains the full 1,268-unit floor schedule. The calculator compares individual **Singapore citizen and PR** investors side by side and starts with **first residential property**. Rent, Annual Value, completion wait, loan, vacancy, fees, tax profile and resale growth are editable. It shows gross / net yield, annual cash flow, total ROI, annualised IRR, break-even rent / resale and resale sensitivity. The default four-year wait is a planning assumption, not a verified TOP date. Default prices are unofficial and returns are scenarios. See **Thomson-Reserve-Investor-Notes.md** for all assumptions, formulas, source links and an example. **Thomson-Reserve-Unit-Prices-and-ROI.csv** contains all unit estimates and SG/PR default returns with calculation assumptions. The viewer's CSV button exports the current settings and per-unit rent / AV overrides. **Thomson-Reserve-Finance-Data.json** contains the source mapping and defaults. Both unchanged supplied finance images are saved and embedded. The GLBs also include price / fee metadata for all occupied units. Tax and loan-limit rules were checked against official IRAS and MoneySense sources on 6 October 2026. Arithmetic checks cover tax brackets, SSD boundaries, mortgage balances, vacancy, rental delay, principal accounting and all 1,268 unit scenarios. Browser checks cover changing PSF, source images, investor profiles, MF period / GST, invalid rent and LTV limits. ## Downloadable 3D formats and editable data - **Thomson-Reserve-V1.glb:** all six towers, site / roads / pools and landscape / facilities, including 1,268 named occupied-unit objects and the surrounding neighbourhood geometry. Units are named e.g. `Block 5 #18-19 E1 (L)`. Scene hierarchy and extras retain block, stack, floor, source area, type, source page, approximate bearing and inference notes. - **Thomson-Reserve-V2-B5-18-19.glb:** the full context with example Block 5 #18-19 highlighted and its approximate view cone. This is one saved example. Use Download current V2 model in the viewer for any other address, including its own highlight and cone. - **thomson-reserve-model-data.json:** all digitized source-pixel polygons, balcony anchors, direction vectors, schedules, scale, source page references and assumptions. Useful for correcting dimensions or rebuilding the model. - **Thomson-Reserve-Neighbourhood-OSM.json:** separate derived map database under ODbL, including each footprint, height basis, relevant map tags, road lines, park surfaces and geographic registration. Nearby geometry is batched by material in the GLBs, with individual footprint metadata and vertex ranges retained in the grouped mesh extras. - **Thomson-Reserve-Neighbourhood-Preview.jpg:** updated whole-site overlay preview. - **Thomson-Reserve-Unit-View-Preview.jpg:** example selected unit / cone with nearby development labels. - **OpenStreetMap-Attribution.txt:** attribution and licence links for the map-derived overlay. - **Thomson-Reserve-Stack-Schedule.csv:** a readable 55-row stack mapping with types, floor ranges, source pages and estimated bearings. - **Thomson-Reserve-V1-Preview.png / Thomson-Reserve-V2-Preview.png:** rendered previews of the actual viewer. GLB coordinates are in **metres, Y up**. X increases towards image-right, Z towards image-bottom. The source image origin is pixel (800, 620). North is approximately the vector (-0.643, 0, -0.766). The GLBs contain geometry and semantic metadata; interactive selectors and HTML labels belong to the HTML viewer. The raster underlay is optional in the HTML and is not included in the GLB, whose site surfaces are actual geometry. ## Verification The self-contained HTML was tested offline in Edge with WebGL. All 1,268 schedule-valid Block / Stack / Floor combinations were checked for the correct selected address and assumed floor elevation. The invalid lower floors of the six affected Luxury stacks are excluded. Both binary glTF models were checked with the official Khronos glTF Validator: **zero errors and zero warnings**. Unit addresses are unique and unit volumes have positive heights. Export checks confirm 1,268 occupied-unit nodes in each model. Desktop and narrow-screen layouts, source underlay and the source / assumption panel were visually inspected. After adding the neighbourhood, checks cover lower / upper floor comparisons, context layer switching, cone distance changes, nearby reference focus, eye-view label occlusion and updated GLB exports. The central line is an intersection with simplified geometry, not a calibrated visibility assessment. Three.js r160.1 is embedded under the MIT licence; see Three.js-LICENSE.txt and https://threejs.org/. Source imagery / PDF were supplied by the user and are retained here as reference materials.