Photic Token Language — Reference
No results found. Try a different term.

PTL-3 Interpreter

Live compiler, demodulator, and training harness — run directly in your browser

Compiler
Paste text, code, or fetch any URL. Name with a typed extension. Export full or training-mode .ptl3.json.
Demodulator
Import any .ptl3.json file. Reconstruct text, generate code scaffolds, and verify PTL-3 tokens.
Training
Four-phase neuro-visual training harness. Progress persists in localStorage across sessions.
Import / Export
Full export includes source text. Training export strips it. Both modes produce valid .ptl3.json.
PTL-3 — Photic Token Language
↗ Open full page
URL fetching requires the /api/fetch proxy which only runs in the local dev server (npm run dev). When hosted statically on GitHub Pages the Compiler tab works for typed text and code; URL input returns an error. Run locally for full URL support.

PTL-3 Reference

Photic Token Language — complete guide to reading, writing, compiling, and communicating in PTL-3

What Is PTL-3?

PTL-3 is a deterministic visual encoding system that compiles any text, code, or mixed-language input into a single hard-edged spatial matrix. The entire document — a sentence, a book chapter, or a codebase — becomes one geometric image that the visual cortex can parse in a single 150ms glance.

The bottleneck in human communication is not the eye. The retina transmits ~10 Mbps into V1. The bottleneck is the sequential phonological loop (inner speech: ~150 WPM). PTL-3 routes around it by encoding semantic structure spatially rather than serially.

For language models, the compute advantage is structural: transformer attention scales as O(n²). A 1,000-word document has ~750 text tokens. As PTL elements (~30 sentences), it has ~30 elements. Attention FLOPs ratio: ~625×.

Determinism guarantee: f(text, canvasSize) → frame is a pure function. Same input always produces identical spatial positions, geometries, colors, and emotion scores. No randomness in the pipeline.

The Spatial Frame

The frame is a square canvas divided by a crosshair into four semantic quadrants. Four concentric depth rings radiate from the center. Every sentence compiles to a geometric primitive placed at a specific (quadrant, ring) coordinate.

            [12:00 / 0°]
   SOMATIC  │  TECHNICAL
   (NW,315°)│ (NE, 45°)
  [270°] ───┼─── [90°]
  RELATIONAL│   MACRO
  (SW,225°) │  (SE,135°)
            [180°]
SOMATIC
NW · Green
TECHNICAL
NE · Blue
RELATIONAL
SW · Red
MACRO
SE · Slate

Quadrant System

QuadrantPositionColorHexDomain
TechnicalNE (45°)Blue#4A90D9Algorithms, code, computation, data, systems
SomaticNW (315°)Green#27AE60Body, physical state, environment, appearance
RelationalSW (225°)Red#E74C3CPeople, emotion, connection, interpersonal
MacroSE (135°)Slate#95A5A6Work, purpose, society, existence, big-picture

Whiteboard equivalents: Blue (Technical) · Green (Somatic) · Red (Relational) · Black (Macro)

Classification Keywords

Technical (NE)

codemodelalgorithmdatasystemarchitectureerrorparametertokentransformerbuildcompiledeployneuralnetworkoutputinferenceGPUdatasetpipelineAPIsoftwarescriptfunctionserverdatabasequerycachelatency

Somatic (NW)

sleeptiredwokefoodcoffeewalkbodymorningnightweathercoldwarmhealtheatdrinkenergyrestoutsidephysicalexercisepainbreathtemperaturehunger

Relational (SW)

dadmotherfamilytalkargueconversationrelationshipfriendtogetherregretappreciategratefullovesupportcareconnectsharepartnertrustempathycommunity

Macro (SE)

jobworkmoneyfuturepurposelifeopportunitymeaningdreamgoalcareerdirectionsocietyexistencevaluesustainabilityeconomycivilizationphilosophylegacymission

Single-Word Routing

