RheoclesREE-oh-kleez

Draft. Written against the spec, ahead of the code. The words are the intent; the software is not there yet.

The NativePHP app

The same UI as the menu bar app, in PHP, driving the same daemon over the same API. It exists to be lifted whole into Pteroprompter.

Pteroprompter is a NativePHP app. The plan is for it to record its own takes — camera, prompter screen, microphone, system audio, as separate files on one cue — and the cheapest way to get there is to build the Rheocles UI in NativePHP first, against the real daemon, and then lift it whole.

So php/ is a second front end with full parity to the menu bar app: every stream with an arm toggle, preview on demand, one Record button, settings, the pairing code. It bundles its own copy of rheocles-core as a sidecar and launches it on demand, exactly as the Swift app does.

What it is not

It does not reimplement capture. AVFoundation and ScreenCaptureKit are not reachable from PHP, and nothing about recording happens in this app. “Feature complete” means the UI: everything you can click in the Swift popover you can click here, and both clicks become the same API call.

One daemon

Launch the NativePHP app while the menu bar app is running and it finds the daemon already on 7447 and uses it. Launch it alone and it starts its own bundled copy. Two front ends, one engine, one set of armed streams — arm a camera in one and it is armed in the other, because there is only one place that state lives.

Pairing

Zero clicks. The app runs as you, reads ~/Library/Application Support/Rheocles/token, and is paired. A future Pteroprompter does the same on the same machine; on another machine it waits for v0.2’s approve-on-the-box pairing.