From: Thomas Walker Lynch Date: Wed, 5 Aug 2026 07:30:22 +0000 (+0000) Subject: v5.1 presntable perhaps X-Git-Url: https://git.reasoningtechnology.com/%27%20%20%20window.RT.dirpr_library%20%20%20%27/Hindu-Arabic%20number%20fig%201.png?a=commitdiff_plain;h=571442c21ac8dd0a34f5b234ede9d7ee2077fc0d;p=RT-Style v5.1 presntable perhaps --- diff --git a/developer/authored/Manuscript.copy/Document/manual.html b/developer/authored/Manuscript.copy/Document/manual.html index 5ec4847..8e9a762 100644 --- a/developer/authored/Manuscript.copy/Document/manual.html +++ b/developer/authored/Manuscript.copy/Document/manual.html @@ -30,53 +30,32 @@ - Core Philosophy -

- The RT Style framework fundamentally rejects static CSS class mapping. Instead, it relies on semantic DOM isolation. Authors define logical boundaries utilizing RT· tags, completely separating the data graph from its physical presentation. -

+ Philosophical Approach +

- Styling is executed dynamically at runtime. JavaScript closure functions (e.g., apply_style) intercept the parsed DOM tree, evaluate the active theme variables, calculate necessary dimensions, and inject inline styles directly into the elements. + An RT-Style document follows an abstraction hierarchy. At the highest level there is theme. The current working theme is inverse_wheat. You are probably looking at it now. There are a couple of others that might or might not be working. Theme colors are set by the role played in the document; they do not refer to any DOM elements. The next layer down the abstraction stack is layout. The current working layout is article_tech_ref. The purpose of layout is to set the general size and placement of elements. article_tech_ref assumes the text will be laid out across pages and displayed in a browser. It allows page length to be flexible so that some elements can appear without breaks in them. Other layouts could do things differently. Then the RT semantic elements are placed in the layout. An RT semantic element is named by the role it plays in the document, such as title page, section, code, math, etc.

+

- Typography Note: The middle dot used as a namespace separator in tags is the middle dot of typography. On macOS: Option + Shift + 9. On Windows: Hold Alt and type 0183 on the numeric keypad. Linux: Compose Key followed by . and -. + There is no CSS file to edit. CSS is a miniature language for static styling. However, it lacks loops or conditionals, and even variables are an awkward addition. In RT-Style, style is painted onto elements from JavaScript functions. Each element has an apply_style function found at the top of its source code. It is not expected that an author of a document will edit these; rather, their values are computed dynamically from the theme settings. If something isn't working out in the presentation, this is considered to be a design problem, not a reason to be modifying style.

+

- Content is found between the opening HTML tag and the closing HTML tag. E.g. <RT·noop>This is content.</RT·noop>. + RT-Style uses the middle dot as a namespace separator in tags. This is the middle dot of typography, so it is supported as a text character in modern systems. On macOS: Option + Shift + 9. On Windows: Hold Alt and type 0183 on the numeric keypad. Linux: Compose Key followed by . and -.

+

- An attribute is a name-value pair found within an opening HTML tag. E.g. <RT·noop name="value">. Here the attribute name is name and the attribute value is value. + As a quick review of terminology, note that content is found between the opening HTML tag and the closing HTML tag. E.g. <RT·noop>This is content.</RT·noop>. Whereas an attribute is a name-value pair found within an opening HTML tag. E.g. <RT·noop name="value">. Here the attribute name is name and the attribute value is value.

-
- - Execution Pipeline Schedule

- Standard web developers utilize browser inspection tools assuming the rendered elements map directly to the authored HTML. In the RT framework, this is false. The layout engine routinely executes destructive, multi-pass operations—ripping out text arrays to synthesize coordinate grids or wrapping linear flows into soft-paginated boundaries. + For RT-Style to work, the document will need to include a file that points it at the library, as discussed later in this manual.

+

- RT-Style operates on a strictly phased, non-monotonic DOM evaluation schedule governed by the stage_manager.js. Developers writing custom elements must target the correct execution phase to prevent destructive collisions. + For examples of using RT-Style, take a look at the source code for this document, and look in the project test directory.

