OpenGraph · JaN · Open Notation

OpenGraph Lite Viewer v3.1.0-rc.10

Top menu with Test material, Grammar, Projections, LOG order, Language, README and Config.

Grammar
LEX · West
PresentatiePresentation
90°
0° · woordrij90° · letterkolom
Automatisch per testitem
Sleep of draai de knop. Labels, boom en assen passen zich direct aan.Drag or turn the dial. Labels, tree and axes adjust immediately.
Uiting
Groei uit
English
Config

Configuration overview

Opslaan & exporteren opent als eerste. Download hier de graph, LinkedIn-afbeelding of Play-video; onder Beeld blijven Boomruimte en Venstervulling op MAX staan.

LEESMIJREADME

Zes stappenSix steps

Kies links een stap. Sleep de scheiding om meer ruimte voor de tekst te maken.Choose a step on the left. Drag the divider to give the text more room.

Open Graph Notation begint met vrije plaatsing

OGN schrijft knopen één voor één op een open grid. Iedere knoop bezit zijn eigen horizontale en verticale gridlijn.

Harde regel — A ≠ B: verschillende knopen delen nooit een rij of kolom: A ≠ B ⇒ x(A) ≠ x(B) én y(A) ≠ y(B). Zonder geldige plek verschijnt geen fallbackknoop.

Een ruleset bepaalt wat geldig is; een zoekstrategie bepaalt welke vrije plaats eerst wordt geprobeerd.

De vaste volgorde is: 1 · OGN Free Placement, 2 · OGN Projection, 3 · OGN Calculated Placement. Directe plaatsing en berekende plaatsing blijven afzonderlijke werkwijzen.

Open Graph Notation starts with free placement

OGN writes nodes one at a time on an open grid. Every node owns its horizontal and vertical grid line.

Hard rule — A ≠ B: distinct nodes never share a row or column: A ≠ B ⇒ x(A) ≠ x(B) and y(A) ≠ y(B). Without a valid position, no fallback node is rendered.

A rule set determines validity; a search strategy determines which free position is tried first.

The fixed order is: 1 · OGN Free Placement, 2 · OGN Projection, 3 · OGN Calculated Placement. Direct placement and calculated placement remain separate methods.

Open Graph Notation

Open Graph Notation is in de eerste plaats een algemene notatie voor knopen op een open grid. Iedere knoop bezit één horizontale en één verticale gridlijn. Knopen worden één voor één op vrije plaatsen geschreven.

Eerste laag · OGN Free Placement. Een ruleset bepaalt welke vrije plaatsen geldig zijn; een zoekstrategie bepaalt de testvolgorde. De eerstgevonden geldige plek wordt direct geschreven.

Tweede laag · OGN Projection. Een reeds geplaatste bronknoop kan daarna naar een as of afgeleide ruimte projecteren. De bronplaatsing blijft intact.

Derde laag · OGN Calculated Placement. Een uitbreiding mag vooraf een compleet plaatsingsplan berekenen. Dat is een andere werkwijze dan directe plaatsing.

Open Graph Notation

Open Graph Notation is first of all a general notation for nodes on an open grid. Every node owns one horizontal and one vertical grid line. Nodes are written one at a time into free positions.

First layer · OGN Free Placement. A rule set determines which free positions are valid; a search strategy determines the test order. The first valid position found is written immediately.

Second layer · OGN Projection. A placed source node may then project to an axis or derived space. Its source position remains intact.

Third layer · OGN Calculated Placement. An extension may calculate a complete placement plan in advance. This is a different method from direct placement.

1 · OGN Free Placement

Een knoop gebruikt één vrije horizontale en één vrije verticale gridlijn en is op beide de enige knoop: iedere knoop is baas op zijn eigen gridlijnen.

OGN schrijft een volgende knoop pas nadat de bestaande bezetting bekend is. De ruleset bepaalt welke vrije posities geldig zijn; de zoekstrategie test kandidaten in een bepaalde volgorde. De eerstgevonden geldige plaats wordt direct onderdeel van de graph.

Een vrije positie is niet automatisch geldig. Vrijheid volgt uit de gridlijnen; geldigheid volgt uit de actieve ruleset.

1 · OGN Free Placement

A node uses one free horizontal and one free vertical grid line and is the only node on both: every node owns its grid lines.

OGN writes the next node only after current occupancy is known. The rule set determines which free positions are valid; the search strategy tests candidates in a chosen order. The first valid position found becomes part of the graph immediately.

A free position is not automatically valid. Freedom follows from grid-line occupancy; validity follows from the active rule set.

2 · OGN Projection

Projectie komt pas nadat de bronknoop op het centrale grid is geschreven.

Een projectie verbindt een bronknoop met een positie op een veronderstelde as. De bronknoop blijft staan; de projectie toont een andere lezing of ordening.

Horizontale projecties lopen naar een west-as. Verticale of zuidelijke projecties lopen naar een zuid-as. In de algemene notatie hebben die assen nog geen specifieke naam of domeininhoud.

De punten op de assen heten projectiemerkers. Zij zijn geen nieuwe bronknopen, maar asposities die door projectie ontstaan.

2 · OGN Projection

Projection begins only after the source node has been written on the central grid.

A projection connects a source node to a position on an assumed axis. The source node remains in place; the projection shows another reading or ordering.

Horizontal projections run to a west axis. Vertical or southern projections run to a south axis. In the general notation, these axes do not yet have a specific name or domain content.

The points on the axes are called projection markers. They are not new source nodes, but axis positions created by projection.

