# Verification — first edition, 11 September 2026

## Book and browser

The book contains 24 main chapters, a prologue and four appendices: approximately 34,500 manuscript words, 24 embedded technical diagrams, two local original illustrations, four interactive figures and eight optional source-code disclosures.

The completed index.html was opened in Chrome directly through a file:/// address with networking disabled. Checks covered all 29 chapter routes, all local asset references and internal anchors, both images, all technical diagrams, hidden solution defaults, reference-code disclosure, all four interactive figures, theme and text-size controls, mobile contents navigation, whole-book print selection, and reading with JavaScript disabled. No external network requests or JavaScript errors occurred.

Responsive checks covered all chapters at 390px width, including 200% root text enlargement. Diagrams retain readable label sizes through horizontal scrolling on narrow screens. Desktop and mobile screenshots were visually inspected during authoring.

## Workshop

The reference module passed:

- go test -race -count=1 ./...
- go vet ./...
- A five-second requested framing fuzz run, completing 448,364 executions without failure (the tool reported about six seconds including finalisation).

The eight named test groups cover framing, chunk boundaries and buffer ownership, XOR erasure recovery, authenticated encryption and tamper rejection, local publication error paths and duplicate puts, cooperative worker cancellation, observation expiry, and duplicate-safe ledger events. The encrypted erasure tests reconstruct ciphertext after losing a shard and then authenticate/decrypt it.

A final race-enabled run passed after tightening the existing-object read bound in the store example. The student module compiled with tests excluded; its exercises intentionally fail until implemented. Store failure hooks simulate errors at publication boundaries, not real power cuts. Worker callbacks must cooperate with cancellation. The event-total example rejects intermediate int64 overflow and is not a distributed credit authority.

## Scope of evidence

The acceptance scenarios written in chapters beyond these focused workshop mechanisms are specifications for the learner's own system, not pre-existing hidden tests. The course is a book and exercise package; the learner implements and verifies the integrated erasure-coded network.

MeshVault is a source-only comparison snapshot of the existing full-mirroring prototype. Its own docs/VERIFICATION.md records earlier implementation checks. This edition does not claim new physical-iPhone testing or new end-to-end verification of that prototype. Its native apps require an adapter or API changes to work with the learner's distinct course engine.

The website requires no server, package installation, login or internet access to read. Further-reading links are optional external references. Building the Go exercises requires a suitable Go installation, independently of the reading website.

## Distribution update

The introduction and footer now address general readers. The book's primary download is a five-file student starter containing only tests, unfinished functions, go.mod, README.md and .gitignore. The archive excludes reference solutions, completed applications and Git history. Static validation checked all chapter anchors, local references, download attributes and every ZIP member against its source. Browser rendering results above describe the original edition; this distribution update was verified with static checks.

## Isometric learning world update

The reader now has a fixed-camera Three.js diorama and an independently scrolling reading panel. Five persistent islands are introduced across 24 chapters; section thresholds drive construction, encryption, outages, repair, partitions, city clients and trading. Three.js 0.180.0 is included locally and no external models or textures are fetched.

Scene construction and all 75 chapter/section states were exercised using the actual Three.js geometry and scene code with a test renderer. Camera projection was checked at desktop and mobile sizes. This is a scene-logic and geometry check, not a WebGL rendering test. The browser inspection tool does not support the local file URL, so no new browser screenshot or GPU-rendering result is claimed.

A DOM integration check covered all 29 routes, the chapter menu, reading checkpoints, all 26 code-explorer entry points, 162 annotation selections across those entry points, source switching, modal closure and the existing interactive examples. Thirteen complete source files are embedded with validated line anchors. The notes distinguish the tested workshop module from the HTTP/full-mirroring comparison application, including concrete limitations of the latter. Original comments remain in copied/downloaded source; the annotated presentation moves explanation into the side panel.

The original student archive remains byte-identical. The full workshop reference has its own separate download behind the code explorer. Reading progress represents reader-marked checkpoints, not execution or validation of the learner’s Go program.