- - - Evaluates raw 1D streams. Injects section wrappers, maps counter states, evaluates math tokens, and isolates explicit string payloads. - - - Initial document chunking. Slices the continuous DOM into discrete <RT·page> boundaries based on height configurations. Modifies the tree aggressively. - - - Applies geometric CSS configurations to the generated pages. - - - Walks the tree to increment the state machines and populates snapshot variables. Must run after pagination to ensure page numbers exist. - - - Resolves mapping dictionaries bridging logical content with its physically paginated layout geometry. - - - Absorbs dimensional deltas. Expands page limits to accommodate space consumed by injected cross-references and generated indices. - -
@@ -133,18 +112,10 @@ Decorators - Semantic anchor for technical terminology. Formats the initial occurrence and registers the element ID for index generation. Authors must mark all occurrences of the term.
-
-
Attributes:
- id: (Default: Auto-generated slug, e.g., "def-my-term") -
+ Semantic anchor for technical terminology. Formats the initial occurrence and registers the element ID for index generation. Authors should decorate all occurrences of the term so that they can be indexed.
- Semantic anchor for a novel term coined within the current document boundaries. Registers the ID for index generation.
-
-
Attributes:
- id: (Default: Auto-generated slug, e.g., "def-neo-my-term") -
+ Semantic anchor for a novel term coined within the current document boundaries. Again all instances should be decorated.
@@ -156,19 +127,16 @@

- Establishes a scoped 1D execution boundary. Manages hierarchical counting numbering, page breaks for top-level scopes, and injects the formatted title. -
-
Child Element: <RT·name> (Required: The title payload for the section). -
+ Scoped nestable section marker. Each nesting level is styled differently.
- The semantic title payload for a container. Evaluated by sections, grids, and relations. Multiple instances are concatenated with newlines. + Gives a name to the immediately container. Evaluated by sections to set the section heading, by relations to name a relation, and by matrices to name vectors, etc. Multiple instances are concatenated with newlines. - Code span or pre-formatted code block. Automatically dedents alignment spaces and inherits theme boundaries. + Code span or pre-formatted code block. If opening and closing tags are on the same line, content is considered to be inline span code. Otherwise, the content is considered to be a block of code. The left edge of the code is taken to the left edge of the tags. If code is found to the left of the tags, then the left edge is that of the source file. - Injects mathematical layout evaluation via the MathJax rendering engine. + Injects mathematical layout evaluation via the MathJax rendering engine. If opening and closing tags are on the same line, contents are considered to be inline span math. Otherwise, the contents is considered to be a block of math.
@@ -370,6 +338,37 @@ + + Execution Pipeline Schedule + +

+ In the RT-Style framework when a page is rendered, the JS code associated with the semantic elements modifies the DOM. It does so in multiple passes so that page numbering, counters, and cross references function without need for forward referencing or concern about dependencies between them. Consequently what is seen in the element view of the browser debug window will not have a one to one correspondence with the elements found in the document. +

+ + + + Evaluates raw 1D streams. Injects section wrappers, maps counter states, evaluates math tokens, and isolates explicit string payloads. + + + Initial document chunking. Slices the continuous DOM into discrete <RT·page> boundaries based on height configurations. Modifies the tree aggressively. + + + Applies geometric CSS configurations to the generated pages. + + + Walks the tree to increment the state machines and populates snapshot variables. Must run after pagination to ensure page numbers exist. + + + Resolves mapping dictionaries bridging logical content with its physically paginated layout geometry. + + + Absorbs dimensional deltas. Expands page limits to accommodate space consumed by injected cross-references and generated indices. + + + +
+ + diff --git a/developer/authored/Manuscript.copy/Layout/article_tech_ref.js b/developer/authored/Manuscript.copy/Layout/article_tech_ref.js index e62388a..eb612b7 100644 --- a/developer/authored/Manuscript.copy/Layout/article_tech_ref.js +++ b/developer/authored/Manuscript.copy/Layout/article_tech_ref.js @@ -61,6 +61,7 @@ style.backgroundColor = conf.surface_0; style.color = conf.content_main; style.boxSizing = "border-box"; + style.textAlign = "justify"; if(!article_seq[i].querySelector('RT·page')){ style.padding = "3rem"; diff --git a/shared/tool/version b/shared/tool/version index eac8c7f..7126e1f 100755 --- a/shared/tool/version +++ b/shared/tool/version @@ -1,4 +1,4 @@ -echo "RT-style v5.0 2026-08-03 09:28:23 Z" +echo "RT-Style v5.1 2026-08-04 16:37:01 Z" echo "Harmony v3.3 2026-06-21 13:20:18 Z"