Zoekstrategieën en Greedy Grow

Open Graph Notation is bij directe plaatsing een volgordelijk schrijfproces: bezetting lezen → vrije plaatsen bepalen → ruleset toepassen → kandidaten in zoekvolgorde testen → eerstgevonden geldige plek direct schrijven.

Een andere zoekvolgorde kan vanuit hetzelfde startpunt een ander groeipad en eindbeeld opleveren.

Greedy Grow · geaccepteerde reconstructie. De historische vierarmige volgorde reproduceert de bewaarde demo's van 12, 31 en 96 knopen exact. Iedere stap schrijft direct één dot; er wordt geen toekomstig eindbeeld opgeslagen. Vier teruggevonden experimentele zoekvolgorden maken andere groeibeelden vergelijkbaar. De gemeten veldomtrek is diagnostiek, geen bewezen wereldwijd optimum.

Open de bedienbare Greedy Grow-reconstructie. Publicatieslide 5 wordt rechtstreeks uit dezelfde engine afgeleid. Geaccepteerd op 2 augustus 2026.

Search Strategies and Greedy Grow

In direct placement, Open Graph Notation is a sequential writing process: read occupancy → determine free positions → apply the rule set → test candidates in search order → write the first valid position found immediately.

Another search order may produce another growth path and final picture from the same start.

Greedy Grow · accepted reconstruction. The historical four-arm order exactly reproduces the preserved 12-, 31- and 96-node demos. Every step writes one dot immediately; no future layout is stored. Four recovered experimental search orders make different growth pictures comparable. The measured field perimeter is diagnostic, not a proven global optimum.

Open the interactive Greedy Grow reconstruction. Publication slide 5 is derived directly from the same engine. Accepted on 2 August 2026.

Random · Config en iteraties

Config is strikt gescheiden in Algemeen, Calculated → Language Tree en Direct → Gedeeld / Greedy Grow / Random. Algemeen bevat uitsluitend toepassingsonafhankelijke interface-, LEESMIJ- en bestandsinstellingen; Voorconfig, boom, voorbeelden, LEX, SYNT en LOG staan alleen bij Language Tree. Per context zijn niet-relevante instellingen no-show. Open je Config vanuit actieve Greedy Grow of Random, dan is ook de toepassingsbalk no-show: alleen Terug naar Main, de eigen velden met Uitleg en Config opslaan blijven zichtbaar. Kies een andere toepassing eerst in Main.

Seed is de reproduceerbare startcode van de toevalsreeks, van 1 t/m 4.294.967.295. 20260802 is alleen de herkenbare datum 2 augustus 2026. Een groot getal geeft niet meer toeval en maakt Play niet sneller. Dezelfde seed, programmaversie, Random-model, plaatsing, gridgrootte en runlengte leveren dezelfde reeks. Resetbeleid bepaalt of Reset opnieuw bij de ingestelde seed begint of met een volgende vaste startseed.

Random-model staat standaard op Uniform v1.0. Onzuiver uniform v0.1 · hit-herhaling mengt 80% uniforme kans met 20% voorkeur voor asplekken die in voltooide eerdere rondes vaker zijn geraakt. Ronde 1 is uniform. De harde unieke rij- en kolomregel blijft gelden.

Plaatsing staat standaard op Ergens in beschikbare ruimte: iedere stap kiest direct een vrije rij en kolom ergens binnen de hele beschikbare rechthoek. Compact, Gebalanceerd en Ruim blijven alternatieven.

Gridgrootte staat standaard op Interface. De viewer maakt bij het begin van een iteratieset een vaste rechthoek met de beeldverhouding van de beschikbare interface en genoeg unieke rijen en kolommen voor alle knopen. Na een vensterdraai of resize neemt Reset de nieuwe interfacemaat over. Vast grid gebruikt expliciete kolommen en rijen; te kleine waarden worden verhoogd tot het aantal knopen. Inhoud · groeiend veld behoudt het oudere meegroeigedrag.

Snelheid is uitsluitend de wachttijd tussen zichtbare knoopplaatsingen. Zij gebruikt dezelfde Play-klok als Algemeen en verandert seed, toevalsreeks en posities niet.

Hoe vaak bepaalt het aantal complete runs in één iteratieset. Impact op west- en zuidas staat uit, toont bezettingskans (telling ÷ iteraties) of toont een relatief patroon (telling ÷ hoogste telling).

Projectie-hits verschijnen pas na een voltooide ronde. Iedere gebruikte rij geeft één hitspot op WEST en iedere gebruikte kolom één hitspot op SOUTH. Raakt een latere ronde dezelfde coördinaat opnieuw, dan wordt die spot donkerder en zwaarder. Reset wist de opgebouwde hits; Previous neemt een ronde weer uit het asbeeld zodra die ronde niet meer compleet is. Er worden dus geen toekomstige rondes vooraf getekend.

Voorspelling: uniforme Random heeft geen voorkeur voor centrum of rand. Over veel rondes wordt het hitbeeld daarom vrijwel egaal. Onzuiver v0.1 kan toevallige vroege verschillen licht versterken en levert bij één vaste seedreeks doorgaans meer ascontrast. Over veel onafhankelijke seeds blijft de verwachting symmetrisch. Heeft een as precies genoeg lijnen voor alle knopen, dan raakt iedere niet-centrale asplek in iedere ronde en kan ook v0.1 daar geen patroon maken.

