# HANDOVER_FOR_COLLABORATORS

> Actuele overdracht begint in `../PROJECT_MEMORY.md` en in de rootversie van
> dit document. Een GitHub-ZIP bevat de gecontroleerde SQLite-database; alleen
> tijdelijke WAL/SHM-, back-up-, log- en afhankelijkheidsbestanden ontbreken.

## Actueel contract vanaf bronstand .34

Behoud de prominente **Syntax | Functional**-schakelaar buiten het
plaatsingsmethodemenu. Functional mag alleen rollen uit de actieve
goedgekeurde kernzinanalyse tonen. Behoud **Compact** als zuivere layoutactie:
compacte recursieve dichtheid en compacte H/V-kernzintakken, zonder tekst,
analyse of relaties te wijzigen. `data/testmateriaal.sqlite` is lokaal leidend;
de publieke JSON bevat alleen `OK`. Lees vóór wijzigingen
`../FUNCTIONAL_DATABASE_COMPACT.md` en `../TESTMATERIAAL_BEHEER.md`.

Overdracht voor OpenGraph Lite Viewer v3.1.0-rc.10.

Gebruik `../MEEDOEN.md` als korte instaproute voor testers en bijdragers.
Behoud daarnaast het contract
`LEESMIJ-item + eigen carrousel → controle → afleveringspakket → publicatie`
uit `../AFLEVERINGEN_PUBLICEREN.md`. Een lokale LEESMIJ-overschrijving via
Config is een kladversie en geen releasebron. Iedere aflevering heeft een eigen
nummer, slug, vaste URL, status, alt-teksten en handmatig visueel akkoord.
Publiceer testmateriaal niet als één grote batch.

Releasebesluit: rc.45 is op 2 augustus 2026 handmatig goedgekeurd, inclusief
de Greedy Grow-reconstructie en de rechtstreeks afgeleide publicatieslide.

Behoud de Playwright-preflight in `publish_checked.bat`: controleer vóór de
releasechecks zowel de module als `chromium.executablePath()`. Ontbreekt een
onderdeel, vraag expliciet `J/N` en roep uitsluitend bij `J` de vastgezette
`installeer-carrousel-tools.bat` aan. Geen staging, commit of push vóór deze
preflight slaagt.

De echte Playwright-test mag uitsluitend zichtbare bediening gebruiken:
open eerst `#mainViewSummary`, kies daarna de modus binnen `#mainViewMenu[open]`
en download OGN via `#configDownloadOgnButton` in het geopende Config-scherm.
Boomknopen staan onder `.node-shape-layer`. Bewaar runtime-screenshots buiten
de repository in de tijdelijke systeemmap.

Actuele source build:
`v3.1.0-rc.10-readme-contributing-episodes-20260904.34`. Behoud Language Tree
als prominente berekende toepassing en Greedy Grow/Random als kleinere
directe OGN-illustraties. Wijzig `greedy-grow-engine.js` niet voor Random: die
engine is onderdeel van het afleidingsbewijs van publicatieslide 5. Random
hoort in `random-placement-engine.js`. Bewaak het lijnbeeld en het structurele
EOF/EOL-beleid volgens `LINE_STYLE_AND_PLACEMENT_MODES.md`.

Behoud Anafoor · multi-OGN als tweede berekende toepassing volgens
`MULTI_OGN_ANAPHOR.md`: twee afzonderlijk berekende OGN’s, starre compositie,
S1 boven S2, één gezamenlijke LEX-as en een ongerichte verticale
MAN–HIJ-coreferentielijn.

