You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,6 +86,8 @@ Rule format:
86
86
- The TPS editor migration to Monaco must be complete: syntax coloring, IntelliSense/autocomplete, hover or inline tooltip help, decorations, and TPS authoring feedback must be Monaco-native instead of split across legacy overlay or hidden-textarea behavior.
87
87
- TPS authoring completeness must be checked against the upstream `managedcode/TPS` README, not only the currently shipped editor menus, so new editor support stays aligned with the full spec for emotions, delivery, pauses, speed, pronunciation, and related cues.
88
88
- Editor TPS command surfaces must expose the full currently supported TPS authoring set consistently across top toolbar menus, floating-toolbar menus, and Monaco assistance; do not ship partial or differently grouped command taxonomies between those surfaces.
89
+
- TPS cue semantics must be visually represented across both the editor and live reader surfaces: emotions, delivery, voice, pace, energy, pauses or breath marks, pronunciation, phonetics, stress, staccato, legato, emphasis, highlight, aside, rhetorical, building, sarcasm, loud, soft, whisper, and related cues need visible affordances that help the user read intent without inspecting raw TPS tags.
90
+
- TPS visual cue work must include end-to-end browser coverage and public README screenshots or screenshot-backed examples so users can see that the editor and prompter render the supported cue taxonomy, not only parse it internally.
89
91
- User-facing file transfer actions in the shell should use `Import` and `Export` wording instead of `Open Script` and `Save File`, because the app also has its own internal script/workspace structure.
90
92
- File workflows must stay local-first inside PrompterOne: scripts need in-app autosave and an internal change-history path in the browser environment, not only external disk import/export actions.
91
93
- Hotkey work must target PrompterOne’s own browser surfaces and settings inventory only; do not design around OBS commands or claim OBS integration paths that the product does not have.
@@ -49,11 +49,11 @@ No PrompterOne backend. No desktop install. No account wall. Open the app, start
49
49
## What Works Today
50
50
51
51
-**Library**: browse scripts, create folders, move documents, search by title, file name, and script content, then jump straight into edit, Learn, or Teleprompter flows from the same card.
52
-
-**Editor**: author real TPS with Monaco-native syntax support, metadata hydration, structure-aware navigation, floating formatting controls, in-document find, syntax-aware rendering, browser-local autosave/history, and responsive large-draft typing.
52
+
-**Editor**: author real TPS with Monaco-native syntax support, metadata hydration, structure-aware navigation, floating formatting controls, in-document find, syntax-aware rendering, browser-local autosave/history, a script knowledge-graph view, and responsive large-draft typing.
53
53
-**Learn**: rehearse with ORP-aligned RSVP, context rails, phrase-aware timing, WPM controls, stepping, looping, and punctuation-safe word progression.
54
54
-**Teleprompter**: read with persisted font and width controls, focal-line positioning, horizontal and vertical mirror toggles, orientation switching, browser fullscreen, segmented progress, and optional camera background.
55
-
-**Go Live onboarding**: walk the first-run flow with a localized tour that explains TPS, RSVP, the editor, Learn, Teleprompter, and Go Live, then reopen that tour later from Settings.
56
-
-**Settings**: manage appearance, browser language, media permissions, camera and microphone setup, sync offsets, recording defaults, cloud snapshot targets, transport credentials, and onboarding restart from one routed screen.
55
+
-**Onboarding**: walk the first-run flow with a localized tour that explains TPS, RSVP, the editor, Learn, Teleprompter, and Go Live, then reopen that tour later from Settings.
56
+
-**Settings**: manage appearance, browser language, media permissions, camera and microphone setup, sync offsets, recording defaults, AI provider preferences, cloud snapshot targets, transport credentials, and onboarding restart from one routed screen.
57
57
-**Go Live**: run the browser-owned studio shell and save the composed program feed locally with decodable video and audio while remote transport and destination routing continue to expand.
58
58
59
59
## What You Get
@@ -70,12 +70,26 @@ The operating desk for the rest of the app. The library keeps starter scripts an
70
70
71
71
This is not a plain textarea. The editor understands **TPS** (Teleprompter Script), so you can write in segments, blocks, pacing markers, emphasis, emotion tags, pronunciation guides, pause cues, and speed modifiers directly in the source. Front matter is parsed into the metadata rail and kept out of the visible body instead of lingering inline.
72
72
73
-
The authoring surface includes structure navigation on the left, a full formatting and insert toolbar, floating selection controls, a metadata rail for front matter and speed offsets, in-document find, import and export actions, browser-local autosave with revision history, and syntax-aware highlighting over the live source. Recent UI work moved TPS authoring fully onto the Monaco editor surface, tightened dropdown and tooltip behavior, cleaned up gutter spacing, and kept large-draft responsiveness intact on both polished demo scripts and very large seeded drafts.
73
+
The authoring surface includes structure navigation on the left, a full formatting and insert toolbar, floating selection controls, a metadata rail for front matter and speed offsets, in-document find, import and export actions, browser-local autosave with revision history, syntax-aware highlighting over the live source, and a first-class script graph tab. The graph view can run beside or over the source, lets writers inspect the script's high-level knowledge map, and keeps jump-back-to-source context attached to graph nodes. Recent UI work moved TPS authoring fully onto the Monaco editor surface, tightened dropdown and tooltip behavior, cleaned up gutter spacing, and kept large-draft responsiveness intact on both polished demo scripts and very large seeded drafts.
74
74
75
75

