New model in Prototyper - what is this Thinking

The model in the Prototyper seems to have quietly received an update.
Is their any chance we can have an overview of this so we can best use/understand it please.

Thanks in advance

Hi @Jonathan_Bean - we haven’t updated our models in app prototyping since the last big update to Gemini 2.5 Pro. Are you seeing different behavior?

Yes

I will think about your email and put together my views .

FYI I made this - including the TTS from Chirp3 HD voice stuff - its safe for work - https://studio–npc-forge-qh4gc.us-central1.hosted.app

2 Likes

I just played around with your app, and this is impressive. Did you use the prototyper for the entirety of it, or did you have to go into code for any portion?

95% prototype and then as I got issues I had to look at the code and try to figure out what was wrong with it.
I used the new vision model on the my cell phone in Gemini to explain what the code stuff is, and why it is.

Some minor issues - may be worth looking at I don’t know -
I vibe coded all the stuff up and went to start a second Web app and figure I will keep the same colour and look and feel - great I’ll open the Bludprint.** file and use that.
Unfortunately the changes I have made don’t get reflected and recorded into the document. Would be nice if it was automatically kept up to date.

Now that the web app is a little larger the prototype tool (starting this week) has become almost unusable with it simply taking too long (as in I stop it after 3+ hours).
This is of note in the - File changes area. Firebase needs a better UI with some sort of timeline expectations.

I get good informative plan such as -

Okay, I’ll integrate the saved image settings (keywords and artist styles) from localStorage into the image generation prompts.

Here’s the plan:

  1. Update Schemas (src/lib/npc-schemas.ts, src/ai/flows/generate-npc.ts, src/ai/flows/regenerate-npc-image.ts):

    • Add imageKeywords: z.array(z.string()).optional() and artistStyles: z.array(z.string()).optional() to ServerGenerateNpcInputSchema (in npc-schemas.ts).
    • Add the same fields to GenerateNpcInputSchema (in generate-npc.ts).
    • Add the same fields to RegenerateNpcImageInputSchema (in regenerate-npc-image.ts).
  2. Update Server Actions (src/app/actions.ts):

    • Ensure handleGenerateNpc passes imageKeywords and artistStyles from its input to the generateNpc flow.
    • Ensure handleRegenerateNpcImage passes these new fields to the regenerateNpcImage flow.
  3. Update AI Flows (src/ai/flows/generate-npc.ts, src/ai/flows/regenerate-npc-image.ts):

    • Modify the image prompt construction logic in both flows to incorporate the imageKeywords and artistStyles from their input.
      • If user-selected artistStyles are provided, they will be used as the primary artistic style. Otherwise, the style derived from the narrative style will be used.
      • Selected imageKeywords will be appended to the prompt.
  4. Update Client-Side Logic (src/app/page.tsx):

    • In handleFormSubmit (for new NPC generation) and handleRegenerateImage (for regenerating images for existing NPCs):
      • Retrieve the saved keyword and artist style selections from localStorage (using the keys npcForgeImageKeywordsDefaults and npcForgeArtistStylesDefaults).
      • Convert the Record<string, boolean> format from localStorage into string[] containing only the active (checked) settings.
      • Pass these arrays to the respective server actions (handleGenerateNpc and handleRegenerateNpcImage).

This will make the image generation process use the preferences set in the ā€œImage Settingsā€ dialog.

Here are the changes:

ok I get it Great!!! Then it takes hours and zip. Not sure why.

Great product and I love being able to build things. Hope this feedback helps

PS is there a tester / developer program I can join to offer useful feedback?

Kind regards

Jonathan

1 Like

Last week I did notice a large change.
In the coding area for a few weeks (talking to Gemini) and a few times it said here is what needs to happen, and to which files and I can’t help with doing it.
I switched over to prototyper and right away it was able to do these things without issue.
This week (last few days) it has hit some sort of wall.
I do not know if this is code size or not as the feedback on fails is so so in the prototype window.

PS is there a tester / developer program I can join to offer useful feedback?

Kind regards

1 Like

This feedback is immensely valuable! I have added you to our early tester group, and we’ll periodically email as we implement new capabilities for you all to test.

The best way to offer feedback is the way you have been doing by posting on the forums, so THANK YOU!!! :slight_smile:

ok so it seems to stall or run out of gas on some larger tasks. I have found that by taking its plan and then asking it to work on one bit then another seems to help-
Example -
you are stuck in a dead end… I want you to concentrate on this part first - Create a New Service File (src/services/random-gen-settings.service.ts):

Got some odd replies from prototyper -
ok on the popup page named Random Generation Settings please put a slider down the side of the page so I can move up and down and see all options for all race/locations.

Gemini

Okay, I understand. The scrollbar (the ā€œslider down the sideā€) isn’t appearing for the list of race locations within the ā€œRandom Generation Settingsā€ dialog, meaning you can’t see all the options. This usually happens when the scrollable container doesn’t have a properly defined height for its content to overflow within.

We’ve tried flex-grow and min-h-0 on the ScrollArea. Let’s try a slightly more explicit flex sizing property. I’ll change flex-grow to flex-1 on the ScrollArea component. The flex-1 class is a shorthand for flex: 1 1 0%;, which tells the element to grow and shrink as needed and sets its initial main size to 0, often working well for making an element fill available space in a flex container. The min-h-0 is still important to allow it to shrink properly if its content is smaller than the allocated space (though in this case, we expect overflow).

This change will be made in src/components/npc-form.tsx.

Here’s the plan:

File changes

src/components/npc-form.tsx

ok have you done it?

Gemini

OK, here’s a plan for how we’ll prototype this app. Take a look below and customize as needed, or if you’re ready, select Prototype this App.

App Blueprint

Customize

LexiLook

Features

  • Enhanced Word Suggestions

AI
— AI-powered tool to suggest alternative word choices based on context and tone, including synonyms, antonyms, and related phrases to enrich and diversify your writing.

  • Rich Text Editor — User-friendly text input area for writing and editing text.

  • Acceptance and Refinement Controls — Intuitive interface to accept, reject, or further refine AI-suggested word options with one-click functionality.

  • Live Suggestion Display — Real-time display of suggested words within the text editor for seamless integration into the writing process.

  • Export Functionality — Simple export function that supports a wide range of document formats, enabling easy migration of finalized content.

  • Add features by customizing the blueprint or prompting below

Style Guidelines

  • Color
  • LayoutEmploy a clean, minimalist layout with ample white space to reduce clutter and improve readability.
  • TypographyBody and headline font: ā€˜Inter’, sans-serif.
  • IconographyUse simple, modern icons with rounded edges to complement the clean and user-friendly design.
  • AnimationImplement subtle animations for transitions and feedback to enhance user engagement.

Stack

  • AI

Gemini, Genkit

  • UI

TypeScript, NextJS, Tailwind CSS

Prototype this App

Some sort of fix occurred and the service is back to normal speed.

Can I get on that early tester group as well? I like to give feedback as well and if there is a place outside of the forum to do it for specific things, I would appreciate the chance.

Thisi s pretty awesome! Great work :slight_smile: Showed my husband who I’ve been talking to non stop about Firebase Studio and he has his DnD group today; wouldn’t be surprised if he shares it with his group.