Behoud daarnaast de drie selecteerbare uitingen als samengestelde `K1/K2`-
weergaven: twee afzonderlijk geldige bomen onder elkaar, uitsluitend expliciet
gedeclareerde verticale anafoorkolommen en één LEX-as voor de gerealiseerde
uiting. De causale uiting moet `JEK ↔ DIE` én `JAN ↔ HEM` tonen; het
impliciete subject van `Ken uzelf` mag geen zelfstandig LEX-woord worden.
Behoud voor dezelfde causale uiting de keuzen `hij`, `die`, `die hond`,
`de hond` en `Jek`; de subjectknoop in K2 moet rechtstreeks klikbaar blijven.
Canvas-pan mag pointerdown op deze knoop niet capturen; knooptekst moet
pointer-events ontvangen en Enter moet dezelfde variantwisseling geven.
Bewaar onafhankelijk instelbare werkelijke horizontale en verticale rastermaten.
`DIE HOND` is één subject-NP en twee gerealiseerde LEX-woorden; alle varianten
houden de referent Jek, beide verticale anaforen en OGN-metadata vast.
Houd de Play-balk zichtbaar in multi-OGN en bewaak de omkeerbare fasevolgorde
`K1 → K2 → verticale anaforen → gerealiseerde LEX-uiting`.
Toon de actieve testuiting steeds boven Play en werkvlak. Iedere kernzin heeft
`S → NP, VP` en `VP → NP, V`; verwar die syntactische volgorde niet met de
afzonderlijke LEX-realisatie. Iedere ouder moet daadwerkelijk links/rechts
vertakken. Iedere zichtbare tak moet twee vrije knopen op verschillende rijen
én kolommen verbinden en ook in compacte stand schuin blijven; kort de tak af
langs zijn eigen richting, nooit met vaste verticale offsets. Gebruik compacte
knoopsymbolen zonder overlap. Bewaar boomkleur, boomlijnzwaarte, onafhankelijke compacte
horizontale/verticale afmetingen en expliciete Flip als configureerbare
layout. Flip spiegelt beide bomen maar verandert geen ouder-kindrelaties,
gerealiseerde woordvolgorde of verticale anaforen. Spiegel bij causale
rolwisseling alleen K2 in de automatische stand zodat beide referentlijnen
verticaal blijven. Historische dunne-lijn-CSS mag lijnkeuzes niet
overschrijven.
Leg steeds expliciet uit waar, wanneer en waarom lokale K2-Flip nodig is en
onderscheid deze van de optionele globale interface-Flip.

Organiseer Config altijd als **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 onder Language
Tree. Toon per context uitsluitend de eigen
functionele velden; alle niet-relevante bediening is no-show. Bij openen vanuit
een actieve Greedy-Grow- of Random-modus is ook de toepassingsbalk no-show.
Alleen Terug naar Main, de eigen velden met uitleg en Config opslaan blijven
zichtbaar; wisselen van context begint in Main. Volg voor ieder zichtbaar veld
`CONFIG_UI_EXPLANATION_STANDARD.md`: compacte mobiele uitleg van effect,
bereik, niet-effect en reproduceerbaarheid.
Behandel LOG-planning nooit als bronknoopverplaatsing. Het actieve profiel
staat uitsluitend upward-Wissels toe, gemeten vanaf de zichtbare horizontale
bronprojectie. Een LOG-reservering mag een lager doel niet legitimeren. Bewaak
voor `HOND BIJT MAN` dat `MAN` op MAN-hoogte blijft en alleen `BIJT` omhoog
naar V2 kan wisselen. Houd Play tweefasig (`LOG → LEX`); voeg geen lege
SPACE-fase of ruimte-indicator terug toe. Alleen toepassingsinserties en direct
Comp komen naast upward voor. Generieke plaatsen vóór, na of tussen en iedere
downward/post-V2-Wissel blijven no-show, zonder Config, rendering of nieuwe
opslag, totdat hun gebruik afzonderlijk is geëvalueerd.

Behandel zinsoort als een afzonderlijke Language-Tree-laag: mededelende
hoofdzin, ja/nee-vraagzin, dat-zin en omdat-zin. V1 hoort bij de vraagzin; DAT
en OMDAT worden direct in Comp geschreven. Perfectum is een werkwoordsvorm.
Zie `LEX_MOVEMENT_RULES.md` voor het volledige contract.
Bewaar gedeelde run- en weergavekeuzes uitsluitend in
`directPlacementGeneral`; `greedyGrowConfig` bevat alleen strategie en
oriëntatie; `randomPlacementConfig` bevat seed, resetbeleid, Random-model,
plaatsing, gridgrootte, vaste kolommen/rijen, iteratieaantal en asbeeldmodus.
Random-snelheid gebruikt dezelfde `directPlacementGeneral.intervalMs` en wordt
niet dubbel opgeslagen. De nieuwe standaard is
**Ergens in beschikbare ruimte** met **Interface** als maximale afmetingen.
Compact, Gebalanceerd, Ruim en het groeiende inhoudsveld blijven beschikbaar;
bestaande opgeslagen keuzes worden niet geforceerd gemigreerd.
Random-iteraties mogen de actieve run niet
vooruitplannen. Play/Next moeten alle ingestelde iteraties doorlopen; Previous
moet reproduceerbaar over een rungrens terug kunnen. Zie
`DIRECT_PLACEMENT_CONFIG.md`.

