+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>Release howto</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- immediate.js
-
- There are 4 variations for RT-Manuscript-locator.js:
-
- URL_only - used by websites
- indirect - used by Harmony projects, except for RT-Manuscript
-
- immediate - used by RT-Manuscript in the distribution (authored, consummer, staged)
- direct - used by RT-Manuscript project outside of the distribution, e.g. the main document directory
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- window.RT.dirpr_library = "..";
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-})();
<head>
<meta charset="UTF-8">
<title>RT Manuscript: Design & Implementation Manual</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>RT Manuscript: User Manual</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- URL_only.js
-
- We have four scenarios
-
- immediate - used in the RT-Style distribution itself (authored, consumer, staged)
- direct - used in the RT-Style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL-only - always pulls style through a URL, a webserver must be present
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- window.RT.dirpr_library = "https://style.ReasoningTechnology.com/Manuscript"; // Production URL
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
+++ /dev/null
-/*
- immediate.js
-
- There are 4 variations for RT-Manuscript-locator.js:
-
- URL_only - used by websites
- indirect - used by Harmony projects, except for RT-Manuscript
-
- immediate - used by RT-Manuscript in the distribution (authored, consummer, staged)
- direct - used by RT-Manuscript project outside of the distribution, e.g. the main document directory
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- window.RT.dirpr_library = "..";
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-})();
+++ /dev/null
-/*
- indirect.js
-
- We have four scenarios
-
- immediate - used in the RT-Style distribution itself (authored, consumer, staged)
- direct - used in the RT-Style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL-only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-// --- Configuration ---
-// Define the consumer project name to allow dynamic local file:// calculation.
-window.RT.project_name = "Harmony";
-
-// Fallback URL when served over a network where the project root is not in the URI.
-window.RT.server_url = "http://localhost:8000/shared/linked-project/RT-Style/Manuscript";
-
-(function() {
- let style_path = window.RT.server_url;
-
- if (window.RT.project_name) {
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + window.RT.project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, stop) extracts up to the project name, leaving off the trailing slash.
- // We append the explicit forward slash before navigating into the shared boundary.
- const absolute_project_root = path.substring(0, project_root_index + window.RT.project_name.length + 1);
-
- // The symlink 'RT-Style' already drops us inside the 'consumer/' directory,
- // so we proceed directly to 'Manuscript'.
- style_path = absolute_project_root + "/shared/linked-project/RT-Style/Manuscript";
- } else {
- console.warn("RT-Style: Cannot locate project root '/" + window.RT.project_name + "/' in URI. Falling back to server_url.");
- }
- }
-
- window.RT.dirpr_library = style_path;
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
+++ /dev/null
-<!doctype html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<title>RT-Manuscript initialize</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<!--
- RT-Manuscript_initialize.html
-
- Sits in a Manuscript directory. Opening or reloading it from disk records
- that directory in the browser as the RT-Manuscript library for local
- documents. The last initializer opened or reloaded wins, so with several
- installs open in tabs, reloading a tab selects its install.
-
- The record is one localStorage key, shared by all file:// pages in Chrome:
- RT.dirpr_library the URL of this directory, without a trailing slash
-
- Documents read it in their header block and fall back to the server when
- it is absent.
-
- This page does not use RT-Manuscript, so it works when the library is broken.
--->
-<style>
- :root{ --bg: #fbfaf6; --fg: #222; --muted: #6b6b6b; --accent: #8a5a00; --button: #efe9da; --line: #d8d4c8; }
- @media (prefers-color-scheme: dark){
- :root{ --bg: #141414; --fg: #e8e2d0; --muted: #9a958a; --accent: #f0b000; --button: #2a2822; --line: #3a372f; }
- }
- body{ background: var(--bg); color: var(--fg); font: 16px/1.5 system-ui, sans-serif;
- max-width: 48rem; margin: 2rem auto; padding: 0 1rem; }
- h1{ color: var(--accent); font-size: 1.5rem; }
- #message{ border-left: 4px solid var(--accent); padding: 0.5rem 0.9rem; margin: 1.5rem 0; }
- code{ font-family: ui-monospace, monospace; font-size: 0.9em; word-break: break-all; }
- button{ background: var(--button); color: var(--fg); border: 1px solid var(--line);
- border-radius: 4px; padding: 0.25rem 0.7rem; font: inherit; cursor: pointer; }
- .muted{ color: var(--muted); }
-</style>
-</head>
-<body>
- <h1>RT-Manuscript initialize</h1>
- <div id="message"></div>
- <p>Local RT documents load RT-Manuscript from:<br><code id="current"></code></p>
- <p><button id="uninstall">Uninstall</button></p>
- <p class="muted">Reload an open document to apply a change. Reload this page to make
- this directory the library again. With nothing recorded, documents load from
- <code id="server"></code>.</p>
-
-<script>
-(function(){
- const KEY = "RT.dirpr_library";
- const SERVER = "https://style.ReasoningTechnology.com/Manuscript";
- const el = id => document.getElementById(id);
- el("server").textContent = SERVER;
-
- function show(){
- let v = null;
- try{ v = localStorage.getItem(KEY); }catch(e){}
- el("current").textContent = v || SERVER + " (server)";
- }
-
- if(location.protocol !== "file:"){
- el("message").textContent = "Open this page from disk (a file:// address). Nothing was recorded.";
- el("uninstall").disabled = true;
- show();
- return;
- }
-
- const here = location.href.split("#")[0].split("?")[0].replace(/\/[^\/]*$/ ,"");
-
- try{
- const before = localStorage.getItem(KEY);
- localStorage.setItem(KEY ,here);
- el("message").textContent =
- before === here ? "This directory is the RT-Manuscript library."
- : before ? "Switched the RT-Manuscript library to this directory."
- : "Installed. This directory is now the RT-Manuscript library.";
- }catch(e){
- el("message").textContent = "This browser blocks storage for local pages. Nothing was recorded.";
- }
-
- el("uninstall").onclick = () => {
- try{ localStorage.removeItem(KEY); }catch(e){}
- el("message").textContent = "Uninstalled. Documents now load from the server.";
- show();
- };
-
- show();
-})();
-</script>
-</body>
-</html>
--- /dev/null
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<title>RT-Manuscript setup</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<!--
+ setup.html
+
+ Sits in a RT-Style Manuscript directory. Opening or reloading it from disk records
+ that directory in the browser as the RT-Manuscript library for local
+ documents. The last setup.html opened or reloaded wins, so with several
+ installs open in tabs, say for testing, reloading a tab selects its install.
+
+ The record is one localStorage key, shared by all file:// pages in Chrome:
+ RT.dirpr_library the URL of this directory, without a trailing slash
+
+ Documents read it in their header block and fall back to the server when
+ it is absent.
+
+ This page does not use RT-Manuscript, so it works even when the library is broken.
+-->
+<style>
+ :root{ --bg: #fbfaf6; --fg: #222; --muted: #6b6b6b; --accent: #8a5a00; --button: #efe9da; --line: #d8d4c8; }
+ @media (prefers-color-scheme: dark){
+ :root{ --bg: #141414; --fg: #e8e2d0; --muted: #9a958a; --accent: #f0b000; --button: #2a2822; --line: #3a372f; }
+ }
+ body{ background: var(--bg); color: var(--fg); font: 16px/1.5 system-ui, sans-serif;
+ max-width: 48rem; margin: 2rem auto; padding: 0 1rem; }
+ h1{ color: var(--accent); font-size: 1.5rem; }
+ #message{ border-left: 4px solid var(--accent); padding: 0.5rem 0.9rem; margin: 1.5rem 0; }
+ code{ font-family: ui-monospace, monospace; font-size: 0.9em; word-break: break-all; }
+ button{ background: var(--button); color: var(--fg); border: 1px solid var(--line);
+ border-radius: 4px; padding: 0.25rem 0.7rem; font: inherit; cursor: pointer; }
+ .muted{ color: var(--muted); }
+</style>
+</head>
+<body>
+ <h1>RT-Manuscript initialize</h1>
+ <div id="message"></div>
+ <p>Local RT documents load RT-Manuscript from:<br><code id="current"></code></p>
+ <p><button id="uninstall">Uninstall</button></p>
+ <p class="muted">Reload an open document to apply a change. Reload this page to make
+ this directory the library again. With nothing recorded, documents load from
+ <code id="server"></code>.</p>
+
+<script>
+(function(){
+ const KEY = "RT.dirpr_library";
+ const SERVER = "https://style.ReasoningTechnology.com/Manuscript";
+ const el = id => document.getElementById(id);
+ el("server").textContent = SERVER;
+
+ function show(){
+ let v = null;
+ try{ v = localStorage.getItem(KEY); }catch(e){}
+ el("current").textContent = v || SERVER + " (server)";
+ }
+
+ if(location.protocol !== "file:"){
+ el("message").textContent = "Open this page from disk (a file:// address). Nothing was recorded.";
+ el("uninstall").disabled = true;
+ show();
+ return;
+ }
+
+ const here = location.href.split("#")[0].split("?")[0].replace(/\/[^\/]*$/ ,"");
+
+ try{
+ const before = localStorage.getItem(KEY);
+ localStorage.setItem(KEY ,here);
+ el("message").textContent =
+ before === here ? "This directory is the RT-Manuscript library."
+ : before ? "Switched the RT-Manuscript library to this directory."
+ : "Installed. This directory is now the RT-Manuscript library.";
+ }catch(e){
+ el("message").textContent = "This browser blocks storage for local pages. Nothing was recorded.";
+ }
+
+ el("uninstall").onclick = () => {
+ try{ localStorage.removeItem(KEY); }catch(e){}
+ el("message").textContent = "Uninstalled. Documents now load from the server.";
+ show();
+ };
+
+ show();
+})();
+</script>
+</body>
+</html>
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>RT Code Format: Lisp Addendum</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>RT code format conventions</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>File and directory naming conventions</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>C modules, namespaces, and the build lifecycle</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>Introduction to Harmony</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Product development roles and workflow</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Product maintenance roles and workflow</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
-echo "RT-Style v5.4 2026-08-28 03:00:50 Z"
+echo "RT-Style v6.0 2026-10-09 08:50:19 Z"
echo "Harmony v3.3 2026-06-21 13:20:18 Z"
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>Counter Status Machine Diagnostics</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Counter Status Machine Diagnostics (Outline Style)</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Counter Status Machine Diagnostics (Milestone Mode)</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Counter 3-Page Continuation Test</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Counter Split Continuation Test</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Counter Named Step Test</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>Endnote Integration Diagnostics</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>Test: RT Dictionary</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Test: RT Grid Primitive</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Test: RT Matrix</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
<head>
<meta charset="UTF-8">
<title>Test: RT Relation</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<head>
<meta charset="UTF-8">
<title>Note Integration Diagnostics</title>
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
+++ /dev/null
-/*
- direct.js
-
-
- We have four scenarios
-
- immediate - used in the RT-style distribution itself (authored, consummer, staged)
- direct - used in the RT-style project itself, but not in the distribution
- indirect - the version all Harmony projects use
- URL_only - always pulls style through a URL, a webserver must be present
-
-*/
-
-window.RT = window.RT || {};
-
-(function() {
- const project_name = "RT-Style";
- const path = window.location.pathname;
- const project_root_index = path.indexOf('/' + project_name + '/');
-
- if (project_root_index !== -1) {
- // substring(0, x) excludes the trailing slash. We must prepend it to the payload.
- const absolute_project_root = path.substring(0, project_root_index + project_name.length + 1);
- window.RT.dirpr_library = absolute_project_root + "/consumer/Manuscript";
- } else {
- // Fallback for when served via local Python HTTP daemon from the project root
- window.RT.dirpr_library = "../consumer/made/Manuscript";
- }
-
- document.write(
- '<script src="'
- + window.RT.dirpr_library
- + '/Core/RT-Manuscript_make.js"'
- + '><\/script>'
- );
-
-})();
<meta charset="UTF-8">
<title>Test 0: Table of Contents</title>
<!-- Adjust the locator path relative to the specific tester/authored subdirectory -->
- <script src="RT-Manuscript_locator.js"></script>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
<script>
window.RT.theme_preference('inverse_wheat');
window.RT.load('Layout/paginate');
--- /dev/null
+<!-- library location test
+
+Checks the header block that locates the RT-Manuscript library, and the
+initializer that records it.
+
+ stored = localStorage "RT.dirpr_library", written by RT-Style Manuscript setup.html
+ server = https://style.ReasoningTechnology.com/Manuscript
+ used = RT.dirpr_library after the header block
+
+Automatic checks, made while the page parses:
+
+ 1. used == stored, or used == server when nothing is stored
+ 2. the engine ran: RT.load and RT.Module exist
+ 3. every engine script on the page came from used, so no install is mixed with another
+
+Manual procedure, with two installs A and B (for example the authored
+Manuscript.copy and consumer/Manuscript):
+
+ open A's initializer, reload this page -> used == A, checks pass
+ open B's initializer, reload this page -> used == B, checks pass
+ reload A's initializer tab, reload this -> used == A
+ Uninstall in either initializer, reload -> used == server
+ record a directory that does not exist -> page does not format; the plain
+ text report still shows used
+
+The report is written as plain text during parsing, so it can be read when
+the engine fails to load.
+-->
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <title>Library Location</title>
+ <script>
+ {
+ let dirpr_library = null;
+ try{ dirpr_library = localStorage.getItem("RT.dirpr_library"); }catch(e){}
+ window.RT = window.RT || {};
+ RT.dirpr_library = RT.dirpr_library || dirpr_library || "https://style.ReasoningTechnology.com/Manuscript";
+ document.write('<script src="' + RT.dirpr_library + '/Core/RT-Manuscript_make.js"><\/script>');
+ }
+ </script>
+ <script>
+ window.RT.theme_preference('inverse_wheat');
+ window.RT.load('Layout/paginate');
+ window.RT.load('Layout/article_tech_ref');
+ window.RT.load('Element/theme_selector');
+ </script>
+ <style>
+ .line { margin-bottom: 0.5rem; font-family: monospace; word-break: break-all; }
+ .comment { color: #6a9955; }
+ .pass { color: #4caf50; font-weight: bold; }
+ .fail { color: #e53935; font-weight: bold; }
+ .line a { color: #6fa8dc; }
+ </style>
+ </head>
+ <body>
+ <RT·theme-selector></RT·theme-selector>
+ <RT·article>
+ <RT·title
+ author="Thomas Walker Lynch"
+ date="2026-10-09"
+ title="Library Location">
+ </RT·title>
+
+ <script>
+ {
+ const SERVER = "https://style.ReasoningTechnology.com/Manuscript";
+ const esc = s => String(s).replace(/&/g ,"&").replace(/</g ,"<");
+
+ let stored = null ,storage_ok = true;
+ try{ stored = localStorage.getItem("RT.dirpr_library"); }catch(e){ storage_ok = false; }
+
+ const used = window.RT && window.RT.dirpr_library;
+ const expected = stored || SERVER;
+
+ const engine_scripts = Array.from(document.scripts)
+ .map(s => s.getAttribute("src"))
+ .filter(src => src && /\/(Core|Layout|Element|Theme|Math)\//.test(src));
+ const foreign = engine_scripts.filter(src => !src.startsWith(used + "/"));
+
+ const checks = [
+ ["header chose " + (stored ? "the stored library" : "the server")
+ ,used === expected]
+ ,["engine ran (RT.load and RT.Module exist)"
+ ,!!(window.RT && typeof window.RT.load === "function" && window.RT.Module)]
+ ,["all " + engine_scripts.length + " engine scripts came from the chosen library"
+ ,engine_scripts.length > 0 && foreign.length === 0]
+ ];
+
+ const line = (label ,value) =>
+ '<div class="line"><span class="comment">// ' + esc(label) + '</span><br>' + esc(value) + '</div>';
+
+ let html = "";
+ html += line("stored (localStorage RT.dirpr_library)"
+ ,storage_ok ? (stored || "(nothing stored)") : "(storage blocked)");
+ html += line("used (RT.dirpr_library)" ,used);
+ html += line("source" ,used === SERVER ? "server" : "local install");
+ for(const [label ,ok] of checks){
+ html += '<div class="line"><span class="' + (ok ? 'pass">PASS' : 'fail">FAIL')
+ + '</span> ' + esc(label) + '</div>';
+ }
+ if(foreign.length) html += line("scripts from elsewhere" ,foreign.join("\n"));
+ if(used !== SERVER){
+ html += '<div class="line"><span class="comment">// initializer for this library</span><br>'
+ + '<a href="' + esc(used) + '/RT-Manuscript_initialize.html">'
+ + esc(used) + '/RT-Manuscript_initialize.html</a></div>';
+ }
+ document.write(html);
+
+ console.log("Library location test:" ,{stored ,used ,engine_scripts ,foreign
+ ,pass: checks.every(c => c[1])});
+ }
+ </script>
+
+ </RT·article>
+ </body>
+</html>