## Waterfront towns and sunset update

Townscaper-inspired procedural architecture adds progressively introduced pastel houses, tiled roofs, stepped terraces, stone harbour walls and railings. Pirate Cove now uses sand, palms, bamboo, timber, barrels and bottles; its sailing boat has a wooden hull. Curved name textures are generated locally and placed on the water. Static town geometry is batched by material to reduce drawing work.

The Sunset control updates the entire page palette and the scene's sea, fog, hemisphere light, directional light, window emission and lighthouse lanterns. Daylight restores the original lighting state. Reduced motion applies theme changes immediately. Printing uses light paper and dark text in either theme. The aircraft's forward axis is aligned with the tangent of its elliptical flight path.

Checks exercised all 75 chapter/section states with the actual Three.js scene, the sunset/daylight API, luminous windows and three beacons, and aircraft heading at seven positions. Projected island bounds were checked at 1440×900, 1280×800, 1024×768 and 390×844. A separate software projection of the 3D geometry was inspected for architectural placement; this is not a browser screenshot or a WebGL lighting verification. The local-file browser inspection limitation described above still applies.

DOM integration passed the theme control, 29 chapter routes, navigation, reading checkpoints, 26 reference entry points, 162 annotation selections and existing interactive examples. Static checks confirmed local asset links, the generated scene and controls, and the unchanged student starter archive. This visual update does not add new claims about the Go programs.


## Harbour clearance and readability pass

Shipping paths now use a shared visibility graph around inflated shoreline and pier obstacles, with rounded joins and a clearance check before selecting the smooth path. All ordinary and pirate boats use these paths. Piers at Garden Village and The Citadel face clear water; hulls and wakes now sit at the waterline. Dotted lanes use small instanced discs for consistent visibility, and their colour follows daylight/sunset.

The check sampled 24,006 positions over all six paths against every shoreline and pier exclusion circle, including a 0.96-unit hull allowance; the smallest additional clearance was 0.123 units. All 75 chapter/section states, theme switching and aircraft headings still passed. Palm foliage bounding boxes did not overlap the cottage or warehouse bounding boxes after moving their crowns outward. Rounded clouds visibly drift and stop with Pause motion. Camera projections were checked at desktop and mobile dimensions. Larger map labels face the reader, retain a foreground rendering order, and are clamped within the visible map width. Label placement was adjusted after inspecting an offline software projection of the scene.

A DOM check covered all 29 chapter routes, the new previous/next controls, illustrated/simple heading switch, sunset, contents, reading checkpoints, 26 code-explorer entries and 162 annotation selections. Code source spans retain the source's exact leading whitespace and eight-column tabs, independently of the line-number gutter. gofmt -w was run over both book reference trees; they were already formatted and no Go source changed. The generated reference code, annotations and existing download contents remain consistent.

The browser tool again rejected the file:/// preview under its URL policy. No new screenshot of the book or GPU-rendering verification is claimed. The official online Townscaper demo was inspected for colour and lettering references; the scene's software projection is separate evidence and is not a browser screenshot. Changes remain uncommitted for visual review.


## Harbour finishing pass — 12 September 2026