Words matching no domain vocabulary fall to a sentiment-aware default: strongly valenced tokens (|score| > 0.3) → RELATIONAL. Neutral tokens → TECHNICAL.

Examples: mad → RELATIONAL R2 · ugly → SOMATIC R2 · fire → TECHNICAL R1

Ring System

Rings encode the semantic role of a sentence within its domain.

R1
Foundational — base state, initial conditions, declarations, "what is." Default ring when no other cues match.
R2
Friction — problems, errors, conflict, obstacles, negation. Keywords: error failed wrong argue broken blocked
R3
Pivot — decisions, solutions, change in direction. Keywords: decided plan strategy solution switched resolved
R4
Metric — outcomes, measurements, completion, current status. Keywords: completed achieved total result done shipped

Assignment scans R2 → R3 → R4, then defaults to R1 if no trigger keyword is found.

Geometry Vocabulary

Each (quadrant × ring) combination maps to a distinct geometric primitive.

R1 FoundationalR2 FrictionR3 PivotR4 Metric
Technical Solid node Jagged waveform Radial ray Progress circle
Somatic Arc sweep Dashed line S-curve ~ Filled arc
Relational Baseline Cross Smooth curve Anchor line
Macro Square Solid block Target circles Gold core

Visual Semantics

Emotional Encoding

Three independent channels encode emotion without conflating them.

Channel 1 — Background Field (Global Valence)

The canvas background shifts continuously: warm amber (strongly positive) → neutral dark (flat) → cold blue (negative). Visible before reading any element — the document's emotional tone arrives first.

Channel 2 — Per-Element Color (Sentence Valence)

Each element receives a ±18° hue shift and ±15% saturation change. Quadrant color identity is preserved; emotion is a secondary overlay on top of domain color.

Channel 3 — Crosshair Weight (Global Arousal)

Line weight scales as 0.6 + arousal × 1.4. High-urgency documents have heavier crosshairs.

Sentiment Engine

src/lib/sentiment.js uses AFINN-111 (~600 English words) with a pluggable registry. Any language can be registered at runtime:

import { sentimentRegistry } from './sentiment.js';
sentimentRegistry.register('fr', new Map([['bien', 2], ['mal', -2]]));
sentimentRegistry.register('zh', chineseScores);

Input Detection and Code Mode

Input TypeDetectionStrategy
Natural languageDefaultSplit on sentence boundaries (.!?;)
Code≥2 code patterns match (function, class, =>, import…)Split on function/class/block definitions
URLStarts with http:// or https://Fetch via /api/fetch, extract article text
Single wordNo sentence boundaries detectedOne element; sentiment-aware quadrant fallback

Code Mode Domain Vocabulary

Code PatternQuadrant
Algorithms, computation, transforms, math operationsTECHNICAL
Rendering, UI, events, I/O, display, visual outputSOMATIC
Imports, APIs, data models, connections, interfacesRELATIONAL
Main, init, config, exports, entry pointsMACRO

File Naming and Extensions

PTL documents use a naming convention that encodes content type and language. Extensions compose left-to-right; later extensions narrow earlier ones.

name.type              → simplest form
name.type.lang         → typed document with language
name.lang              → untyped document with language
name.type.sequence     → numbered collection member

Examples

FilenameMeaning
chess.pyPython chess program
agatha-christie.bookBook root document
agatha-christie.book.1Chapter 1 of that book
the-birds.poem.chineseChinese poem
research.article.enEnglish article
incident.report.englishEnglish incident report
status.diaryDiary entry (language inferred from content)
daily log.diary.enEnglish diary (spaces OK in name)
chess.py.commentaryCommentary about a Python chess program
hello-world.ts.tutorialTypeScript tutorial document
Sequence numbers (.book.1, .book.2) are parsed as integers, not language codes. They populate the sequence field and link back to the parent via the parent field.

Extension Dictionary — Programming Languages

