Textual System Documenting

Text

Text

Mathematical Documentation

Complex domains like mathematics, functional programming (FP), and engineering demand clear communication but are frequently challenging to present, leading to a loss of funding, support, or engagement. Texsydo aims to comply with MathSwe efficiency standards for formal and productive communication by expanding FP to documentation domains.

Texsydo is an Applied MSW aiming for modern mathematical text. Textual systems can encompass traditional articles or specific domains. Text is the source code that specifies an article of formal documentation.

Texsydo renders text into mathematical art for effectful domains, like a fractal from its recursive definition, model visualization, or development workflow.

Texsydo engineers articles under a functional approach, where the abstraction unit is the article, just as the function is in FP. Therefore, everything is an article in Texsydo. Formalities and systematized articles optimize inference to enhance mathematical and engineering documentation.

Engineering functional programming into mathematical writing simplifies articulating rigorous concepts that become into art. While mathematical text specifies concepts, art represents them, ensuring clear communication for complex domains. Texsydo aims to provide mathematical text and art to optimize demanding communication from mathematics to engineering.

Web

Web

Mathematical Text to Web Article

Web articles are modern, portable, easy to write, and deploy with minimal overhead or setup.

Web Ops

Texsydo Web Operations

Operations provide commands to create, build, and deploy mathematical articles in your domain-specific system.

⚠️ Texsydo Web is a challenging project, so its current MVP versions do not guarantee API stability for now. Texsydo Web tsd-web CLI is currently in the prototype stage without public availability until its ongoing migration to MVP finishes.

New Article

Creating Domain Aware Articles

tsd-web create { entry-id } { class_1, class_2, ..., class_n }
New Article
Create Article Example
  • Entry ID is automating-the-platform-operations-and-beyond-2023-08-31.
  • Classes aremathswe, eng, automation, platform, ops.