- Converted the seven-vessel fleet to continuous steering with bounded heading changes, rounded return routes, anticipatory passing, dynamic detours and swept separation checks. Fourteen simulated minutes across seven traffic configurations kept vessel centres at least 2.2700 world units apart. All active vessels continued making progress; tight traffic can briefly yield before proceeding.
- Added an actual pirate approach and grappling-line encounter: skull, exposed-cargo victory, encrypted-cargo disappointment and retreat. Both outcomes were exercised in the integrated scene. The status text describes confidentiality without claiming encryption prevents loss or interception.
- Replaced the attached stern ring with nine-second, world-space fading ribbons; added bow foam. Paddle-wheel rotation follows travelled distance.
- Added four translucent flat high clouds, ten sparse fading sea wisps and a submerged whale silhouette. The existing island model geometry was preserved.
- Standardised typography to Georgia for text/interface/map labels and a system monospace face for code. Removed the alternative-heading toggle, increased small interface/code text, wrapped SVG diagram labels, and kept diagrams keyboard-scrollable.
- Reviewed all 29 manuscripts for island references and introduced the agreed roles in the welcome chapter: Home Harbour, Garden Village, The Citadel, Harbour City and Pirate Cove. Generic technical node identities remain generic. The twelve-build Townscaper plan is saved in Book/ISLANDS.md.
- The integrated checks cover 75 chapter phases, both pirate outcomes, independent trails, pause, replay, day/sunset, existing birds/water, and four viewport projections. Reader checks passed 29 routes, 26 reference entry points and 162 annotation selections. All six water/reflection/wake shader variants compiled and linked in the native shader checker.
- Browser automation cannot navigate this local file URL, so these are source, DOM, geometry and shader checks rather than an in-browser screenshot review. The local preview is opened for the user's review.
- Optional original-game assets remain locally excluded from Git. No publication or remote push is part of this pass.


## Water and cloud refinement — 12 September 2026

Each vessel now emits two separate foam trails from its stern quarters. Centripetal curves and shared cross-sections remove disconnected strip edges, while feathered opacity, gradual spreading and a live endpoint soften turns. Water wisps keep a common heading with small natural variation.

The four high clouds use a locally generated, softly feathered texture with rounded lobes and subtle shading. Drift is approximately eight times faster than the preceding version, and the temporary storm uses the same soft outline with a gentle drift. Pause motion and reduced-motion behaviour remain shared with the scene.

All 75 chapter phases, both pirate outcomes and vessel-clearance checks passed. Added checks cover paired wakes, continuous strip joins, cloud-body/edge opacity, visible cloud displacement within five seconds, consistent wisp direction, and shared pause. The new wake shader compiled and linked. The cloud texture was inspected in isolation; this is not an in-browser rendering check.


## Gentler sailing and varied clouds — 12 September 2026

The fleet clock runs at 62% of its previous pace. Rudder velocity eases through changes of direction; ordinary acceleration and braking are bounded, while collision checks retain an immediate stop when needed for clearance. Hull bobbing and rolling are gentler, and the renderer follows display frames instead of imposing a 30 Hz cap. Actual rendering performance still depends on the browser and device.

Four independently generated cloud textures replace the repeated silhouette. Each uses asymmetric rounded clusters, feathered contours and subtle local shading, while preserving the existing drift and warm palette. The four textures were inspected in isolation.

The 75-state regression, both pirate outcomes, shared pause, wake geometry and vessel-clearance checks passed. A further thirty-second, seven-ship simulation at 60 Hz checked reduced speed, bounded heading and rudder changes, gradual acceleration, per-frame displacement and continued progress from every ship. These remain geometry/state checks rather than browser screenshot verification.


## Saved Home Harbour and Garden Village — 12 September 2026

Imported all six supplied town saves as actual indexed 3D geometry, with original palette textures and per-stage shorelines: Home Harbour stages 1–4 (716, 2,891, 5,638 and 6,536 triangles), and Garden Village stages 1–2 (6,119 and 10,592 triangles). Identical repeated draw geometry was deduplicated. The saves and viewing images were copied without altering the Downloads originals, with checksums recorded in the local studio archive.

Home Harbour progresses with chapters 1, 2, 3 and 4; Garden Village progresses at chapters 4 and 9. All stages of each settlement share a centre, scale and orientation, so buildings retain their saved grid placement and early cottages are not enlarged to fill the final island footprint. Garden Village's viewing direction follows the supplied courtyard reference. Inspection, the vault and garden records retain their chapter visibility. Perches are refreshed when Home Harbour changes stage.

Saved-stage checks passed forward and backward chapter navigation, all six indexed meshes, common registration, selected-stage reflections, matching native shorelines, sunset emission, and the 2.28-unit protected town radius. The procedural fallback passed with personal assets omitted. The existing 75-state world check, pirate outcomes, collision clearance, wakes, pause and seven-vessel motion checks also passed. Verification is based on the supplied reference image, geometry and state checks; no new browser screenshot is claimed.