Volgende versies: v0.2 reserveert instelbare herhaalsterkte; v0.3 een instelbaar geheugenvenster. Zij blijven no-show totdat engine, opslag, Help en controles werkelijk functioneel zijn.

Play loopt automatisch door alle ingestelde iteraties. Next schrijft één volgende knoop en gaat na de laatste knoop van een run door naar de volgende iteratie. Previous gaat binnen de run één knoop terug; vanaf de centrale startknoop keert het terug naar het complete beeld van de vorige iteratie. Reset begint opnieuw bij iteratie 1 volgens het gekozen resetbeleid.

De voortgang staat in Main als iteratie n/totaal · knoop n/totaal. De centrale startknoop telt niet mee in het asbeeld.

Random · Config and iterations

Config is strictly separated into General, Calculated → Language Tree, and Direct → Shared / Greedy Grow / Random. General contains only application-independent interface, README, and file settings; pre-config, tree, examples, LEX, SYNT, and LOG exist only under Language Tree. Irrelevant settings are no-show within each context. When Config is opened from active Greedy Grow or Random, the application bar itself is no-show: only Back to Main, the method's own fields with Explanation, and Config save remain visible.

Seed is the reproducible starting code of the random sequence, from 1 through 4,294,967,295. 20260802 is merely the memorable date 2 August 2026. A large number is not more random and does not make Play faster. The same seed, program version, Random model, placement, grid size and run length produce the same sequence. Reset policy determines whether Reset starts again from the configured seed or from a next fixed starting seed.

Random model defaults to Uniform v1.0. Impure uniform v0.1 · hit repetition mixes an 80% uniform chance with a 20% preference for axis positions hit more often in completed earlier rounds. Round 1 is uniform. The hard unique-row-and-column rule remains in force.

Placement defaults to Anywhere in available space: every step directly chooses an unused row and column anywhere within the full available rectangle. Compact, Balanced and Wide remain alternatives.

Grid size defaults to Interface. At the start of an iteration set, the viewer creates a fixed rectangle with the aspect ratio of the available interface and enough unique rows and columns for all nodes. After rotating or resizing the window, Reset adopts the new interface size. Fixed grid uses explicit columns and rows; values that are too small are raised to the node count. Content · growing field retains the previous growing behaviour.

Speed is only the delay between visible node placements. It uses the same Play clock as General and does not change the seed, random sequence or positions.

How often determines the number of complete runs in one iteration set. Impact on west and south axes is off, shows occupancy chance (count ÷ iterations), or shows a relative pattern (count ÷ highest count).

Projection hits appear only after a completed round. Every used row adds one hit spot on WEST and every used column adds one hit spot on SOUTH. When a later round hits the same coordinate again, that spot becomes darker and heavier. Reset clears accumulated hits; Previous removes a round from the axis image as soon as that round is no longer complete. Future rounds are never drawn in advance.

Prediction: uniform Random has no preference for the centre or edge. Across many rounds, the hit image should therefore approach an even distribution. Impure v0.1 can mildly reinforce early chance differences and usually creates more axis contrast for one fixed seed series. Across many independent seeds, the expectation remains symmetric. If an axis has exactly enough lines for all nodes, every non-central axis position is hit in every round and even v0.1 cannot create a pattern there.

Next versions: v0.2 reserves configurable repetition strength; v0.3 a configurable memory window. They remain no-show until engine, storage, Help and checks are genuinely functional.

Play automatically continues through all configured iterations. Next writes one next node and crosses to the next iteration after the final node of a run. Previous removes one node within a run; from the central start node it returns to the completed picture of the previous iteration. Reset starts again at iteration 1 according to the selected reset policy.

Main shows progress as iteration n/total · node n/total. The central starting node does not count towards the axis image.

3 · OGN Berekende Plaatsing

Een berekende toepassing maakt eerst een plaatsingsplan en schrijft het resultaat daarna volgens de OGN-kern. De huidige Two-Pass Language Tree is één zo'n toepassing, niet het beginpunt van OGN.

Structurele plaatsing: de boom plaatst knopen en complete subtrees op het HOR/VER-celgrid. Die gridposities blijven leidend.

Visuele meting: daarna meet een tweede bottom-up pass per subtree de nodevormen, labels, afstammelingen, caption en marge. Deze uitkomst bepaalt de zichtbare subtree-box. Daardoor kan NP → HOND smaller zijn dan VP.

Belangrijke grens: de gemeten pixelmaat verplaatst in rc.42 nog geen knopen naar andere gridcellen. Dit is dus recursieve boxmeting, nog geen algemene botsings- of herplaatsingssolver.

Assen: LEX gebruikt links de gemeten rootrand en rechts alleen actieve slots en Wissellanes. SYNT gebruikt één gezamenlijke structurele Syntax/Functional-grid-envelop; de volledige regelboxen tellen daarna mee voor het zichtvenster.

Portret: de complete horizontale compositie benut de breedte, maar kan klein blijven en verticale witruimte overlaten. Pan/zoom blijft beschikbaar; een gestapelde portretvariant is een afzonderlijke toekomstige layoutkeuze.

3 · OGN Calculated Placement

A calculated application creates a placement plan first and then writes the result according to OGN Core. The current Two-Pass Language Tree is one such application, not the OGN starting point.

Structural placement: the tree places nodes and complete subtrees on the HOR/VER cell grid. Those grid positions remain authoritative.

Visual measurement: a second bottom-up pass then measures each subtree from node shapes, labels, descendants, caption and padding. This result determines the visible subtree box, allowing NP → HOND to be narrower than VP.