Het Random-asbeeld is strikt retrospectief. Een ronde telt pas na haar laatste
knoop: rijen geven spots op WEST, kolommen spots op SOUTH en een herhaalde hit
maakt dezelfde spot zwaarder. Reset wist de telling; Previous verwijdert de
actuele ronde zodra die niet meer compleet is. Genereer geen toekomstige
rondes om het asbeeld vooraf te vullen.

Behoud **Uniform v1.0** exact en als standaard. **Onzuiver uniform v0.1** is
functioneel: 80% uniform plus 20% herhaalgewicht uit voltooide eerdere
as-hits. Ronde 1 is uniform. v0.2 (herhaalsterkte) en v0.3 (geheugenvenster)
blijven no-show totdat zij volledig werken en getest zijn. Seed is een
startcode van 1 t/m 4.294.967.295; een groter getal geeft niet meer toeval of
snelheid. `20260802` is de herkenbare datumseed 2 augustus 2026.

De reserveringen Nadruk en Onaffe zin zijn uitsluitend Config-voorraad. Voeg
ze niet toe aan `FEATURE_DEFINITIONS`, state, opslag, export of rendering
voordat hun eigen voorconfig, contract en tests zijn vastgelegd. Vraagzin is
nu een zinsoort en hoort niet meer in deze reserveringscatalogus.

LEESMIJ-aanpassingen gebruiken `state.readmeTopicEdits` en
`state.readmeCarousels` uitsluitend als Config-overschrijving. Houd de
ingebouwde itemtekst en introcarousel in de HTML als bronstandaard. `Tonen:
nee` verbergt een item, maar verwijdert het niet uit de DOM of de Config-keuze.
Voeg deze state niet toe aan OGN-documentdata. Laat alleen beperkte,
gesaniteerde HTML toe en accepteer een ingesloten `data:image/...`-bron
uitsluitend wanneer die via de vertrouwde bestandsinvoer is gemaakt. Houd
onderschriftvelden compact en laat graph-sneltoetsen nooit reageren binnen
Config/LEESMIJ of vanuit een actief invoerveld.

## OGN-kern en toepassingen

Houd de algemene notatie en de huidige taaltoepassing uit elkaar. De vaste
uitleg- en architectuurvolgorde is:

```text
OGN Free Placement
→ OGN Projection
→ OGN Calculated Placement
→ gespecialiseerde toepassing
```

Bij Free Placement is iedere knoop eigenaar van één horizontale en één
verticale gridlijn. De actuele bezetting wordt vóór iedere nieuwe knoop
gelezen. Een ruleset bepaalt welke vrije plaatsen geldig zijn; een
zoekstrategie bepaalt de kandidaatvolgorde. De eerstgevonden geldige plek wordt
bij directe plaatsing meteen geschreven.

Behandel Greedy Grow als geaccepteerde reconstructie volgens
`GREEDY_GROW_RECONSTRUCTION.md`. De vierarmige kandidaatvolgorde moet de drie
bewaarde demo's exact blijven reproduceren; `placeNext` schrijft hoogstens één
knoop en de state bewaart geen toekomstig eindbeeld. De experimentele
zoekvolgorden hebben expliciete tie-breaks, maar zijn geen bewezen kopie van de
verdwenen Java-code. De omtrekkende beweging is diagnostiek en geen bewezen
wereldwijd optimum. Publicatieslide 5 moet uit `greedy-grow-engine.js` blijven
worden afgeleid; teken of corrigeer die afbeelding nooit los.

Een projectie wordt pas van een geplaatste bron afgeleid en verplaatst die bron
niet. Two-Pass Language Tree is één berekende toepassing in de derde laag.
LEX, SYNT en LOG zijn benoemde projecties binnen die taaltoepassing. Gebruik
`OGN_CORE_PLACEMENT_ARCHITECTURE.md` als normatieve bron en begin algemene
OGN-documentatie niet opnieuw met de taalboom.