The book still opens directly from its local HTML file. The 2.45 MB personal model bundle is loaded through a local classic script and requires neither a server nor the game runtime. Original-game geometry, water and bird assets remain locally excluded from Git.


## Consistent town viewpoint — 12 September 2026

Removed Garden Village's separate reference-image rotation. All saved settlements, including the legacy single-town fallback, now use the same compass heading derived from the scene's viewing direction. The shared orthographic camera elevation is reduced from approximately 38.6° to 34.7°, showing more facade and less courtyard floor. Town geometry remains upright and uniformly scaled; camera changes apply to the entire world rather than tilting individual models.

The six-stage check now verifies identical projected unit axes for both towns at all stages and four desktop/mobile viewports, along with upright geometry and undistorted proportions. Existing stage navigation, registration, shorelines, reflection visibility, sunset and shipping-footprint checks passed, as did the procedural fallback. These are geometry and state checks; the browser tool cannot inspect the local file preview, so no screenshot review is claimed.


## Home Harbour near-edge tilt — 12 September 2026

Applied the requested 4° local pitch to all four Home Harbour stages, lowering the edge facing the reader. The shared camera and Garden Village are unchanged. Lesson anchors, lights, shorelines and reflections follow the model transform.

The saved-stage checks verify the downward direction and angle, consistent stage registration, uniform proportions, stage/reflection visibility and day/sunset behaviour at four viewports. Home Harbour’s tilted horizontal radius is 2.28283 units, within the existing 2.35-unit shipping exclusion radius; the footprint assertion now checks that actual traffic boundary. The local preview is provided for visual review; no browser screenshot verification is claimed.


Home Harbour tilt follow-up: increased the near-edge pitch from 4° to 11° at the user's request. The saved-stage checks passed again, including the existing 2.35-unit shipping boundary.


## Saved Citadel stages — 12 September 2026

Imported the two Citadel saves and retained the viewing image in the local studio archive. Both downloads remain unchanged, with checksums recorded. The offline generator reproduced both saved town codes exactly. Duplicate window draws were removed, leaving 7,430 and 15,315 triangles. The expanded save retains all 29 original grid tiles within its 51-tile layout. Both models use the same saved-coordinate centre and uniform scale, with a maximum 2.28-unit radius inside the existing shipping boundary.

The Citadel appears in chapter 7. Repair scaffolding surrounds the existing tower during chapter 18’s middle phase; its expanded town appears in the final phase and remains in later chapters. Backward navigation restores the corresponding stage. The saved town also follows the existing outage/recovery colour changes. Garden Village’s records remain attached to Garden Village, and Home Harbour retains its requested 11° tilt.

Eight-stage checks passed forward/backward chapter and phase selection, repair scaffolding, outage/recovery colouring, stage-specific shorelines and reflections, sunset, registration, geometry indices and shipping footprints at four viewports. The procedural fallback passed without the optional assets. The full world check passed all 75 chapter phases, both pirate outcomes, seven-vessel motion, wake geometry, pause/replay, water and birds, with a minimum sampled vessel separation of 2.2700 units. Earlier Home Harbour and Garden Village model data was verified unchanged.

The rebuilt book still opens directly as a local HTML file. The combined personal model bundle is 5,776,198 bytes and remains excluded from Git with the original-game assets. Verification used source, saved reference imagery, geometry and state checks; no browser screenshot review is claimed.


## Lower clouds and a clearer harbour — 12 September 2026

Lowered the drifting cloud layer from 8.4–9.06 to 4.7–5.06 world units and moved its paths across the towns. Storm clouds now use the active saved town’s actual bounds, sit 0.75 units above its highest detail, and move with their rain in a small drift centred over that settlement. Their footprint is smaller. The procedural fallback uses a lower fixed weather height.