Important boundary: in rc.42 the measured pixel size does not move nodes to other grid cells. This is recursive box measurement, not yet a general collision or repacking solver.

Axes: LEX uses the measured root edge on the left and only active slots and movement lanes on the right. SYNT uses one shared structural Syntax/Functional grid envelope; complete rule boxes are then included in the viewport.

Portrait: the complete horizontal composition uses the available width, but can remain small and leave vertical whitespace. Pan/zoom remains available; a stacked portrait variant is a separate future layout decision.

Uitingen en anaforen

Een uiting bestaat uit één of meer gekoppelde kernzinnen. Iedere kernzin blijft afzonderlijk een geldige OGN.

In Ik zie een man. Hij draagt een hoed. is MAN het antecedent en HIJ de anafoor. De complete bomen blijven star; alleen de tweede boom schuift totdat MAN en HIJ één kolom delen.

LEX ordent de gerealiseerde woorden. Flip spiegelt een boom alleen wanneer meerdere verticale anafoorrelaties dat vereisen.

Uiting en kernzinnen · Multi-OGN en anaforen

Utterances and anaphors

An utterance consists of one or more linked kernel clauses. Each kernel clause remains a valid OGN in its own right.

In I see a man. He wears a hat., MAN is the antecedent and HE the anaphor. Both complete trees remain rigid; only the second tree shifts until MAN and HE share one column.

LEX orders the realized words. Flip mirrors a tree only when multiple vertical anaphor relations require it.

Utterances and kernel clauses · Multi-OGN and anaphors

Flip · meervoudige DS, vrije boom en uiteindelijke LEX

Begin eenvoudig: één werkwoordcluster kan als IS GEWEEST of GEWEEST IS worden gerealiseerd. Dezelfde categorieën en knopen blijven bestaan; Flip kiest een toegestane takgeometrie en, alleen bij een expliciet lineariserende cluster, de bijbehorende LEX-volgorde.

Minimale Language Tree met links-rechts en kort-lang Flip

OGL heeft een meervoudige DS. Een uiting kan uit meer dan één kernzin bestaan. Iedere kernzin is een zelfstandige Language Tree. De DS bewaart de kernzinnen én hun mogelijke volgordes; de verticale tekenvolgorde en de uiteindelijke LEX-volgorde worden afzonderlijk bewaard. Zo kunnen onder meer omdat de hond …, beloont de man … en de man beloont … omdat de hond … uit dezelfde gekoppelde kernzinnen worden gerealiseerd zonder de bomen tot woordvolgorde te reduceren.

Bij anaforen is Flip essentieel. De terugbrengvariant gebruikt K1 JAN BELOONT HOND en K2 HOND BRENGT BOT NAAR MAN. Flip houdt HOND–HOND en JAN–MAN verticaal; LEX realiseert die bronnen bijvoorbeeld als DIE en HEM. De apporteervariant is afzonderlijk: HOND APPORTEERT BOT, zonder “naar hem” en zonder MAN-relatie.

Vrije schuine vertakkingen voor en na Flip

PLAY maakt het omslagpunt zichtbaar: K2 verschijnt eerst vóór Flip; in de aparte Flip-stop blijft de oude boom vaag staan, verschijnt de nieuwe boom vol, tonen stippellijnen de verplaatsing en flitsen de werkelijk verplaatste knopen. Standaard pauzeert PLAY hier. Ga verder met Play of . Config biedt ook flash (1,2 s) en houd vast (3 s).

LEX is het uiteindelijke resultaat: bijvoorbeeld Jan beloonde zijn hond Jek omdat die het bot naar hem terugbracht. DS-volgorde, boom-links/rechts en LEX-woordvolgorde zijn dus drie verschillende eigenschappen.

Language Tree met LEX SYN LOG en Flip

Flip · plural DS, free tree, final LEX

Start simple: one verb cluster may surface as IS GEWEEST or GEWEEST IS. Categories and node identities stay intact; Flip selects permitted branch geometry and, only for an explicitly linearizing cluster, its corresponding LEX order.

Minimal Language Tree with left-right and short-long Flip

OGL has a plural DS. An utterance may contain several independent kernel-clause Language Trees. DS stores those clauses and their possible orders; vertical drawing order and final LEX order are stored separately. Thus omdat de hond …, beloont de man … and de man beloont … omdat de hond … can be realized from the same linked clauses.

Flip is essential for anaphors. The return variant uses K1 JAN BELOONT HOND and K2 HOND BRENGT BOT NAAR MAN. Flip keeps HOND–HOND and JAN–MAN vertical; LEX may realize them as DIE and HEM. The fetch variant is separate: HOND APPORTEERT BOT, without “naar hem” and without a MAN relation.

Free branches before and after Flip

PLAY exposes the exact event: K2 first appears before Flip. At the dedicated Flip stop the prior tree remains faint, the result is solid, dotted guides show movement, and moved nodes flash. PLAY pauses here by default; continue with Play or . Config also offers flash (1.2 s) and hold (3 s).

LEX is the final result. DS order, tree left/right placement, and LEX word order are three distinct properties.

Language Tree with LEX SYN LOG and Flip

West-as

De west-as is de veronderstelde as links van het centrale grid. Een knoop kan horizontaal naar deze as projecteren.

De projectiemerker op de west-as behoudt de hoogte van zijn bronknoop, tenzij een named projection later eigen plaatsingsregels activeert.

West axis

The west axis is the assumed axis to the left of the central grid. A node can project horizontally to this axis.

