pov

Description

Point Of View (pattern)

Details

Source
GitHub
Created
Nov. 14, 2025
Updated
Nov. 14, 2025

README excerpt

## Pov baseline

- `BaselineOfPov` bootstraps the Pov package set. Keep changes focused on the Tonel sources inside `src/BaselineOfPov/` and `src/Pov/`.
- The repository follows the workspace rule set described in `AGENTS.md`, so consult that file before adding tooling, docs, or automation.

## Installation

Load the baseline from a Pharo image with the usual snippet:

```st
Metacello new
	repository: '';
	baseline: 'Pov';
	load
```

If you introduce additional Monticello repositories or packages, update this README and the Tonel package definitions accordingly.

## Development

- Use `pharo` or `gtoolkit` to edit the packages in `src/`; Tonel keeps the files in sync with the image.
- Keep helper scripts in a dedicated `tools/` directory so future agents can find them.
- Before committing workflow changes, capture them first in the FedWiki (`~/.wiki/wiki.ralfbarkow.ch/pages/`), then mirror the content into Lepiter per the workspace policy.
- There are no automated tests yet; validate changes by loading the baseline and exercising the intended functionality inside Pharo. Document any stability checks or manual procedures in `docs/` or this README.

## FedWiki mirroring workflow

- Use the GT example `PovFedWikiMirror class >> gtPharoCodeEmitterPointOfViewComparison` to compare the JSON generated from `lepiter/pharo-code-emitter-point-of-view.lepiter` against the on-disk FedWiki file before writing anything.
- Run the accompanying SUnit `PovFedWikiMirrorTest>>testPharoCodeEmitterPointOfViewJsonMatchesFedWiki` to guard against accidental divergences when editing either source.
- Only after those checks pass should you run the Lepiter sync snippet to overwrite `~/.wiki/wiki.ralfbarkow.ch/pages/pharo-code-emitter-point-of-view`.

## Directory layout

- `src/` – Tonel packages. `BaselineOfPov` defines dependencies for `Pov`.
- `AGENTS.md` – this rule-set summary for the repo. Keep it aligned with updates you make to the workflow.
← Back to results