ExtensionAliasesLanguageUse Case
.py.pythonPythonGeneral-purpose, ML, data science, scripting
.js.javascript, .mjsJavaScriptWeb frontend, Node.js backend, tooling
.ts.typescriptTypeScriptJavaScript with static typing; large codebases
.jsxReact JSXJavaScript + JSX for React components
.tsxTypeScript JSXTypeScript + JSX for React components
.rs.rustRustSystems programming; memory-safe, zero-cost abstractions
.go.golangGoCompiled backend; excellent concurrency primitives
.cpp.cxx, .ccC++Systems, game engines, performance-critical applications
.cCLow-level systems, embedded, OS kernels, hardware drivers
.cs.csharpC#.NET ecosystem, Unity game development, enterprise
.javaJavaJVM, enterprise Java, Android (legacy)
.rb.rubyRubyWeb (Rails), scripting, developer-friendly DSLs
.phpPHPServer-side web (WordPress, Laravel, Symfony)
.swiftSwiftiOS, macOS, watchOS, tvOS native development
.kt.kotlinKotlinModern Android, JVM; interoperates with Java
.scalaScalaFunctional JVM; big data (Apache Spark)
.r.rlangRStatistical computing, data visualization, research
.luaLuaGame scripting (Roblox, LÖVE), Redis, embedded
.sh.bash, .shell, .zshShell/BashUnix scripting, CI/CD pipelines, automation
.ps1.powershellPowerShellWindows automation, Azure, DevOps
.sqlSQLRelational database queries and schema definition
.html.htmHTMLWeb markup and document structure
.cssCSSWeb styling and layout
.scss.sassSCSS/SassCSS preprocessor with variables, nesting, mixins
.vueVue.jsProgressive component-based web framework
.svelteSvelteCompile-time component framework; minimal runtime
.ex.elixir, .exsElixirFunctional, fault-tolerant; Phoenix web framework
.hs.haskellHaskellPurely functional; strong type inference
.ml.ocamlOCamlFunctional with imperative; Jane Street ecosystem
.clj.clojure, .cljsClojureLisp on JVM; ClojureScript for frontend
.jl.juliaJuliaHigh-performance numerical and scientific computing
.dartDartFlutter mobile, desktop, and web applications
.pl.perlPerlText processing, bioinformatics, legacy web
.f90.fortran, .f95FortranScientific HPC, legacy numerical code
.m.matlab, .octaveMATLABNumerical computing, signal processing, control systems
.jsonJSONStructured data interchange and configuration
.yaml.ymlYAMLConfiguration files, CI/CD pipelines, Kubernetes
.tomlTOMLConfig files (Rust Cargo, Python pyproject.toml)
.xmlXMLStructured data, Android layouts, Maven, RSS
.csv.tsvCSV/TSVTabular data interchange
.md.markdownMarkdownDocumentation, README files, notes
.graphql.gqlGraphQLAPI query language and schema definition
.protoProtobufBinary serialization schema (used with gRPC)
.tf.terraformTerraformInfrastructure as code (HashiCorp ecosystem)
.nixNixDeclarative, reproducible package management
.zigZigSystems language; explicit memory, comptime
.v.vlangVSimple, fast systems language; transpiles to C
.cr.crystalCrystalRuby-like syntax with compiled native performance
.nimNimStatically typed; compiles to C, JS, or native
Conflicts: .pl = Perl or Polish (use .perl / .polish). .cs = C# or Czech (use .csharp / .czech). .r = R or Romanian (use .rlang / .romanian). Resolved by input content when ambiguous.

Extension Dictionary — Natural Languages