The projection marker on the west axis keeps the source-node height unless a named projection later activates its own placement rules.

Zuid-as

De zuid-as is de veronderstelde as onder het centrale grid. Een knoop of geselecteerde waarde kan naar deze as projecteren wanneer een zuidelijke ordening nodig is.

De zuid-as beschrijft in de algemene notatie alleen de projectierichting en de projectiemerkers. De naam en selectie horen bij een named projection.

South axis

The south axis is the assumed axis below the central grid. A node or selected value can project to this axis when a southern ordering is needed.

In the general notation, the south axis only describes projection direction and projection markers. The name and selection belong to a named projection.

LEX, SYNT en LOG

  • LEX toont de gerealiseerde woordvolgorde in blauw. Iedere paginalaad begint op West; Oost, Noord en Zuid blijven sessiekeuzen.
  • SYNT toont syntactische categorieën en regels in groen.
  • LOG ordent S, O en V op vaste paarse slots.

Details over LEX-richtingen

LEX, SYNT, and LOG

  • LEX shows realized word order in blue. Every page load starts on West; East, North and South remain session choices.
  • SYNT shows syntactic categories and rules in green.
  • LOG orders S, O, and V on fixed purple slots.

LEX orientation details

LEX

LEX is de westelijke named projection van Language Tree.

Ieder bronwoord projecteert eerst horizontaal. In HOND BIJT MAN blijven HOND en MAN op bronhoogte; alleen BIJT gaat naar de vrije V2-rij tussen beide.

Daarnaast kan een uitbreiding een insertieplaats leveren en kan een voegwoord rechtstreeks in Comp worden geschreven. Beide hebben geen bronpijl.

LEX

LEX is the west named projection of Language Tree.

Every source word projects horizontally first. In HOND BIJT MAN, HOND and MAN remain at source height; only BIJT moves to the free V2 row between them.

An extension may also supply an insertion position, and a complementizer may be written directly in Comp. Neither has a source arrow.

Actief LEX-profiel

Actief: Wissels omhoog, toepassingsgebonden insertieplaatsen en rechtstreeks geschreven Comp.

  • Wissel omhoog: één bronwoord, één hoger doel, één pijl en één trace.
  • Insertie: inhoud wordt rechtstreeks op een door de toepassing geleverde LEX-plaats geschreven; er bestaat geen brontrace.
  • Comp: DAT of OMDAT wordt rechtstreeks in slot 0 geschreven; ook dit is geen verplaatsing.

No-show en niet actief: generieke lege posities vóór, na of tussen actieve rijen en iedere Wissel omlaag. Oude Config- of OGN-velden daarvoor worden compatibel genegeerd; nieuwe bestanden slaan ze niet op.

Vóór, na en tussen blijven expliciet ontwerpvoorraad voor een latere evaluatie. Ze sturen nu geen layout, Play, export of documentatievoorbeeld.

Active LEX profile

Active: upward switches, application-specific insertion positions, and directly written Comp.

  • Upward switch: one source word, one higher target, one arrow, and one trace.
  • Insertion: content is written directly at a LEX position supplied by the application; there is no source trace.
  • Comp: DAT or OMDAT is written directly in slot 0; this is not a movement either.

No-show and inactive: generic empty positions before, after, or between active rows and every downward switch. Old Config or OGN fields for these are ignored compatibly; new files do not store them.

Before, after, and between remain explicit design backlog for a later evaluation. They currently control no layout, Play, export, or documentation sample.

Voorlopig alleen Wissels omhoog

Een zichtbare Wissel wordt alleen uitgevoerd wanneer het doel op het scherm hoger ligt dan de horizontale bronprojectie. De renderer tekent nooit stilzwijgend een pijl omlaag.

  • HOND BIJT MAN: HOND en MAN blijven op bronhoogte; alleen BIJT gaat naar de vrije V2-rij tussen beide.
  • BIJT HOND MAN?: BIJT gaat naar V1, vóór HOND.
  • VROUW BREIT TRUI: het lexicon staat alleen VROUW als animate agens en TRUI als inanimate patiens toe.
  • DAT HOND MAN BIJT en OMDAT HOND MAN BIJT: DAT/OMDAT wordt rechtstreeks in Comp geschreven en heeft geen pijl.

Grens: “omhoog” beschrijft uitsluitend de tekening. Het is geen zelfstandige uitspraak over syntactische hiërarchie of c-command. Downward/post-V2, Heavy NP Shift, extrapositie en Lowering blijven buiten het actieve profiel.

Volledige LEX-regels

Upward switches only for now

A visible switch is executed only when its target is higher on screen than the horizontal source projection. The renderer never silently draws a downward arrow.

  • HOND BIJT MAN: HOND and MAN remain at source height; only BIJT moves to the free V2 row between them.
  • BIJT HOND MAN?: BIJT moves to V1, before HOND.
  • VROUW BREIT TRUI: the lexicon permits only VROUW as animate agent and TRUI as inanimate patient.
  • DAT HOND MAN BIJT and OMDAT HOND MAN BIJT: DAT/OMDAT is written directly in Comp and has no arrow.

Boundary: “upward” describes the drawing only. It is not an independent claim about syntactic hierarchy or c-command. Downward/post-V2, Heavy NP Shift, extraposition, and Lowering remain outside the active profile.

Complete LEX rules

Zinsoort