Removed the dotted shipping-route meshes and their theme/visibility updates, and removed the airplane geometry and animation. Both Citadel stages rotate 90° anticlockwise around the vertical axis; their shorelines, reflections and repair scaffolding follow the turn.

Saved-stage checks passed the quarter-turn direction, all eight model stages, stage registration, reflections, sunset and shipping footprints. Dedicated weather checks verify the correct affected island and roof clearance on desktop and mobile. The full 75-state scene check passed cloud height, drift, pause, both pirate outcomes, wakes and seven-vessel motion, with minimum sampled ship separation of 2.2700 units. The fallback and generated HTML checks also passed. These are geometry/state checks rather than a browser screenshot review.


## Saved Harbour City stages — 12 September 2026

Imported all three Harbour City saves from Downloads, preserving the originals and recording copied-file checksums in the local archive. The offline generator reproduced each saved town code exactly. The layouts grow from 24 to 43 to 46 tiles, retaining all tiles from each preceding stage. Duplicate window draws were removed, leaving 4,262, 9,546 and 12,000 triangles. All three stages share a centre, uniform scale and the common town heading, with a maximum 2.28-unit horizontal radius.

Stage 1 appears in chapter 8, stage 2 in chapter 22 and stage 3 in chapter 23. The construction scaffold sits on an open quay before chapter 22; market stalls appear on the final waterfront from chapter 23. A dense ground check sampled 135 positions under each overlay, confirming support at the same ground height with no buildings overhead.

The saved-stage check now traverses all 75 chapter phases plus backward transitions. It passed all eleven stages, construction and market visibility, shoreline and reflection selection, sunset, uniform registration, geometry indices and protected shipping footprints. The existing Home Harbour tilt, Citadel quarter-turn, lowered weather placement and removed route dots/airplane checks passed too. The procedural fallback passed with personal assets omitted. The earlier three settlements’ model data was verified unchanged. The active fleet’s routes and movement code were not changed; the new models fit within its existing exclusion radius.

The combined local model bundle is 8,332,063 bytes, loaded directly through a classic local script. Original-game assets and the studio archive remain excluded from Git. Verification is based on model geometry and scene state; no browser screenshot review is claimed.


## Saved Pirate Cove — 12 September 2026

Imported pirate-cove-1.townscaper.json from Downloads as the fifth saved settlement. The original download, archived copy and generated town code match; the copied-file checksum is recorded in the local studio archive. Duplicate window draws were removed, leaving 7,266 triangles across five mesh parts, with the original palette texture and its own 876-triangle shoreline. Earlier model data for all four other settlements was verified unchanged.

Pirate Cove appears from chapter 11, shares the common upright town heading, and fits within a 1.58-unit radius inside its existing 1.65-unit shipping boundary. The former procedural cove is hidden. The separate pirate vessel and encounter animation remain active. No fleet routes or steering were changed.

The twelve-stage integration check passed all 75 chapter phases and backward transitions, exact model and reflection selection, shorelines, day/sunset, geometry indices and protected shipping footprints at four viewports. Home Harbour retains its 11-degree near-edge tilt and The Citadel retains its quarter-turn. The procedural fallback passed without personal assets. The full world check passed both pirate outcomes, pause/replay, twin wakes, cloud drift, water/birds and the seven-vessel motion checks, with a minimum sampled vessel separation of 2.2700 units.

The rebuilt static HTML includes the updated scene and all local script paths exist. The combined personal bundle contains twelve stages and 88,311 model triangles (9,172,001 bytes), and remains excluded from Git alongside the original-game archive. The integration code and rebuilt book are committed separately from those local assets. Verification uses model geometry and scene state; no browser screenshot review is claimed.


## Consistent architectural scale — 12 September 2026

The saved towns had been fitted independently to island circles: Home Harbour used a scale of 0.5493 and Pirate Cove 0.2257, making matching details approximately 2.43 times larger at Home. Repeated native vertical window edges were measured across all five model families, confirming their common underlying units. The scene now applies one uniform 0.36 scale to every saved stage, close to Garden Village’s previous scale. Home Harbour shrinks by approximately 34.5% and Pirate Cove grows by approximately 59.5%; native building proportions and all requested town rotations remain intact.