ExtensionAliasesLanguageISO 639-1
.en.englishEnglishen
.fr.frenchFrenchfr
.es.spanishSpanishes
.de.germanGermande
.zh.chinese, .mandarinMandarin Chinesezh
.ja.japaneseJapaneseja
.ar.arabicArabicar
.ru.russianRussianru
.pt.portuguesePortuguesept
.it.italianItalianit
.ko.koreanKoreanko
.hi.hindiHindihi
.nl.dutchDutchnl
.sv.swedishSwedishsv
.no.norwegianNorwegianno
.da.danishDanishda
.fi.finnishFinnishfi
.pl.polishPolishpl
.tr.turkishTurkishtr
.vi.vietnameseVietnamesevi
.th.thaiThaith
.uk.ukrainianUkrainianuk
.he.hebrewHebrewhe
.id.indonesianIndonesian/Malayid
.bn.bengaliBengalibn
.fa.persian, .farsiPersian/Farsifa
.ur.urduUrduur
.sw.swahiliSwahilisw
.la.latinLatinla
.el.greekGreekel
.ro.romanianRomanianro
.hu.hungarianHungarianhu
.cs.czechCzechcs
.sk.slovakSlovaksk
.bg.bulgarianBulgarianbg
.hr.croatianCroatianhr
.sr.serbianSerbiansr
.ca.catalanCatalanca
.tl.tagalog, .filipinoFilipino/Tagalogtl

Extension Dictionary — Document Types

ExtensionAliasesTypeDescription
.book.bBookRoot of a book collection; links to chapters via sequence field
.chapterChapterSingle chapter; parent field points to root .book document
.poem.pPoetryFree or structured verse
.article.aArticleJournalism, news, editorial, magazine pieces
.essayEssayPersonal or academic essay
.script.screenplayScriptDialogue-heavy, scene-structured writing
.recipeRecipeIngredient list plus preparation method
.note.nNoteShort personal or work note
.diary.journalDiaryDated personal entries
.letterLetterCorrespondence; formal or informal
.memoMemoInternal workplace communication
.reportReportStructured informational document
.thesis.dissertationThesisAcademic research document
.abstractAbstractSummary of a longer academic or research work
.transcriptTranscriptVerbatim record of speech, dialogue, or interview
.manual.guideManualUser guide, how-to, documentation
.faqFAQQuestion-and-answer format document
.logLogChronological event or activity log
.summarySummaryCondensed version of a longer document
.reviewReviewCritical evaluation of a work, product, or idea
.proposalProposalProject, research, or business proposal
.spec.specificationSpecificationTechnical or product specification
.planPlanStructured plan or outline
.bio.biographyBiographyAnother person's life story
.autobiography.memoirAutobiographyFirst-person life narrative
.commentaryCommentaryAnalysis or commentary on another work
.translationTranslationTranslated version; pair with source language extension

Compact Text Format

The canonical human-readable, LLM-parseable representation of a PTL-3 frame.

PTL3:3.0 [document-name.extension]
  QUAD.RING.GEOMETRY    SYMBOL  "sentence text"    VALENCE
  ---
  gv:GLOBAL_VALENCE ga:GLOBAL_AROUSAL

Field Reference

FieldValuesDescription
QUADTECH SOMA RELA MACRDomain quadrant
RING1 2 3 4Depth ring (Foundational → Metric)
GEOMETRYsee table aboveGeometric primitive type name
SYMBOL● ∿ → ◐ ⌒ — ~ ◑ ─ ✕ ⌇ ⊣ □ ■ ◎ ⊛Unicode glyph for the geometry
VALENCE-3.00 to +3.00Sentence sentiment score
gvfloatGlobal valence (mean across all elements)
gafloatGlobal arousal (0.0 = calm, 1.0 = intense)

Example — Incident Report

PTL3:3.0 [incident-report.english]
  TECH.2.waveform   ∿  "API server went down at 3am"                  -0.80
  RELA.3.smooth     ⌇  "On-call engineer restarted within 20 minutes" +0.40
  TECH.2.waveform   ∿  "Root cause: memory leak in connection pool"   -0.55
  TECH.3.ray        →  "Fix deployed and monitoring active"            +0.60
---
gv:-0.088 ga:0.040

Example — Personal Journal