Zinsoort is een afzonderlijke Language-Tree-laag en geen toepassing. De actieve soorten zijn:

  • Hoofdzin · mededelend: topic/slot 1 en V2/slot 2; alleen hogere doelen worden uitgevoerd.
  • Vraagzin · ja/nee: persoonsvorm of eenvoudig predicaat naar V1/slot 1.
  • Dat-zin: DAT rechtstreeks in Comp/slot 0; geen V2.
  • Omdat-zin: OMDAT rechtstreeks in Comp/slot 0; geen V2.

Perfectum is geen zinsoort maar een werkwoordsvorm. Nadruk blijft een gereserveerde uitbreiding; Onaffe zin blijft gereserveerd.

Sentence type

Sentence type is a separate Language Tree layer, not an application. Active types are:

  • Main clause · declarative: topic/slot 1 and V2/slot 2; only higher targets are executed.
  • Question · yes/no: finite verb or simple predicate to V1/slot 1.
  • Dat-clause: DAT written directly in Comp/slot 0; no V2.
  • Omdat-clause: OMDAT written directly in Comp/slot 0; no V2.

Perfect is a verb form, not a sentence type. Emphasis remains a reserved extension; Incomplete sentence remains reserved.

SYNT

SYNT is de named projection voor syntactische regels. Regels worden op bronhoogte getoond, bijvoorbeeld S → NP VP en VP → V NP.

SYNT

SYNT is the named projection for syntactic rules. Rules are shown at source height, for example S → NP VP and VP → V NP.

LOG

LOG is de named projection op de zuidas. S, O en V zijn majors op vaste slots. Hun LOG-volgorde plant mogelijke LEX-plaatsen maar verplaatst geen bronknoop.

LOG

LOG is the named projection on the south axis. S, O and V are majors on fixed slots. Their LOG order plans possible LEX positions but does not move a source node.

Language Tree

Language Tree is een berekende toepassing van OGN: regels bepalen de knoopplaatsen; daarna worden vormen, labels en deelbomen gemeten.

De volgorde van vertakking beschrijft de structuur. De volgorde van de uiting beschrijft de gerealiseerde woorden. LEX houdt die tweede volgorde apart, zodat de boom niet tot woordvolgorde wordt gereduceerd.

Gebruik Grammar om dezelfde analyse syntactisch of functioneel te bekijken. Technisch contract

Language Tree

Language Tree is a calculated OGN application: rules determine node positions; shapes, labels, and subtrees are measured afterwards.

Branching order describes structure. Utterance order describes the realized words. LEX keeps the latter separate, so the tree is not reduced to word order.

Use Grammar to view the same analysis syntactically or functionally. Technical contract

Bediening

Kies een voorbeeld onder Testmateriaal en wissel met Grammar tussen Syntactic en Functional. Gebruik Play, vorige, volgende, Reset en FIT om het beeld te doorlopen en passend te maken.

Controls

Choose an example under Test material and use Grammar to switch between Syntactic and Functional. Play, previous, next, Reset, and FIT step through the view and fit it on screen.

Syntax tree

Syntax tree toont de syntactische boom met categorieën zoals S, NP, VP, V en N.

SYNT kan de bijbehorende syntactische regels apart tonen.

Syntax tree

Syntax tree shows the syntactic tree with categories such as S, NP, VP, V and N.

SYNT can show the corresponding syntactic rules separately.

Functional structure

Functional structure toont de functionele opbouw van de zin, bijvoorbeeld CLAUSE, AGENS, PRED en PATIENS.

Deze view maakt rollen zichtbaar zonder de syntaxboom als vorm te gebruiken.

Functional structure

Functional structure shows the functional composition of the sentence, for example CLAUSE, AGENS, PRED and PATIENS.

This view shows roles without using the syntax-tree shape.

Taalacties

Taalacties wijzigen een projectie of plaatsingslaag. Zij muteren niet automatisch de centrale syntaxboom.

Language actions

Language actions change a projection or placement layer. They do not automatically mutate the central syntax tree.

LEX-wissels

Een LEX-wissel is een expliciete Language-Tree-regel op de LEX-projectie. De centrale graph transformeert niet.

Alleen een doel hoger dan de bron wordt momenteel uitgevoerd: topic, V1 in de ja/nee-vraagzin en V2 in de hoofdzin. Comp en inserties worden rechtstreeks geschreven en zijn dus geen Wissel.

LEX exchanges

A LEX exchange is an explicit Language Tree rule on the LEX projection. The central graph does not transform.

Only a target higher than its source is currently executed: topic, V1 in a yes/no question, and V2 in a main clause. Comp and insertions are written directly and therefore are not switches.

Gitignore

.gitignore bepaalt welke lokale bestanden niet naar GitHub Pages worden meegenomen.

  • OpenGraph_Lite_Viewer_v*.zip: release-zips horen als downloadbaar archief naast het project, niet als sitebestand in de Pages-root.
  • local-mobile-test.html: tijdelijke lokale testpagina. local-mobile-test.js gaat wel mee als overdraagbare bron, maar activeert zichzelf uitsluitend lokaal.
  • opengraph-local-config-log-*.txt en local-config-log*.txt: lokale config-logbestanden. Die bevatten test- en sessie-informatie van de eigen werkmap.

De gecontroleerde data/testmateriaal.sqlite gaat mee als openbare projectbron. SQLite-WAL/SHM en lokale back-ups blijven buiten GitHub. De Pages-viewer gebruikt alleen de actieve OK-selectie uit data/catalog.public.json.

Gitignore