Checkout to branch main
Update branch main
Checkout to branch automating-the-platform-operations-and-be...
Add files to Git
Commit files to Git
Create entry Automating the Platform Operations and Beyond (...
.
├── mathswe
    ├── eng
        ├── automation
            └── platform
                └── ops
                    └── automating-the-platform-operations-and-beyond-2023-08-31
                        └── index.md
New Entry Example Tree

Listing Articles

Repository Articles

tsd-web entries
Entires Command

Building an Article

Markdown to Static Site

tsd-web build { target } (jekyll)
Build Command

⚠️ Texsydo Web MVP will drop support for Jekyll later when it reaches a more mature stage.

Common Build Usage
  • Target is the current branch ..
  • The jekyll flag builds intermediate code to a static site.
  • Run tsd-web build . jekyll.

Serving an Article

Development Server

tsd-web serve
Serve Command

Deploying an Article

GitHub Pages Deployment

tsd-web deploy { entry-id }
Deploy Command
Deploying
Checkout to branch main
Update branch main
Building
Build article automating-the-platform-operations-and-beyond-...
Checkout to branch gh-pages
Update branch gh-pages
Commiting build of automating-the-platform-operations-and-be...
Add files to Git
Commit files to Git
Publishing
Push branch gh-pages to origin
Checkout to branch main
Deploy automating-the-platform-operations-and-beyond-2023-08...

It deploys the given article from the main branch to the gh-pages one.

Domain Dictionary

Smart Text Transformations

Declarative user dictionaries tell Texsydo the transformations from the low-level form of a word used as a syntax to the high-level word to render.

Dictionaries keep the system domain-specific and, therefore, well-informed and efficient by removing redundant work prone to errors and writer burnout.

Dictionary(
    uppercase = setOf("bsd", "pr"),
    composed = mapOf(
        "mathswe" to listOf("math", "swe"),
        "github"  to listOf("git", "hub"),
    ),
    acronym = mapOf(
        "swam" to "Special Software and Models",
        "ddo"  to "Data-Driven Organizations",
    ),
    custom = mapOf(
        "intellij-idea" to "IntelliJ IDEA",
        "leds"          to "LEDs",
    )
)
Custom Dictionary Example

Map of Words

  • bsd
    BSD
    pr
    PR
  • mathswe
    MathSwe
    github
    GitHub
  • swam
    Special Software and Models
    ddo
    Data-Driven Organizations
  • intellij-idea
    IntelliJ IDEA
    leds
    LEDs

In-Article Projects

Example Project Associated with an Article

Technical articles can contain an associated project offering complete source code to readers, while standard articles can still provide files. Everything is first-class, with cohesive navigation without leaving the website.

In-article projects are Example Projects (EPs) since the article bounds them to that scope. The unique EP benefits can thus enhance the value a technical article provides.

If the article contains a web app project, Texsydo Web will also build and deploy it within the article.

 📂 drawing-a-tree-on-canvas-with-xy-coordinates
    ├── index.md
    ├── 📂 mrm-solution-tree---ep
    │      ├── other-project-files...
    │      ├── package.json
    │      ├── package-lock.json
    │      ├── README.md
    │      ├── 📂 src
    │      │      ├── index.html
    │      │      └── other-project-sources...
    │      ├── tsconfig.json
    │      └── webpack.config.js
    └── other-article-files...
Article with EP
tsd-web build drawing-a-tree-on-canvas-with-xy-coordinates jekyll
Building an Article
Building EP
Install node_modules
Build mrm-solution-tree---ep
Building Article
Build drawing-a-tree-on-canvas-with-xy-coordinates
Build Jekyll site
Article EP Navigation
Article EP Navigation
EP Source Code Navigation
EP Source Code Navigation
Article EP Web App
Article EP Web App

Drawing a Tree on Canvas with XY Coordinates

Advanced additions like associated files, example project source code, and web apps enhance articles by growing them cohesively. Texsydo Web allows articles to specify their DSL enabling completeness from the academic text to the engineering specification.

PR and Release Workflow

Clear and Complete Development Communication

Texsydo Web infers development workflow to automate updates of PR and Release blogs, currently only available for MathSwe projects.

tsd-web add-pr { entry-id } { class_1,class_2,...,class_n } { path } { from-pr }
Add-PR Command

It uses the syntax of the create command plus path and from-pr arguments.

  • path is the GitHub repository path, likeorg/repo.
  • from-pr is the first PR number to take (inclusive), and the program will fetch the rest of the PRs until the last one. This option doesn’t provide more flexibility yet.
tsd-web add-pr \
initializing-ops-with-a-cookie-banner---mathswe-com-2024-03-21 \
mathswe, legal, cookies, pr \
mathswe/legal \
1
Add PR Example

The pr class must be the direct parent directory of the article to enable inference, as shown above.

Creating Article
Checkout to branch main
Update branch main
Checkout to branch initializing-ops-with-a-cookie-banner---m...
Add files to Git
Commit files to Git
Create entry "Initializing Ops with a Cookie Banner | Mathsw...
Fetching PRs
Fetch GitHub PRs
Add root files to Git
Commit PR content
Add GitHub PRs from #1 to #11

It creates the article in the mathswe/legal/cookies/pr directory. It adds the PRs from GitHub with proper styles. It requires developers to maintain balanced communication on GitHub to move forward continuously in a linear direction.

The remaining developer's job is to finish the article with the conclusion and abstract sections and add the cover textual file. Texsydo will build it into a PNG image according to MathSwe graphical standards.

A Markdown source file defines the cover image with the same name as the article and .png.md extension. It must contain a tiny abstract with an optional list. It supports bold style.

Building
Generate cover image
Build article initializing-ops-with-a-cookie-banner---mathsw...

While support for PR articles is wider, current support for Release articles is limited to generating the cover image.

Texsydo Web enables efficient and thoroughly formal written communication from low-level technical details to high-level product engineering as per MathSwe standards.

FX

FX

Text Effects

Texsydo renders text as mathematical art in effectful domains of article graphics.

Development Article Cover

Continuous Development with Documentation Assistance

Texsydo FX currently supports generating cover images for blogs that update on Pull Requests (PRs) and project releases in MathSwe.

⚠️ Texsydo FX tsd-fx CLI is currently in the prototype stage without public availability until its ongoing migration to MVP finishes.

tsd-fx pr-cover preview \
--profile-photo = profile.jpeg \
--heading       = texsydo/@mvp \
--subheading    = 'FX' \
--abstract      = 'Shows **Textual System Documenting** with the new **Texsydo FX** prototype.' \
--details       = 'Generates **PR** and **Release** covers.,Supports Markdown bold style.,Provides MVP-ready prototype.'"
--subdomain     = texsydo-fx---mvp.png \
--bg-color      = white \
--bg            = msw-fractal.png
Generating a PR Cover Image

The above command will show a preview window with the rendered image.

FX will save the image by removing the preview unnamed parameter and specifying an output argument with the destination path.

PR Cover
PR Cover with Custom Color
PR Cover with Custom Color
PR Cover in MathSwe Ops
PR Cover in MathSwe Ops
Release Cover in MathSwe Legal
Release Cover in MathSwe Legal

Release covers take the profile photo of the organization rather than the developer or team.

Further, they support versions for micro-projects besides the version of the whole repository. Standalone projects of a common repository, like microservices and MVPs, integrate smoothly with their independent version.

Texsydo Web, with domain specifications, infers development context from PRs and releases and calls FX to streamline article graphics under MathSwe standards.

Canvas Play

Canvas Play

Innovating Incoming Visualizations

Texsydo FX has internal prototypes to design new graphical products beyond Texsydo to iterate results earlier.

Repsymo FX

Model Representation

Texsydo FX Prototype currently provides support to render model visualizations of Repsymo.

Repsymo is an Applied MSW that currently solves Operations Research (OR) models, while Texsydo FX Prototype powers their rendering.

Machine Replacement Model
Text

The initial machine age is three years, with a maximum operational lifespan of six years. A new machine costs $100,000.

Solution Space
Where:
  • X-axis is the decisionYear.
  • Y-axis is the machineAge.
Step-by-Step Rendering

The above animations are FHD 9:16 60FPS renderings, and the time per slide is also configurable.

The first visualization showcases the step-by-step general rendering order of the solutions tree, while the second offers a complete visualization of all the rendering steps and model solutions.

Texsydo FX can implement new graphical features quickly to pipe the text or mathematical output of another MSW, like Repsymo, and render it into formal visualizations.

Engineering Specs and Art

DSLs for Domain Experts

The Texsydo FX Prototype is currently experimenting with new graphics APIs based on evolving requirements.

APIs can provide a language to final users, allowing them to document specifications with domain tools like rulers, captions, etc. Further, it enables the creation of art from text using only mathematical definitions, like shapes and equations.

The above animations are 1800p 1:1 60FPS renderings.

The first animation represents a drawing with metrics, while the second builds an artistic drawing with shapes, both step-by-step.

Texsydo FX aims to provide DSLs for domain experts to create formal specifications and mathematical art while its prototypes allow quicker iterations to speed up innovation.