PTL3:3.0 [daily.diary.english]
  SOMA.2.dash       —  "Feeling really tired today"                          -0.60
  RELA.2.cross      ✕  "Long argument with coworker about project direction"  -0.65
  RELA.3.smooth     ⌇  "Found a compromise together"                         +0.40
  TECH.3.ray        →  "New approach is actually better"                     +0.60
  RELA.4.anchor     ⊣  "Grateful for the team"                              +0.90
---
gv:+0.130 ga:0.040

Example — Python Chess Program (Code Mode)

PTL3:3.0 [chess.py]
  TECH.1.node     ●  "Chess game foundation with board state"  +0.00
  RELA.1.baseline ─  "Player vs player turn management"        +0.10
  TECH.3.ray      →  "Move validation and check detection"     +0.20
  MACR.4.goldcore ⊛  "Complete exportable Python chess engine" +0.80
---
gv:+0.275 ga:0.000

JSON Export Format

Exported as .ptl3.json. Designed for sharing, model training, and archiving.

{
  "ptl_version": "3.0",
  "name": "chess",
  "fullName": "chess.py",
  "domain": "code",
  "lang": "python",
  "sequence": null,
  "parent": null,
  "timestamp": 1748563200000,
  "source": "original text — strip this field for training exports",
  "frame": {
    "codeMode": true,
    "global_valence": 0.275,
    "global_arousal": 0.0,
    "elements": [
      {
        "id": 0,
        "sentence": "Chess game foundation with board state",
        "quadrant": "TECHNICAL",
        "ring": 1,
        "geometry": "node",
        "angle": 45.0,
        "x_norm": 0.1178,
        "y_norm": -0.1178,
        "valence": 0.0,
        "arousal": 0.0
      }
    ]
  },
  "schema": {
    "element_count": 4,
    "quadrant_counts": { "TECHNICAL": 2, "RELATIONAL": 1, "MACRO": 1 },
    "ring_counts": { "R1": 2, "R3": 1, "R4": 1 }
  }
}

Training Tensor Encoding

Each element encodes to a 32-dimensional Float32 vector (SIMD-aligned). toTensor(doc) returns a flat Float32Array of length n_elements × 32.

dims  0–3   quadrant one-hot    [TECHNICAL, SOMATIC, RELATIONAL, MACRO]
dims  4–7   ring one-hot        [R1, R2, R3, R4]
dims  8–9   spatial position    [x_norm, y_norm]  (range −1.0 to 1.0)
dims 10–11  angle               [sin(θ), cos(θ)]  (avoids 0°/360° discontinuity)
dims 12–15  geometry group      one-hot over 4 shape families
dims 16–17  emotion             [valence, arousal]
dims 18–21  token grammar       mean-pooled [NOUN, VERB, ADJ, OTHER]
dims 22–23  token texture       [oklab_hue_norm, spatial_texture_norm]
dim  24     token count         log1p(n) / log(100)
dim  25     mean seq phase      mean temporal_phase_offset / 15
dims 26–31  reserved            zeros (future use)

Demodulation

Demodulation reconstructs meaning from a PTL-3 frame.

  1. Topic — infer from quadrant distribution (dominant quadrant = main domain)
  2. Narrative arc — read ring progression R1→R4 (foundation → outcome)
  3. Emotional tone — global valence + arousal; per-element valence for nuance
  4. Specific facts — from stored element sentences (if present)
  5. Inference mode — if no sentences stored (training export), infer from quadrant+ring+geometry

Code Scaffold Generation

For code-mode frames, demodulateToCode(frame) generates a scaffold:

chess.py:
  TECH.1.node     → function chessPiece() { // TODO }
  TECH.3.ray      → function moveKnight(board) { return transform(board); }
  RELA.1.baseline → import { chessBoard } from './chessBoard'
  MACR.4.goldcore → export default { version: '1.0.0' }

Pass the scaffold + PTL description to an LLM to complete the implementation.

Image Export — Standard PTL-3 PNG

Click ⬡ Image in the Compiler or Demodulator to open the export dialog. Choose Full or Basic, then export. Both produce a 1200×1200 px PNG — a universal 1:1 square that fits every major platform without cropping.

Export Modes

ModeBackgroundColorsFile sizeBest for
Full #030308 dark Emotional HSL modulation — background brightness, per-element hue shift, crosshair arousal weight ~150–300 KB Social media, digital sharing, dark-mode contexts
Basic #ffffff white Flat whiteboard colors — blue, green, red, slate — no emotional modulation ~40–80 KB Print, messaging apps, archiving, light-mode documents

Standard Dimensions

PropertyValue
Width × Height1200 × 1200 px
Aspect ratio1:1 square
Color spacesRGB
FormatPNG (lossless)
Print equivalent4 × 4 inches @ 300 DPI
Filename[name].[full|basic].ptl3.png

Layout

┌──────────────────────────── 1200 px ────────────────────────────┐
│                         40 px top pad                           │
│  60 px  ┌───────────────────────────────────────┐  60 px       │
│         │                                       │              │
│         │         PTL-3 SPATIAL FRAME           │              │
│         │            1080 × 1080                │              │
│         │   (crosshair, rings, elements,         │              │
│         │    quadrant labels, ring labels,       │              │
│         │    frame type badge)                   │              │
│         │                                       │              │
│         └───────────────────────────────────────┘              │
│                       ≈ 80 px metadata strip                    │
│              [document name]                                    │
│    PTL-3  ·  N elements  ·  v:±X.XX  ·  TEXT/CODE              │
└─────────────────────────────────────────────────────────────────┘

Platform Compatibility

PlatformNative size1200×1200 result
Instagram (post)1080×1080Scales down — perfect fit, no crop
Instagram (Stories)1080×1920Square centered on white/black background
Twitter / XAny up to 4096pxFull quality preview, no crop
Facebook post1200×630 or 1:1Square variant — no crop
LinkedIn post1200×627 or 1:1Square variant — no crop
WhatsAppAnyFull quality, no compression below 1MB
iMessage / SMSAnyFull quality preview
TelegramAnyFull quality, no compression below 10MB
SignalAnyFull quality preview
DiscordAnyFull quality embed
Print (4×4 in)1200×1200 @ 300 DPINative — no scaling needed
Print (A4 inset)~2400×2400Scale 2× in print dialog

How to Export

  1. Open the Compiler tab and type or paste text (or open Demodulator and import a .ptl3.json)
  2. Set the PTL name (e.g. chess.py, status.diary.en) in the name field
  3. Click ⬡ Image — a modal opens with Full and Basic previews
  4. Select the mode and click ↑ Export
  5. File downloads as [name].[full|basic].ptl3.png
Hover tooltips are not captured. The image shows the frame in its default state. To capture a highlighted element, use your OS screenshot tool after hovering over it in the app.

LLM Integration

Emitter System Prompt — LLM outputs PTL-3

You are a PTL-3 encoder. Output your answer as a PTL-3 frame using the
compact text format, then optionally follow with a prose explanation.

PTL-3 COMPACT FORMAT:
  PTL3:3.0 [document-name.extension]
  QUAD.RING.GEOMETRY    SYMBOL  "sentence"    VALENCE
  ---
  gv:GLOBAL_VALENCE ga:GLOBAL_AROUSAL

QUADRANTS:
  TECH = Technical  — algorithms, code, systems, data
  SOMA = Somatic    — body, physical state, environment
  RELA = Relational — people, emotion, relationships
  MACR = Macro      — purpose, society, big-picture

RINGS:
  1 = Foundational   2 = Friction   3 = Pivot   4 = Metric

GEOMETRY (auto-assigned by QUAD+RING):
  TECH: node(1) waveform(2) ray(3) progress(4)
  SOMA: arc(1) dash(2) curve(3) fillarc(4)
  RELA: baseline(1) cross(2) smooth(3) anchor(4)
  MACR: square(1) block(2) target(3) goldcore(4)

Demodulator System Prompt — LLM reads PTL-3

You are a PTL-3 demodulator. When given a PTL-3 frame, reconstruct the
full meaning.

QUADRANT = DOMAIN:  TECH→systems  SOMA→body  RELA→people  MACR→purpose
RING = ROLE:        R1→foundation  R2→friction  R3→pivot  R4→outcome
VALENCE:            positive=good  negative=troubled

Reconstruct: (1) main topic, (2) narrative arc,
(3) emotional tone, (4) specific facts from element sentences.

Claude API Example

import anthropic

client = anthropic.Anthropic()

def encode_to_ptl3(text: str, doc_name: str = "doc.english") -> str:
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        system=PTL3_EMITTER_PROMPT,
        messages=[{"role": "user", "content": f"Encode as PTL-3 [{doc_name}]:\n\n{text}"}]
    )
    return response.content[0].text