.gitignore decides which local files are not published to GitHub Pages.

  • OpenGraph_Lite_Viewer_v*.zip: release zips belong next to the project as downloadable archives, not in the Pages root as site files.
  • local-mobile-test.html: temporary local test page. local-mobile-test.js is included as transferable source but activates itself locally only.
  • opengraph-local-config-log-*.txt and local-config-log*.txt: local config logs with work-session information from the local folder.

The checked data/testmateriaal.sqlite is included as public project source. SQLite WAL/SHM and local backups stay outside GitHub. The Pages viewer uses only the active OK selection in data/catalog.public.json.

Carrousel

Ieder LEESMIJ-item heeft een eigen tekst- en carouselconfig. Open Config → LEESMIJ-items om de navigatietitel en veilige HTML-inhoud in NL/EN te bewerken en het item op Tonen: ja/nee te zetten. Nee verbergt het item; het wordt niet verwijderd en blijft in Config beschikbaar.

Slides kunnen daar via een beeldpad of https-URL worden beheerd. Een lokale PNG, JPEG, WebP of GIF voeg je rechtstreeks in via Config → Bestanden & export → Afbeelding als LEESMIJ-slide invoegen. Het bestand wordt ingesloten; maximaal 1,25 MB per beeld en een begrensde totale opslag.

De voorvertoning en LEESMIJ veranderen direct. De globale knop Ja · bewaar config staat op ieder Config-onderdeel. Herstel item · tekst + slides brengt titel, inhoud, zichtbaarheid en broncarousel terug.

Scripts, formulieren, styles, frames en onveilige URL-schema’s worden uit aangepaste itemtekst verwijderd. Graph-sneltoetsen staan uit zolang Config of LEESMIJ open is.

Carousel

Every README topic has its own content and carousel configuration. Open Config → README topics to edit its navigation title and safe HTML content in NL/EN and set Show: yes/no. No hides the topic; it is not deleted and remains available in Config.

Slides can be managed there with an image path or https URL. Insert a local PNG, JPEG, WebP, or GIF through Config → Files & export → Insert image as README slide. The file is embedded, with a 1.25 MB per-image limit and bounded total storage.

The preview and README update immediately. The global Yes · save config control appears on every Config section. Reset topic · content + slides restores its title, content, visibility, and source carousel.

Scripts, forms, styles, frames, and unsafe URL schemes are removed from edited topic content. Graph shortcuts stay inactive while Config or README is open.

Standaardconfig en jouw projectconfig

Iedere projectzip bevat config/default-config.json en config/user-config.json. De viewer leest eerst de standaard en past daarna de user-config als overschrijving toe. De standaard blijft dus intact en controleerbaar.

Start lokaal met start_local_viewer.bat. Onder Config → Bestanden & export schrijft Schrijf huidige Config naar project de actuele instellingen naar config/user-config.json. Daarna gaat dat bestand automatisch mee wanneer je de volledige projectzip maakt.

Op een gewone webserver is rechtstreeks schrijven niet toegestaan. Gebruik dan Download user-config en plaats het bestand handmatig in de map config/.

Voorrang: code-defaults → standaardconfig → project-user-config → lokaal bewaarde browsersnapshot. Alleen de laatste browsersnapshot blijft apparaatgebonden.

Default config and your project config

Every project zip contains config/default-config.json and config/user-config.json. The viewer reads the default first, then applies the user config as an override. The default therefore remains intact and inspectable.

Start locally with start_local_viewer.bat. Under Config → Files & export, Write current Config to project writes the current settings to config/user-config.json. That file is then included automatically when you create the full project zip.

A regular web server cannot write into the project directory. Use Download user config there and place the file in config/ manually.

Precedence: code defaults → default config → project user config → locally saved browser snapshot. Only the final browser snapshot remains device-specific.

Meedoen en publiceren

Zelf downloaden: gebruik Graphlite zonder installatie op kruin.github.io/graphlite, of download de actuele broncode met de knop hieronder. Kies in Windows eerst Alles uitpakken, open de map graphlite-main en start start_local_viewer.bat. Start niet vanuit de ZIP en open index.html niet rechtstreeks. Python 3 is vereist; download het zo nodig via python.org en kies Add Python to PATH. De ZIP bevat ook SQLite, Sources en PROJECT_MEMORY.md en kan daarom na een volledige push aan een nieuwe ChatGPT-chat worden gegeven.

Download Graphlite · main.zip

Eigen aanpassingen naar GitHub sturen

De download main.zip bevat geen Git-verbinding. Maak daarom eerst op GitHub een fork van kruin/graphlite. Installeer zo nodig Git voor Windows en clone daarna je fork:

git clone https://github.com/JOUW_GITHUB_NAAM/graphlite.git

Werk in de gekloonde map en start daar publish_checked.bat. Geef een committekst op en meld je aan wanneer Git daarom vraagt. Het script controleert, commit en pusht naar origin/main. Voor een eigen website kies je in de fork Settings → Pages → Deploy from a branch → main → /(root). Gebruik voor publiceren dus de clone, niet de uitgepakte main.zip.

GitHub: een fork maken · GitHub Pages instellen

Testen: noem URL, testitem, apparaat, browser, stappen, verwachting en resultaat. Windows: pak de bron-ZIP uit en start localserver.bat. iPhone en iPad: gebruik de publieke HTTPS-URL.

Testmateriaal: overleg vóór toevoegen of wijzigen. SQLite is leidend en openbaar overdraagbaar; de online viewer toont alleen actieve, goedgekeurde OK-records.