76
76
77
77
---
78
78
79
+
### TPS Cue Language
80
+
81
+
PrompterOne treats TPS cues as reading instructions, not markup noise. The editor and reader now carry the same cue intent forward for voice, delivery, pace, emphasis, highlight, pronunciation, phonetics, stress, breath marks, staccato, legato, energy, melody, aside, rhetorical turns, building delivery, sarcasm, loud, soft, whisper, warm, urgent, and related emotion cues.
82
+
83
+
In the editor, TPS authoring stays readable while Monaco colors cue tags, underlines articulation, and keeps pronunciation and delivery hints visible beside the clean script text.
84
+
85
+

86
+
87
+
In the teleprompter, the clean reading line keeps those cues visible through subtle contour: speed affects spacing, voice and delivery affect emphasis, breath marks appear as reading rests, legato and staccato use music-like line texture, and energy or melody adds a stronger visual rhythm without exposing raw TPS tags.
88
+
89
+

90
+
91
+
---
92
+
79
93
### First-Run Onboarding
80
94
81
95
The app now opens with a guided first-run tour instead of expecting you to infer the workflow from the chrome. It explains what PrompterOne is for, why TPS exists, what RSVP rehearsal does, how the editor differs from Learn and Teleprompter, and what Go Live is responsible for in the browser-owned studio flow.
@@ -122,13 +136,13 @@ Distribution targets such as YouTube, Twitch, and custom RTMP are capability-gat
122
136
123
137
### Settings
124
138
125
-
Settings holds the operational state for the rest of the app: appearance, browser language, cloud snapshot targets, camera selection with preview, microphone setup with live meters, delay and sync offsets, output quality profiles, recording defaults, transport credentials, and onboarding restart. Theme changes and layout preferences persist, and appearance changes propagate across tabs instead of drifting out of sync.
139
+
Settings holds the operational state for the rest of the app: appearance, browser language, cloud snapshot targets, camera selection with preview, microphone setup with live meters, delay and sync offsets, output quality profiles, recording defaults, AI provider preferences, transport credentials, and onboarding restart. Theme changes and layout preferences persist, and appearance changes propagate across tabs instead of drifting out of sync.
126
140
127
141
---
128
142
129
143
### Localization
130
144
131
-
PrompterOne negotiates the initial language from your browser and remembers your explicit choice after that. Localized chrome, the first-run onboarding flow, and the persisted user override are part of the browser runtime, not post-build demo copy. The remaining hardcoded-string audit is still being finished, so localization is broad already but not yet fully complete across every surface.
145
+
PrompterOne negotiates the initial language from your browser and remembers your explicit choice after that. The routed chrome, onboarding, diagnostics, settings, library actions, editor command surfaces, cloud sync status, AI Spotlight shell, and core reader controls all use the shared localization catalog across English, German, Spanish, French, Italian, Portuguese, and Ukrainian. Technical protocol names, API-key examples, and product brand text stay intentionally unlocalized.
132
146
133
147
## The Full Flow
134
148
@@ -149,13 +163,13 @@ PrompterOne is in **active alpha**: the core authoring, rehearsal, reader, and l
|**Teleprompter**| ✅ | Reader width and font controls, focal positioning, horizontal and vertical mirror toggles, orientation toggle, browser fullscreen, segmented progress, persisted layout |
168
+
|**Teleprompter**| ✅ | Reader width and font controls, focal positioning, TPS cue contour rendering, horizontal and vertical mirror toggles, orientation toggle, browser fullscreen, segmented progress, persisted layout |
155
169
|**Onboarding**| ✅ | Localized first-run walkthrough plus Settings-driven tour restart |
156
-
|**Settings**| ✅ | Appearance sync, browser language, media permissions, camera and mic setup, delay offsets, recording defaults, cloud snapshot forms, transport configuration |
170
+
|**Settings**| ✅ | Appearance sync, browser language, media permissions, camera and mic setup, delay offsets, recording defaults, AI provider preferences, cloud snapshot forms, transport configuration |
157
171
|**Local recording**| ✅ | Browser-side recording of the composed program feed with decodable video and audio |
158
-
|**Localization**|🟡| Browser-negotiated chrome, localized onboarding, and persisted manual override ship now; the remaining string audit is still being finished|
172
+
|**Localization**|✅| Browser-negotiated language, persisted manual override, shared resource parity across supported languages, localized onboarding, diagnostics, settings, library actions, editor command surfaces, AI Spotlight shell, and reader controls|
159
173
|**Go Live studio shell**| ✅ | Source rails, scene switching, preview/program layout, runtime telemetry, session chrome, browser-owned operator workflow |
160
174
|**VDO.Ninja transport**| 🟡 | Real transport-aware browser integration, with operational polish still expanding |
161
175
|**LiveKit transport**| 🟡 | Real transport-aware browser integration and guest-path work, with operational polish still expanding |
@@ -172,7 +186,6 @@ These are product directions, not release-date promises.
172
186
**Near term:**
173
187
- Remote publish polish for VDO.Ninja and LiveKit transport flows
174
188
- Broader cloud portability for scripts, settings, and snapshots
175
-
- Finish the remaining localization audit across routed screens and editor chrome
176
189
- More public documentation and real-world workflow examples
177
190
178
191
**After that:**
@@ -190,7 +203,7 @@ cd PrompterOne
190
203
dotnet run --project src/PrompterOne.Web
191
204
```
192
205
193
-
Or just open [prompter.managed-code.com](https://prompter.managed-code.com/) — no install needed.
206
+
Or just open [app.prompter.one](https://app.prompter.one/) — no install needed.
194
207
195
208
## Technology
196
209
@@ -200,9 +213,14 @@ PrompterOne is a standalone [Blazor WebAssembly](https://dotnet.microsoft.com/en
dotnet test ./PrompterOne.slnx --collect:"XPlat Code Coverage"
218
+
dotnet test @./tests/dotnet-test-progress.rsp --project ./tests/PrompterOne.Core.Tests/PrompterOne.Core.Tests.csproj --coverage --coverage-output-format cobertura
219
+
dotnet test @./tests/dotnet-test-progress.rsp --project ./tests/PrompterOne.Web.Tests/PrompterOne.Web.Tests.csproj --coverage --coverage-output-format cobertura
220
+
dotnet test @./tests/dotnet-test-progress.rsp --project ./tests/PrompterOne.Web.UITests.Shell/PrompterOne.Web.UITests.Shell.csproj --coverage --coverage-output-format cobertura
221
+
dotnet test @./tests/dotnet-test-progress.rsp --project ./tests/PrompterOne.Web.UITests.Studio/PrompterOne.Web.UITests.Studio.csproj --coverage --coverage-output-format cobertura
222
+
dotnet test @./tests/dotnet-test-progress.rsp --project ./tests/PrompterOne.Web.UITests.Editor/PrompterOne.Web.UITests.Editor.csproj --coverage --coverage-output-format cobertura
223
+
dotnet test @./tests/dotnet-test-progress.rsp --project ./tests/PrompterOne.Web.UITests.Reader/PrompterOne.Web.UITests.Reader.csproj --coverage --coverage-output-format cobertura
206
224
```
207
225
208
226
Architecture and ownership boundaries are documented in [docs/Architecture.md](docs/Architecture.md). Each project has a local `AGENTS.md` that describes purpose, entry points, and rules for that area. Feature docs live in [docs/Features/](docs/Features/).
0 commit comments