## Publicatiecarrousel

De rc.45-publicatiecarrousel is een afzonderlijk documentatieartefact en
wijzigt de viewerlogica niet. Houd deze onderdelen samen:

```text
publicatie-carrousel/index.html          bewerkbare, zelfstandige bron
publicatie-carrousel/derived-manifest.json automatisch afleidingsbewijs
publicatie-carrousel/slides/01-*.png     begin van de uploadvolgorde
publicatie-carrousel/slides/07-*.png     einde van de uploadvolgorde
tools/export_publication_carousel.js     herhaalbare PNG-export
tools/check_publication_carousel.py      bron-/exporter-/PNG-driftcontrole
maak-publicatie-carrousel.bat            volledige afleiding plus carrouselzip
PUBLICATIE_README.md                     posttekst, volgorde en alt-teksten
RC45_OGN_CORE_EXPLANATION_TEST.md        handmatige inhoudelijke en visuele akkoordlijst
```

Er moeten exact zeven genummerde slides van 1080 × 1080 pixels zijn. Bewerk
uitsluitend `publicatie-carrousel/index.html` en draai daarna
`maak-publicatie-carrousel.bat`. Bewerk nooit een losse PNG of carrouselzip.
De actuele inhoudsvolgorde is: knopen en vrije posities, projectie naar WEST /
SOUTH / EAST, **Direct — Greedy Grow** op slide 5 en
**Calculated — Language Tree** op slide 6. Die laatste slide toont het laatste
stadium van `HOND BIJT MAN`, met de woorden op de westelijke LEX-as. Beide
voorbeeldslides moeten zichtbaar naar `github.com/kruin/graphlite` verwijzen.
Het afleidingsmanifest maakt de releasecontrole hard fout bij een verouderde
bron, exporter of PNG. Handmatig controleren blijft nodig voor
leesbaarheid, afsnijding, kleuronderscheid en inhoudelijke juistheid.

## Projectconfig en projectzip

Iedere volledige projectzip bevat drie bestanden met een afzonderlijke rol:

```text
config/default-config.json   meegeleverde, controleerbare standaard
config/user-config.json      gebruikersoverschrijving naast de standaard
config/README.md             laadvolgorde en lokale werkwijze
```

De vaste voorrang is:

```text
code-defaults
→ config/default-config.json
→ config/user-config.json (alleen enabled=true)
→ lokaal bewaarde browser-Config
```

De laatste aanwezige laag wint per instelling. Verwijder of overschrijf de
standaardconfig niet wanneer een gebruiker eigen keuzes meeneemt. Via
`start_local_viewer.bat` mag de lokale endpoint alleen het allowlistdoel
`config/user-config.json` schrijven. Op een gewone webserver blijft
`Download user-config` de fallback. Controleer vóór iedere zip dat beide JSON-
bestanden hetzelfde versienummer als `VERSION.txt` hebben.

Iedere projectzip bevat daarnaast de zeven kant-en-klare slides, hun
bewerkbare HTML-bron en `PUBLICATIE_README.md`. Dat bestand bevat de exacte
uploadvolgorde, alt-teksten en versiegebonden plaatsingsteksten voor Reddit,
LinkedIn, Facebook, YouTube, Bluesky, Mastodon, X en GitHub. Werk de
placeholders bij vóór publicatie en noem een kandidaat geen stabiele release
zolang het handmatige akkoord ontbreekt.

## Bronbasis

Deze release is uitsluitend opgebouwd op de door de gebruiker geüploade
`v2.0.0-rc.26` via rc.27. rc.28 herstelt contracten uit het vergelijkingsrapport
zonder bronbestanden uit de alternatieve v2.0.x-lijn terug te kopiëren.

## Mobiele layout en raster

Gebruik voor fysieke-schermdetectie `isPhysicalHandheldViewport()`. Die
detectie blijft gelden voor MAX wanneer de gebruiker op een telefoon de
Desktop-interface forceert. `isMobileViewport()` bepaalt de gekozen
interfacevorm; vermeng deze twee verantwoordelijkheden niet opnieuw.