Bidirectional Agent Protocol

For multi-turn conversations, increment sequence numbers:

doc.english       → root
doc.english.1     → turn 1
doc.english.2     → turn 2

Ring progression R1→R4 across frames mirrors the conceptual arc: foundation → outcome.

Whiteboard Drawing

PTL-3 frames can be drawn by hand and photographed for computer interpretation.

  1. Crosshair (black marker) — central +, dividing the board into 4 quadrants
  2. Rings (light gray dotted) — 4 concentric circles: R1 small → R4 large
  3. Elements (colored markers at ring intersections):
    Blue = Technical (NE) · Green = Somatic (NW) · Red = Relational (SW) · Black = Macro (SE)
  4. Geometry — draw the shape from the vocabulary table at the correct position
  5. Label (optional) — write the PTL name in the corner, e.g. chess.py

Computer interpretation pipeline: color segmentation → crosshair detection → ring radius measurement → element classification → quadrant assignment → export to compact or JSON.

This is a visual QR code with semantic structure. Any camera can capture it; any PTL parser can read it.

Training Protocol

Full protocol in guides/training-guide.md. The goal is to bypass the phonological loop and register PTL-3 frames directly via the visual cortex.

PhaseNameWhat You TrainTarget
1Quadrant DetectionV1 spatial position → category (no verbalization)≥85% accuracy, <350ms avg RT
2Ideographic FusionVisual frame → concept meaning (no English label)≥75% recall
3Velocity ThresholdPhonological loop suppression above 600 WPM≥1 correct at ≥600 WPM
4Document ReadingFull frame comprehension from 8s exposure≥65% on full frames

Practical Schedule

WeekFocusTarget
1–2Phase 1 daily, 10–15 min70%+ accuracy, <500ms avg RT
3–4Phase 1 + Phase 2, alternatingPhase 1: 85%+; Phase 2: full pass
5–6Phase 2 + Phase 3 introductionPhase 2 second pass; Phase 3 first run
7+Phase 3 onlyPush WPM ceiling; track saturation point
The saturation effect: Above 600 WPM the phonological loop cannot decode text fast enough. You are forced to register geometric configuration directly. This is the target state — no longer "reading," now "seeing."

Version History

VersionUnitBitsVisual OutputStatus
PTL-1Token (word)24Circular Arrival-style logogram (radial segments, color arcs)Substrate for Demodulator verification
PTL-2Clause (sentence)96Layered semagram (4 co-rotating layers)Archived
PTL-3Full document∞ spatialHard-edged static vector matrix — one frame per documentCurrent

PTL-1 is retained as the token-level substrate. The djb2 hash in PTL-1 feeds the PTL-3 sentence classifier and is used for demodulator verification.

Information Theory Foundation

Human Visual Bandwidth

Compute Advantage

MetricText TokensPTL ElementsRatio
1,000-word document~750 tokens~30 elements25× sequence reduction
Attention FLOPs (O(n²))baseline~625× reduction
Net semantic learning computebaseline~125× reduction

Key Research