Repository navigation
Conversation
Ask AI changes the portal design draft as it goes, with no apply step. Each change is one of an allowlist of design fields and is kept only when the design still passes the schema and the contrast solver; Quackback AI never writes CSS. The answer lists what changed with an Undo per row, and names what the solver adjusted to keep text readable. The composer sits under every tab and follows the section picked in the preview; a section scope reaches only that section's fields. Before the first request, Ask AI offers three looks from a website or a few words, or the presets. Without a model, Appearance opens on Brand.
Designing eight brands end to end through Appearance turned up these: - A subtitle was written to the headline, because its path ends in "title". - A reply could claim a change the draft never got. When nothing was applied, the server now says why, and the change card is the record. - A request outside the section picked in the preview was refused with no way on. It now says so and offers to ask about the whole site. - The model knew fields only by path, so "tabs for the menu" missed the menu style. Each field is described in plain words, and a section lists the fields it reaches. - Each look writes a headline, so a look with a band never shows it empty. - The change card names values as the tiles do, each look is drawn with its layout and fonts, and the composer stays clear of the draft bar.
Member
Author
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 eighth of the stack that builds a new design engine for the portal, and the first of phase 3. It puts Quackback AI into Appearance: a conversation that changes the design draft as it goes, three starting looks from a website or a few words, and a composer under every tab that follows the section picked in the preview. Behind the
portalDesignV2Labs switch; with it off, nothing changes.Changes go into the draft, with no apply step
A request returns a list of changes to design fields, and each is applied on its own. The fields are an allowlist: colours, mode, fonts and heading weight, corners, header, menu style, band, cards, density, width, filters, the feedback headline, the welcome message switch and the default sort. Quackback AI never writes CSS. A change is kept only when the design still passes the schema and the contrast solver, so an unknown value or an unreadable colour drops out without taking the good changes with it. The server saves the result as the draft for the person who asked; a request that changes nothing leaves the draft alone. Nothing reaches visitors until a person publishes, as before.
The answer shows a card of what changed, with Undo on each row and Undo all. When a change makes the solver adjust something to keep text readable, the card says what, from the same report Review and publish uses.
Replies say only what happened
The change card is the record of what changed. When a request changes nothing, the server writes the reply: "That is outside the header, so nothing changed", or "Nothing changed: the design does not offer that". So the model's prose can never claim a change the draft does not have.
Scope
Clicking a section in the preview already opens its controls; it now also scopes the composer to that section, shown as a chip. A section scope reaches only that section's fields, enforced on the server, and the model is told which section was picked. The Brand tab scopes to brand fields. Clearing the chip asks about the whole site. When a request reaches outside the section picked, the answer offers "Ask about the whole site", which asks again without the section.
Starting points
Before the first request, Ask AI offers three starts: match a website, describe the brand in a few words, or open the presets. A website is read with the same safe fetch the logo lookup uses: its title, description and theme colour, when that colour can carry white text. Nothing from it is stored. Both return three looks, each built on a preset with its own colours, fonts and headline, and checked like any other change. Each is drawn with its layout and named fonts; picking one puts it in the draft.
Without AI
When no model is set up, Appearance opens on Brand, the Ask AI tab says why in one line, and there is no composer. Brand and Sections work in full.
Events
appearance_start_chosen(website, words or preset),appearance_look_picked, andappearance_publishedwith its source,aiwhen Quackback AI changed the draft in that session, otherwisemanual.Notes
Verification