De lokale desktoptest gebruikt vaste frames van 390 × 844 en 844 × 390. Houd
de afsluitende `viewport-mobile-test + main-window-max`-regels ná de algemene
MAX-regels; anders springt het gekozen frame tijdens renderen terug naar
`100vw`. `local-mobile-test.js` haalt `ogv` uit de geladen viewer en mag geen
eigen versienummer krijgen.

README moet in portret gestapeld en in mobiel landschap naast elkaar staan.
De selectors met `data-help-layout` moeten specifieker blijven dan de oudere
algemene Help-gridregels, anders klapt de onderwerpenlijst opnieuw in.

Het dynamische raster gebruikt `projectionAxisGridBox()`: LEX is de
linkergrens, SYNT de rechtergrens en LOG de ondergrens. Mobiele MAX gebruikt
de stabiele Syntax/Functional-unie als focus, zodat de viewBox niet verspringt.

Landschap gebruikt `isHandheldLandscapeViewport()` en de klasse
`viewport-handheld-landscape`. Houd de twee compacte menurijen, het SVG en
Play in afzonderlijke verticale zones. `canvasAspectRatio()` en
`svgMeetClientMetrics()` moeten de werkelijke SVG-rechthoek gebruiken. Voeg
geen cover-zoom toe: het volledige raster met LEX, SYNT en LOG moet tegelijk
zichtbaar blijven in de lokale 844 × 390-simulatie, op een echte telefoon en
bij geforceerde Desktop-interface.

## Voorconfig vóór toepassingen

`INSERTION_AXIS_DEFINITIONS` is de algemene infrastructuurlaag. LEX, SYNT en
LOG zijn afzonderlijk schakelbaar en staan standaard uit. Een toepassing
declareert haar vereiste assen in `FEATURE_DEFINITIONS`. `Bijwoorden` vereist
LEX + LOG. Maak een toepassing nooit actief als haar voorconfig ontbreekt;
uitschakelen van een vereiste as moet de afhankelijke toepassing en haar staat
ook uitschakelen.

Nieuwe algemene mogelijkheden horen eerst in Voorconfig. Voeg pas daarna een
taalkundige toepassing toe. De volgende kandidaten zijn vastgelegd in
`PRECONFIG_ARCHITECTURE.md`.

## Profielcontract

`OGN Basis` is het standaardprofiel. De featurecatalogus staat centraal in
`FEATURE_DEFINITIONS`; voeg uitbreidingen via dezelfde schakel-, reset-,
import/export- en zichtbaarheidsroute toe. `Bijwoorden` is de eerste
toepassing en staat standaard uit. Uitgeschakelde featuredata mag niet worden
geladen, uitgevoerd, zichtbaar gemaakt of geëxporteerd.

## Niet wijzigen zonder expliciete opdracht

```text
View-menu:       plaatsingsmethode
Centrale balk:   Syntax → Functional → Compact
Projectiekeuze:  Alle → Bron → LEX → SYNT → LOG
Assen:           LEX west, SYNT oost, LOG zuid
```

Functional is de tweede centrale view. LOG is uitsluitend de zuidas.

Bronassen: LEX, SYNT en LOG zijn bij Bron onafhankelijk combineerbaar. De bediening staat buiten het canvas.

## LOG → LEX-contract

Lees vóór plaatsingswijzigingen `projectie-master-spec.md`.

```text
LOG-majors/minors → neutrale LEX-basis → expliciete Wissels → zinsvalidatie
```

- S/O/V zijn majors. Alleen inserties met `origin=LOG` of `origin=LOG+LEX`
  zijn minors; `origin=LEX` is een directe LEX-insertie.
- Iedere minor vergroot de begrensde majorafstand met één vast slot.
- LOG is autoriteit voor de neutrale LEX-rij.
- De surface-string bepaalt geen layoutcoördinaat. Expliciete
  zinsinstantiemetadata kan wel een vooraf berekende landingsplaats vastleggen.
- Oude hostvelden zijn alleen scope-/compatibiliteitsmetadata.

## Compatibiliteit

Intern schrijft de viewer `central_ogn: "ft"`. Invoer met de oude waarde `functional` blijft leesbaar en wordt naar Functional gemigreerd. Implementatienamen zoals `functionalNodes` mogen blijven bestaan zolang zij niet als viewnaam aan de gebruiker worden getoond.

