Add the Docs module and the Playwright automation foundation
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Feature Summary
Step 1 of the operator-demo video generator: the shared Playwright automation foundation.
### Proposed Solution or Design
Add a new `Docs` sbt module with Playwright (Chromium) as a dependency. This module provides the shared framework that later operator-demo controllers and generated scripts will build on.
The module includes:
- `ControllerContext` and shared base types: define `ControllerContext` together with the common step, controller, and builder abstractions used by later UI controllers.
- Shared Playwright utilities: add reusable helpers for common browser interactions, including cursor-visible clicks, optional press-and-hold behavior for controls that do not reliably respond to instantaneous clicks, dropdown selection, explicit waits, and canvas geometry helpers.
- `OperatorScript` interface: define the interface implemented by each per-operator script. It includes separate `setup` and `demo` phases so preparation work, such as creating or importing the sample workflow, runs before recording starts and remains outside the final video.
- Shared execution constants: centralize commonly used values such as delay tiers, timeout ceilings, retry counts, and Run button state strings.
Controllers follow a builder-style API:
```text
new SomeControllerBuilder(ctx)
.someAction(...)
.execute()
```
### Affected Area
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.