Shipping exclusion circles are calculated from every stage’s native vertices at this shared scale, including Home Harbour’s 11-degree pitch, with an additional margin and the previous circles as minimums. The Citadel boundary grows to 2.568 units and Pirate Cove to 2.600. Pirate Cove moves 1.2 units farther out to retain a usable strait, and its map label moves beyond the enlarged footprint. Shores, reflections and attached lesson props inherit their town’s transform. The original saved model bundle is unchanged; its earlier per-family fit values remain archival metadata.

The saved-stage check now compares identical approximately 0.30-unit native window edges in world space across all five islands (approximately 0.108 units), and requires every saved stage to share the same scale. All twelve stages and 75 chapter phases passed, including backward navigation, geometry bounds, shoreline/reflection selection, sunset, the Home Harbour tilt, Citadel quarter-turn and Harbour City’s 210-degree heading. All six shipping paths were sampled against the expanded exclusion circles. The procedural fallback passed with personal assets omitted.

The full world check passed both pirate outcomes, shared pause/replay, water, birds, twin wakes, cloud drift and the seven-vessel movement checks; the minimum sampled ship separation remained 2.2700 units. Final-stage vertex projections fit the available scene area at 1440×900, 1024×768, 390×844 and 320×640 window sizes. The rebuilt static HTML contains the current scene and all local script paths exist. These are geometry and state checks; no browser screenshot review is claimed.


## Centred island names — 12 September 2026

Replaced the manually offset curved labels with straight names centred beneath each active town’s projected silhouette. Each saved stage’s outline is measured from its actual vertices and cached. Labels follow chapter growth, island reveal animation and viewport changes, with a ten-pixel gap beneath the town on desktop and seven pixels on mobile. Text uses the existing Georgia face and keeps its screen size as islands appear. Rendering order keeps moving vessels from covering the lettering.

A focused geometry check sampled 196 visible labels across forward/backward chapter changes and four desktop/mobile viewport sizes. Every label centre matched its town’s projected horizontal centre to within 0.001 pixels, every label kept the intended bottom gap, and all remained within the scene vertically. The existing twelve-stage checks and procedural fallback passed, and the rebuilt HTML includes the updated scene. Fleet paths and steering were not changed. These are geometry/state checks rather than a browser screenshot review.


## Curved names and full-width mobile reading — 12 September 2026

Restored the original gentle 1,800-pixel-radius lettering arc, retaining the new placement beneath each active town. Rotated glyph bounds determine the text’s centre and height so the entire curve stays centred with the intended shoreline gap. On screens up to 900 pixels wide, the reading panel now reaches both side edges and the bottom, uses the opaque day/sunset paper colour, and removes its outer rounded corners and glass blur. Its existing five-pixel overlap covers the canvas’s lower edge.

The twelve-stage scene checks passed. A focused projection check passed 196 visible labels across forward/backward chapter changes and four viewports. CSS cascade checks at 320, 390, 650, 800, 900, 901 and 1440 pixels passed in both themes, confirming the full-width mobile panel and retained desktop inset. The rebuilt HTML contains the updated scene and styles. Verification used geometry and CSS/DOM checks; no browser screenshot review is claimed.


## Smooth lettering along the island curve — 12 September 2026

Corrected the sign of each glyph’s tangent rotation. The prior version tilted letters against the direction of the circular baseline, producing an uneven result. Glyphs and their measured bounds now follow the same smooth curve. The existing arc radius, font, island-centred placement and full-width mobile reading panel remain in place.

Inspected a standalone rendering of all five names using the installed Georgia font and glyph transforms captured from the scene’s actual lettering function. A tangent-direction check passed for every name. The placement check passed 196 labels across four viewports and forward/backward chapter changes. The static book was rebuilt. This is isolated typography and geometry verification, not a browser screenshot review.