## Werkwijze

1. Werk vanaf de nieuwste volledige projectzip.
2. Lees `VERSION.txt`.
3. Wijzig app en leidende instructies samen.
4. Voer ook `tools/check_local_start.py`,
   `tools/check_feature_profiles.py`, `tools/check_log_slot_distance.py`,
   `tools/check_readme_item_editor.py` en
   `tools/check_project_config_layers.py` uit. Voer voor rc.45 ook
   `maak-publicatie-carrousel.bat` uit wanneer de carrouselbron gewijzigd is;
   voer altijd `tools/check_publication_carousel.py` uit.
5. Voer `check_release.bat` uit.
6. Hernoem de projectmap naar de bedoelde release en voer
   `maak-volledige-zip.bat` uit. De ZIP neemt automatisch de actuele mapnaam
   over.
7. Controleer in de uitgepakte zip of `config/default-config.json`,
   `config/user-config.json`, `PUBLICATIE_README.md`,
   `publicatie-carrousel/index.html`, `publicatie-carrousel/derived-manifest.json`
   en alle zeven slides aanwezig zijn.

## Vaste oplevering in Sources

Na iedere afgeronde Graphlite-wijziging is de volgorde: carrousel afleiden,
alle controles groen, volledige projectzip bouwen en daarna de bestaande
actuele projectzip in Sources vervangen. Voeg geen tussenstanden of `(1)`-
kopieën toe. Gebruik pas een nieuwe vaste zipnaam wanneer `VERSION.txt` een
nieuw rc-nummer krijgt. Bij een mislukte controle wordt de zip in Sources niet
vervangen.

## Publiceren

Gebruik `publish_checked.bat`. Bestanden met patroon `*_full_source*.zip`,
inclusief browserkopieën met `(1)`, zijn lokale release-artefacten en horen
niet in het manifest of de GitHub Pages-root. De publicatiecontrole en
`maak-volledige-zip.bat` sluiten ze automatisch uit.

Na een bevestigde push opent `:open_reset_after_push` eenmaal de volledig
ingevulde GitHub Pages-reset-URL. Houd URL-opbouw buiten het
`if "%DID_PUSH%"=="1"`-haakjesblok; anders kan CMD de nog lege waarde
vooruitexpanderen en Verkenner openen.


## Topmenu v2.0.0-rc.37

Main toont in Basis acht zichtbare hoofditems en met Bijwoorden aan negen:

```text
OGN Basis: Zin · Syntax / Functional · Interface · Projecties · LOG-volgorde
Bijwoorden aan: Zin · Bijwoord · Syntax / Functional · Interface · Projecties · LOG-volgorde
Taal · LEESMIJ/README · Config
```

Er is geen algemene knop `Menu` en er zijn geen geneste submenu’s. Keuze-items
openen direct hun eigen brede uitklappaneel.


## Opslagcontract

Werk bij opslagwijzigingen altijd volgens `OGN_STORAGE_FORMAT.md`. Meng graphdata, documentmetadata en paradata niet opnieuw in één vlak object. `.ogn` is leidend; Legacy JSON is alleen compatibiliteit.

## Lexiconprofielen niet terugdraaien

`lexicon-config.html` bevat geneste `.usage-profile`-elementen en `.lexicon-construction`-elementen. `examples-input.html` kiest per insertie een profiel. Houd de LOG-sequentie en de volledige LEX-plaatsingssequentie gescheiden. Een gebruikerskeuze geldt per zinsinstantie en mag het globale lexicon niet muteren.

## Plaatsingsplancontract

De renderer is geen layoutautoriteit. Voor iedere render wordt één plan gemaakt
met structurele hosts, lexicale inserties, LOG/LEX-bronnen, landingsplaatsen,
Wissel-corridors, projecties en groei-indexen. De kernzin vult dit plan in. De
renderer tekent en animeert alleen de vastgelegde posities.

Zichtbare viewnaam: `Functional`. Interne waarden zoals `ft` blijven leesbaar
voor compatibiliteit.

## JaN-contract

Behoud de werknotatie `S:np-VP` (niet `S:NP-VP`) en de onderzoeksnotatie
`S+ np-VP`. De eerste implementatie geldt voor binaire bomen; meertakkigheid
volgt later.
