Skip to content

Commit f65e671

Browse files
committed
- Simplified the iteration prompt wording to mirror the Iteration 2 spec and cut redundant architectural guardrails.
- Adjusted iteration prompt unit tests to check the leaner phrasing while keeping geometry preservation coverage.
1 parent b740b83 commit f65e671

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

docs/implementation-progress.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@
6767
- Reinforced iteration, gallery, and finalization prompts so doors, windows, and room entries stay fixed to the source photo.
6868
- Updated prompt unit tests to assert the new guardrail language for future regressions.
6969

70+
## 2025-10-13 (iteration prompt simplification)
71+
72+
- Simplified the iteration prompt wording to mirror the Iteration 2 spec and cut redundant architectural guardrails.
73+
- Adjusted iteration prompt unit tests to check the leaner phrasing while keeping geometry preservation coverage.
74+
7075
```
7176
7277
```

src/utils/iteration-prompts.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,17 @@ export function buildIterationPrompt({
2525
diversityHint,
2626
}) {
2727
return [
28-
'Use the attached base room photo as fixed camera pose and architectural envelope.',
29-
'Do not move, resize, or reshape walls, ceilings, openings, or built-ins; the room volume and dimensions are locked to the photo.',
30-
'Keep doors, windows, and room entries exactly where they appear in the source photo—no repositioning, resizing, or new penetrations.',
31-
'If reference images are attached, transfer only their style (palette, textures, furniture mood, lighting mood)—never their room shape, perspective, or architectural layout.',
32-
'Consider the following guidance:',
28+
'Use the attached base room photo as fixed camera pose and architectural envelope. Keep the existing room geometry unchanged.',
29+
'If reference images are attached, transfer only their style (palette, textures, furniture mood, lighting mood) and ignore their layout.',
30+
'Guidance for this image:',
3331
`• Room brief (silent): ${roomBrief || 'None'}`,
3432
`• Intended use: ${purpose || 'None'}`,
3533
`• User’s global guidance for this round: ${roundGuidance || 'None'}`,
3634
`• Selected favorites (as free-text, raw): ${favoritesTextBlock || 'None'}`,
3735
'',
38-
`Diversity hint for this image: ${diversityHint || 'None'}`,
36+
`Diversity hint: ${diversityHint || 'None'}`,
3937
'',
40-
'Generate ONE updated interior variant at 1024×682. Preserve perspective, room envelope, and structural boundaries exactly as shown.',
38+
'Generate ONE updated interior variant at 1024×682 while keeping the camera angle and room envelope identical to the base photo.',
4139
'Return ONE image and ONE short free-text paragraph (single paragraph) describing the mood, the key changes vs the base, and 2–3 ideas for the next iteration. Avoid logos/text.',
4240
].join('\n');
4341
}

src/utils/iteration-prompts.test.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,10 @@ describe('iteration prompts', () => {
3131
expect(prompt).toContain(
3232
'Selected favorites (as free-text, raw): Favorite descriptor'
3333
);
34+
expect(prompt).toContain('Diversity hint: slightly warmer palette');
35+
expect(prompt).toContain('Keep the existing room geometry unchanged');
3436
expect(prompt).toContain(
35-
'Diversity hint for this image: slightly warmer palette'
36-
);
37-
expect(prompt).toContain('Do not move, resize, or reshape walls');
38-
expect(prompt).toContain('Keep doors, windows, and room entries exactly');
39-
expect(prompt).toContain(
40-
'transfer only their style (palette, textures, furniture mood, lighting mood)—never their room shape'
37+
'transfer only their style (palette, textures, furniture mood, lighting mood) and ignore their layout'
4138
);
4239
});
4340

@@ -47,7 +44,7 @@ describe('iteration prompts', () => {
4744
expect(prompt).toContain('Intended use: None');
4845
expect(prompt).toContain('User’s global guidance for this round: None');
4946
expect(prompt).toContain('Selected favorites (as free-text, raw): None');
50-
expect(prompt).toContain('Diversity hint for this image: None');
47+
expect(prompt).toContain('Diversity hint: None');
5148
});
5249

5350
it('builds a finalization prompt with hi-res guidance', () => {

0 commit comments

Comments
 (0)