## Birds on every island and reliable roof landings — 12 September 2026

Added three resident gulls at Home Harbour and two at each other island, plus the three existing higher-flying gulls. Flocks follow their island’s chapter visibility. Every active saved stage selects its own roof perches, with at least one usable perch on each of the twelve models. The first single-house Home Harbour has one supported landing spot; its other residents circle instead of sharing an unsafe perch.

Replaced fixed Home Harbour anchors with roof raycasts against the actual saved model at full size, independent of its reveal animation. Candidate landing spots require upward-facing surfaces and a supported footprint. Takeoff rises above the town before travelling horizontally; the final landing descends vertically from above the roof. Small cached triangle patches provide exact roof heights beneath the animated bird geometry. Standing and landing poses use those heights to maintain contact on sloping roofs, including Home Harbour’s eleven-degree tilt. The initial geometry probe reproduced a 0.0303-unit penetration before the final contact correction; the corrected full-cycle probe kept all sampled bird vertices at least 0.008 units above their roofs.

The new check-birds.cjs covers all twelve town stages and 234 landing/takeoff/standing samples using independent roof raycasts against the actual deformed bird vertices. It passed a minimum clearance of 0.0080, precise perched contact, chapter visibility, backward navigation, pause and deterministic replay. The optional-asset fallback passed. The full world check passed all 75 chapter phases, both pirate outcomes, water/birds, wakes, cloud drift, pause/replay and seven-vessel motion; minimum sampled vessel separation remains 2.2700 units.

Moved the authored flock and contact logic into tools/town-birds.js so it is versioned with the book. Original gull meshes, texture and native wing coefficients were verified unchanged and remain in the ignored local data script; the previous combined adapter is backed up in the local studio archive. The static build loads the optional data before the new behaviour, with no network or server required. Verification used geometry, state and generated-file checks; no browser screenshot review is claimed.


## Optional soundtrack and brighter sunset — 12 September 2026

Added the requested YouTube video (dI272-EXKek) through its official IFrame Player API and privacy-enhanced embed. The map has a persistent play/off control, a volume slider, and a saved off preference. Playback is attempted unless previously disabled; blocked autoplay presents a play prompt. The visible player continues through chapter navigation. Turning music off or closing its panel destroys the player immediately, and stale loading callbacks cannot recreate it. The code provides the real hosted origin when available and does not spoof a web origin for file:// pages.

YouTube requires an HTTP referrer and can reject locally opened pages with error 153. This is handled with a plain-language explanation and a link to the requested video. A separate local-audio option plays and loops a user-selected file without uploading it or starting a server. Its panel can be collapsed while listening. The external YouTube-tab fallback explicitly uses that tab's own playback controls. Local file selection lasts for the current page session.

Sunset sunlight increases from 2.1 to 3.4, hemisphere illumination from 1.15 to 1.85, and exposure from 0.94 to 1.09. A less saturated golden sun and soft warm fill preserve more of each facade's original colour. Dark sea and fog colours, low sun direction, night reading theme and emissive windows remain in place.

Validation: a DOM harness with stubbed YouTube/media APIs passed default playback attempts, remembered off/zero volume, immediate stop, chapter continuity, autoplay retry, local-file error 153, offline/API failures, late-callback cancellation, local file replacement, and external-tab handoff. CSS/DOM checks passed at 320, 390, 768, 1024 and 1440 pixels, including the player's 200px minimum width and the full-width mobile reading panel. The twelve-stage geometry check passed all existing island scale, rotation, reflection and shipping assertions. An additional lighting probe confirmed increased illumination in every colour channel on four facade orientations and rooftops, with warm sun/fog and window glow intact. The static HTML was rebuilt and checked against its sources and local script paths; syntax and whitespace checks passed. These checks do not establish live YouTube playback or a browser screenshot review; the local-file browser preview remains unavailable to automation.


## Bundled offline MP3 — 12 September 2026

