Repository navigation
Draw personas, automations, translations and read model properties on the VS Code board - #327
Merged
Merged
Conversation
The TypeScript compiler skipped captures and everything inside a reaction trigger, so a translation or automation had nothing to show. It now reads a capture's source, key and appended events, and the events a trigger produces and the commands it invokes, in the C# shape the golden syntax holds both compilers to. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
An automation shows the events it produces and the command it invokes, a translation the system its capture reads and the events it appends, and the system gets a row for their cogwheels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
The TypeScript compiler skipped a projection's mappings and automap settings, so nothing downstream could tell what a read model holds. It now reads each mapping's property and kind, and the automap setting of every block that has one, in the C# shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
Automap copies an event's properties unless turned off, each mapping adds the property it sets, and children and nested blocks add theirs, so a State View's read model is no longer drawn empty. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
Personas were skipped and every authorize was opaque, so nothing could say who uses a slice. The compiler now reads personas and the policies they hold, and authorize on modules, features, commands and queries - with continuation lines, implicit and, grouping and and binding tighter than or - reporting the same diagnostics as the C# compiler. A folder merge keeps one declaration of each persona and combines gates with and. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
A slice's screens were all drawn for one generic user. Each persona now gets a row of its own, with its description, and a slice's screens are drawn in the rows of the personas whose policies satisfy what gates it - its module's, features' and own command's or query's authorize. A screen nothing gates, or that no persona may use, stays with the user. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
Brings the read-only board's collapsing, lines, prototype preview, slice-type and persona tooltips, and the cogwheel drawn only in automations and translators. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MrnFQW3Zx9PqPJgwE4b7Kc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The VS Code board now draws everything a model says about who uses it and what its automations, translations and read models do, and can be explored the way Studio's board can.
Added
authorizegates. A screen nothing gates, or that no persona may use, stays with the generic user.@cratis/screenplay-compiler) reads personas,authorizeon modules, features, commands and queries, captures, the events a reaction trigger produces and the commands it invokes, and projection mappings and automap settings. It reports the same diagnostics as the C# compiler.Fixed
readmodeldeclaration gets the properties its projection sets: automapped event properties, mapped properties, counters, children and nested objects.