Publiceren: één LEESMIJ-item met eigen carrousel vormt één aflevering. Bronvermeldingen bij tekst én beelden zijn verplicht.

Volledige instructie · Publicatiewerkwijze · Afleveringsplanning · Bronnen

Contribute and publish

Download for personal use: use Graphlite without installation at kruin.github.io/graphlite, or download the current source with the button below. In Windows, choose Extract all first, open the graphlite-main folder, and run start_local_viewer.bat. Do not run it inside the ZIP and do not open index.html directly. Python 3 is required; if necessary, download it from python.org and select Add Python to PATH. The ZIP also contains SQLite, Sources and PROJECT_MEMORY.md, so after a complete push it can be handed to a new ChatGPT conversation.

Download Graphlite · main.zip

Publish your changes to GitHub

The main.zip download has no Git connection. First create a fork of kruin/graphlite on GitHub. Install Git for Windows if needed, then clone your fork:

git clone https://github.com/YOUR_GITHUB_NAME/graphlite.git

Work in the cloned folder and run publish_checked.bat there. Enter a commit message and sign in when Git asks. The script checks, commits, and pushes to origin/main. For your own website, select Settings → Pages → Deploy from a branch → main → /(root) in the fork. Use the clone for publishing, not the extracted main.zip.

GitHub: create a fork · Configure GitHub Pages

Testing: include URL, test item, device, browser, steps, expectation, and result. Windows: extract the source ZIP and start localserver.bat. iPhone and iPad: use the public HTTPS URL.

Test material: discuss additions or changes first. SQLite is authoritative and publicly transferable; the online viewer shows only active, approved OK records.

Publishing: one README topic with its own carousel forms one episode. Source credits for both text and images are mandatory.

Complete instructions · Publishing workflow · Episode plan · Sources

Publiceren op platforms

Publiceren begint in de LEESMIJ. Iedere genummerde aflevering gebruikt één ingebouwd LEESMIJ-item als inhoudelijke bron en de eigen carrousel van dat item als beeldbron. Platformtekst en vierkante publicatiebeelden zijn afgeleiden; corrigeer daarom eerst het LEESMIJ-item.

Een Config-aanpassing is een lokale kladversie. Publiceer pas nadat tekst en slides in de ingebouwde bron staan en de aflevering inhoudelijk, technisch en visueel is goedgekeurd. Zie de publicatiewerkwijze en de afleveringsplanning.

Iedere volledige projectzip bevat een bewerkbare publicatiecarrousel en zeven kant-en-klare vierkante PNG-slides. Upload de bestanden 01 tot en met 07 in die volgorde als één gallery, bijvoorbeeld op Reddit.

PUBLICATIE_README.md bevat de exacte uploadvolgorde, alt-teksten en kopieerbare platformteksten. Vervang eerst de gemarkeerde live-, bron- en videolinks. rc.45 is op 2 augustus 2026 handmatig goedgekeurd.

Publishing on platforms

Publishing starts in README. Every numbered episode uses one built-in README topic as its content source and that topic's own carousel as its visual source. Platform copy and square publication images are derivatives, so correct the README topic first.

A Config change is a local draft. Publish only after the text and slides are part of the built-in source and the episode has received content, technical, and visual approval. See the publishing workflow and the episode plan.

Every full project zip contains an editable publication carousel and seven ready-to-upload square PNG slides. Upload files 01 through 07 in that order as one gallery, for example on Reddit.

PUBLICATIE_README.md contains the exact upload order, alt text, and ready-to-copy platform text. Replace the marked live, source, and video links first. rc.45 was manually approved on 2 August 2026.

JaN · Just another Notation

Werknotatie: S:np-VP, nadrukkelijk niet S:NP-VP.

Onderzoeksnotatie: S+ np-VP. Eerst voor binaire bomen; later ook voor niet-binaire, meertakkige bomen.

TODO: flip van het verbale cluster heeft gebetengebeten heeft.

JaN · Just another Notation

Working notation: S:np-VP, explicitly not S:NP-VP.

Research notation: S+ np-VP. Binary trees first; non-binary multi-branching trees later.

TODO: verbal-cluster flip heeft gebetengebeten heeft.

FIT = passend beeld
Kies een voorbeeld of open een OGN-document.
Viewer: sleep in canvas om boom + LEX-as te verplaatsen. FIT past het zichtvenster aan; de boom zelf verandert niet.

Uitleg

De viewer is geladen.

Viewerfunctie

De viewer toont Open Graph Notation met gridregel, projectiemechanisme, projectiemerkers, views en named projections. Je kunt voorbeeldzinnen kiezen, Play gebruiken, projecties bekijken, canvas pannen/zoomen, OGN openen/downloaden en documentatie openen.

Bediening

Open Graph: de gridregel geeft elke bronknoop een eigen horizontale en verticale gridlijn. Het projectiemechanisme trekt projectielijnen naar projectiemerkers op veronderstelde assen. In de taalweergave krijgen die projecties namen en selectieregels: LEX voor lexicale plaatsing, SYNT voor syntaxregels en LOG voor S-O-V-volgorde. Play presenteert de volgordelijke opbouw. Bij boomtoepassingen worden boxen bottom-up berekend en top-down gerenderd; de centrale graph blijft statisch. De bovenbalk bevat Projectie. Alle toont de centrale view met alle named projections. Bij Bron verschijnt Assen, waarmee LEX, SYNT en LOG afzonderlijk of gecombineerd zichtbaar worden. De viewport blijft daarbij vast.