Replaced the YouTube integration with assets/harbour-ambience.mp3. The local stereo MP3 contains a twelve-minute edit of the CC BY 4.0 harbour recording by Micmuss Film Entertainment / micmussfilm (Freesound sound 848489). It uses material approximately two minutes into the source, gentle frequency filtering, loudness normalization and an eight-second circular crossfade. The original YouTube reference was not copied. Attribution, the source link, license and changes accompany the asset and appear in the sound-options panel and MP3 metadata.

The book loads the MP3 directly from its assets folder and loops it with the browser's audio element. There are no YouTube frames, APIs, requests or video fallback controls in the generated page. Play sound / Sound on, volume and the saved off preference remain available. Closing sound options keeps the audio playing. A reader can still temporarily select another local audio file and restore the bundled track. A blocked autoplay attempt waits for the Play sound gesture without opening a popup.

The exported file is 720.024 seconds including MP3 framing, 11,521,154 bytes, 128 kbps stereo at 48 kHz. A full decode completed without errors; measured sample peak is -3.5 dBFS and mean level is -26.7 dBFS. Creator and license tags were checked. A DOM harness using the rebuilt book passed offline playback initiation, looping, chapter continuity, closed options during playback, immediate stop, saved off/zero volume, blocked-autoplay retry, cancellation of pending playback, unavailable storage, local-file replacement/restoration, page-exit pause and missing-file handling. It also verified that the bundled asset exists, the built script matches the source and the rendered HTML has no YouTube code. The static build, syntax check and whitespace check passed. This validates the media file and control logic; live playback inside the browser preview was not available to automation.


## Supplied marina recording — 12 September 2026

Found the user-supplied MP3 in Downloads, titled “Marina Ambience | Calm & Relaxation” by Beyond the Horizon - Calm Presence. The supplied file was already twelve minutes long (720.039184 seconds including MP3 framing), so the whole supplied extract was used without applying a second timestamp offset. Added 0.8-second entrance and exit fades, retaining the full twelve-minute audio duration, stereo channels, 44.1 kHz sample rate, 128 kbps encoding and creator/title metadata. The original Downloads file was only read.

The personal edition selects assets/marina-ambience.local.mp3 through assets/soundtrack.local.js before the sound controls initialise. Both personal assets are excluded from Git. The optional local configuration changes the source, displayed title and credit; it does not label the personal recording with the fallback recording's Creative Commons license. Restoring the default after choosing another file restores the personal track and its label. If the local configuration is absent, the existing bundled CC BY recording remains usable.

Validation: the full edited file decoded without errors to 12:00.00; encoded duration is 720.039184 seconds, mean level -28.7 dBFS and peak -0.8 dBFS. The existing control checks passed with and without the personal configuration, including the correct selected MP3/credit, local-only playback, chapter continuity, loop setting, closed options while playing, saved off/volume, autoplay retry, cancellation, local-file replacement/restoration and error handling. The rebuilt HTML loads the optional configuration before the control script. Both personal files were confirmed ignored, and JavaScript syntax/static build/whitespace checks passed. No browser playback or screenshot verification is claimed.


## Map speaker and default playback — 12 September 2026

Moved the soundtrack control to a circular speaker at the top-right edge of the visible map, with responsive placement beside the desktop reading panel and at the right screen edge on mobile. Sound options are available from Contents. Playback starts enabled, replacing the previous opt-in preference; deliberate mute choices and volume are remembered. Muting keeps the recording running so unmuting continues without restarting. Blocked autoplay waits for a speaker press or ordinary reading interaction.

Validation: rebuilt the static book and passed focused DOM checks for default playback, legacy preference migration, mute continuity/persistence, SVG accessibility, panel focus, volume, autoplay rejection/retry, pending playback, page lifecycle, unavailable storage, personal recording selection/credits, local file replacement/restoration, audio errors and offline fallback. JavaScript syntax and whitespace checks passed. Browser playback and screenshot verification were not available. The personal MP3 remains excluded from Git.
