{"id":9069,"date":"2026-08-24T21:56:15","date_gmt":"2026-08-24T21:56:15","guid":{"rendered":"https:\/\/metaphaze.com\/gazettebuilder\/?page_id=9069"},"modified":"2026-08-24T22:02:24","modified_gmt":"2026-08-24T22:02:24","slug":"feature-reader-progress","status":"publish","type":"page","link":"https:\/\/metaphaze.com\/gazettebuilder\/feature-reader-progress\/","title":{"rendered":"Feature: Reader Progress"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sequential Stories work best when readers can leave and come back without having to remember where they stopped.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder can keep track of a reader\u2019s position in a Story without requiring a user account, login, profile, or campaign membership system. Progress is stored locally in the reader\u2019s browser and is used only to support Story navigation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ordinary Gazette browsing remains separate. Reading a Location, Character, Organization, Event, or other non-Story Entry does not require GazetteBuilder to track progress.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Progress Begins With the Story<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reader Progress is only relevant when someone enters sequential Story content.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a reader starts a Story, GazetteBuilder can remember which sequence position has been reached so the Story landing page can offer the appropriate next action later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a reader who has not yet begun, the Story landing page can show:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Start<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After progress has been recorded, it can instead offer:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Continue<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">and, when appropriate:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Restart<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This turns the Story landing Entry into a reliable home for that sequence.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">No Account Required<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder does not require readers to register just to remember their place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Progress is stored in the browser rather than as a reader account or server-side reading history.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That keeps the feature lightweight and appropriate for public worldbuilding sites where most visitors are simply reading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A reader can leave the site, return later using the same browser, visit the Story landing page, and continue from the position GazetteBuilder has remembered.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Progress Is Story-Specific<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Each Story maintains its own progress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A reader might be halfway through one serialized expedition while having completed another and not yet started a third.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">EXP-01 \u2192 Position 6<br>THE-BRASS-COMPASS \u2192 Position 3<br>MARS-CHRONICLES \u2192 Not started<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Restarting one Story does not reset the others.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This allows a Gazette to contain multiple independent reading sequences without requiring separate accounts or tracking systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Progress Is Not the Same as Page Views<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Simply opening an Entry does not necessarily mean the reader has completed that step.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder treats progression as an explicit Story action rather than assuming that every page load represents meaningful reading progress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When the reader uses the Story\u2019s Continue or Next control, GazetteBuilder can advance the stored Story position.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That distinction prevents ordinary refreshes, revisits, bookmarks, or accidental page loads from constantly changing progression.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Continue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When a Story is already in progress, its landing Entry can provide a <strong>Continue<\/strong> action.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Continue returns the reader to the appropriate point in the sequence rather than forcing them to find their place manually.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, if the reader has completed positions 1 through 4, Continue can take them to position 5, provided that Entry is currently available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reader Progress therefore works together with Story sequence order and Release Dates rather than bypassing them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Restart<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Readers may also want to begin a Story again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder can provide a <strong>Restart<\/strong> option after a Story has begun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because restarting changes remembered progress, the reader should confirm the action before the Story is reset.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Restart affects only that Story and returns its progress to the beginning. Other Stories remain untouched.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a completed finite Story, Restart provides a straightforward way to read the sequence again from the start.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Release-Aware Progression<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reader Progress never makes an unreleased Story Entry accessible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose a reader has reached the latest currently available installment:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1 \u2014 Available<br>2 \u2014 Available<br>3 \u2014 Available<br>4 \u2014 Future Release<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder remembers the reader\u2019s progress through position 3, but Continue cannot advance them into position 4 until that Entry becomes release-eligible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A continuing Story can instead display:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To be continued&#8230;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When position 4 is eventually released, the same reader can return and continue normally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Progress remembers where the reader is. Release controls determine what the reader is allowed to reach.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Story Order, Not World Chronology<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reader Progress follows the authored Story sequence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It does not use Campaign Date or Timeline Sort to decide what comes next.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That means a Story can move backward and forward in fictional time:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1 \u2014 January 1889<br>2 \u2014 January 1889<br>3 \u2014 Flashback to 1872<br>4 \u2014 January 1889<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The reader still progresses through positions 1, 2, 3, and 4 in that order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Story sequence controls reading order; timeline information describes chronology.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Returning From Reference Material<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Stories often lead readers into the wider Gazette.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Story Entry might contain a semantic reference to a Character, Location, Organization, or historical Event. Following that link should not cause the reader to lose the context of the Story they were reading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder can preserve a route back to the Story, such as:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Return to The Brass Compass<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">or a link back to the Story landing Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This allows readers to explore the world around the narrative without turning every side trip into a navigation dead end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reader Privacy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reader Progress is deliberately small in scope.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder does not need to create a server-side profile recording every Entry a visitor has viewed. It only needs enough local information to support sequential Story navigation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Readers should be informed before Story progress is stored that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>progress is stored in their browser;<\/li>\n\n\n\n<li>no GazetteBuilder account is required;<\/li>\n\n\n\n<li>the information is used for Story navigation;<\/li>\n\n\n\n<li>clearing the browser data will reset remembered progress.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This keeps the feature useful without turning a worldbuilding Gazette into a reader-tracking system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Happens if Browser Data Is Cleared?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because progress is stored locally, removing that browser data removes the remembered Story positions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder then treats the reader as someone who has not previously begun those Stories.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nothing about the Stories themselves is changed. Only that browser\u2019s local memory of progress is lost.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is an intentional tradeoff for providing convenient Story progression without requiring accounts or maintaining individual reading histories on the server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Guided Reading Without Account Management<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reader Progress is designed to solve one specific problem:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>help readers remember where they are in a sequential Story.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It does not attempt to turn GazetteBuilder into a membership system, player-management platform, or general analytics service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That keeps the feature simple: readers can explore the Gazette freely, while Stories can still provide the familiar <strong>Start, Continue, and Restart<\/strong> experience of a guided reading sequence.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sequential Stories work best when readers can leave and come back without having to remember where they stopped. GazetteBuilder can keep track of a reader\u2019s position in a Story without requiring a user account, login, profile, or campaign membership system. Progress is stored locally in the reader\u2019s browser and is used only to support Story [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9069","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/comments?post=9069"}],"version-history":[{"count":2,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9069\/revisions"}],"predecessor-version":[{"id":9075,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9069\/revisions\/9075"}],"wp:attachment":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/media?parent=9069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}