@mindstudio-ai/remy 0.1.131 → 0.1.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/headless.js CHANGED
@@ -4707,7 +4707,7 @@ Use <current_deck> as your starting point and replace or update the content as n
4707
4707
  ### Rules
4708
4708
  - The deck must be a single HTML file \u2014 it will be rendered in an iframe.
4709
4709
  - Must look beautiful on desktop and mobile.
4710
- - Animation between slides must be seamless, no flicker or flashing. For reveal animations: hide elements with CSS \`opacity: 0\` only (no transform in CSS). Let GSAP handle transforms via inline styles and never use \`clearProps\`.
4710
+ - Animation between slides must be seamless, no flicker or flashing. For reveal animations: hide elements with CSS \`opacity: 0\` only (no transform in CSS). Let GSAP handle transforms via inline styles and never use \`clearProps\`. Use the existing scaffold, do not write your own transition logic or slide mechanics.
4711
4711
  - Be bold and impactful.
4712
4712
  - Code must be clean, bug free, and easy to parse. Use GSAP for animations.
4713
4713
  - Keep the progress bar and edge chevrons from the shell \u2014 they are part of the navigation UX.
package/dist/index.js CHANGED
@@ -4664,7 +4664,7 @@ Use <current_deck> as your starting point and replace or update the content as n
4664
4664
  ### Rules
4665
4665
  - The deck must be a single HTML file \u2014 it will be rendered in an iframe.
4666
4666
  - Must look beautiful on desktop and mobile.
4667
- - Animation between slides must be seamless, no flicker or flashing. For reveal animations: hide elements with CSS \`opacity: 0\` only (no transform in CSS). Let GSAP handle transforms via inline styles and never use \`clearProps\`.
4667
+ - Animation between slides must be seamless, no flicker or flashing. For reveal animations: hide elements with CSS \`opacity: 0\` only (no transform in CSS). Let GSAP handle transforms via inline styles and never use \`clearProps\`. Use the existing scaffold, do not write your own transition logic or slide mechanics.
4668
4668
  - Be bold and impactful.
4669
4669
  - Code must be clean, bug free, and easy to parse. Use GSAP for animations.
4670
4670
  - Keep the progress bar and edge chevrons from the shell \u2014 they are part of the navigation UX.
@@ -150,11 +150,14 @@ html, body {
150
150
 
151
151
  @media (max-width: 768px) {
152
152
  .slide { padding: 32px 24px; }
153
- .nav { bottom: 24px; }
154
153
  }
155
154
 
155
+ /* Reveal: elements with data-reveal start hidden, GSAP animates them in */
156
+ [data-reveal] { opacity: 0; }
157
+
156
158
  @media (prefers-reduced-motion: reduce) {
157
159
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
160
+ [data-reveal] { opacity: 1 !important; }
158
161
  }
159
162
  </style>
160
163
  </head>
@@ -165,18 +168,18 @@ html, body {
165
168
  <div class="deck" id="deck">
166
169
 
167
170
  <div class="slide slide-dark" data-index="0">
168
- <h1>Slide One</h1>
169
- <p>Placeholder subtitle text</p>
171
+ <h1 data-reveal>Slide One</h1>
172
+ <p data-reveal>Placeholder subtitle text</p>
170
173
  </div>
171
174
 
172
175
  <div class="slide slide-light" data-index="1">
173
- <h1 style="color:var(--text-dark)">Slide Two</h1>
174
- <p>Another placeholder</p>
176
+ <h1 data-reveal style="color:var(--text-dark)">Slide Two</h1>
177
+ <p data-reveal>Another placeholder</p>
175
178
  </div>
176
179
 
177
180
  <div class="slide slide-dark" data-index="2">
178
- <h1>Slide Three</h1>
179
- <p>Final placeholder</p>
181
+ <h1 data-reveal>Slide Three</h1>
182
+ <p data-reveal>Final placeholder</p>
180
183
  </div>
181
184
 
182
185
  </div>
@@ -204,6 +207,8 @@ html, body {
204
207
  const tapPrev = document.getElementById('tapPrev');
205
208
  const tapNext = document.getElementById('tapNext');
206
209
  const progress = document.getElementById('progress');
210
+ const chevronPrev = document.getElementById('chevronPrev');
211
+ const chevronNext = document.getElementById('chevronNext');
207
212
 
208
213
  // Build progress segments
209
214
  for (let i = 0; i < totalSlides; i++) {
@@ -226,15 +231,30 @@ html, body {
226
231
  chevronPrev.classList.toggle('hidden', current === 0);
227
232
  chevronNext.classList.toggle('hidden', current === totalSlides - 1);
228
233
 
229
- // Light/dark adjustment
230
- const isLight = slides[current].classList.contains('slide-light');
234
+ // Light/dark adjustment — checks class or data-theme attribute
235
+ const s = slides[current];
236
+ const isLight = s.classList.contains('slide-light') || s.classList.contains('s-light') || s.dataset.theme === 'light';
231
237
  progress.classList.toggle('light', isLight);
232
238
  chevronPrev.classList.toggle('light', isLight);
233
239
  chevronNext.classList.toggle('light', isLight);
234
240
  }
235
241
 
236
- const chevronPrev = document.getElementById('chevronPrev');
237
- const chevronNext = document.getElementById('chevronNext');
242
+ // Slide content reveal — called once per slide on first visit.
243
+ // Elements with [data-reveal] start hidden (CSS opacity:0) and
244
+ // animate in. Override this function to customize per-slide animations.
245
+ const revealed = new Set();
246
+ function revealSlide(index) {
247
+ if (revealed.has(index)) return;
248
+ revealed.add(index);
249
+ const els = slides[index].querySelectorAll('[data-reveal]');
250
+ els.forEach((el, i) => {
251
+ const delay = (parseFloat(el.dataset.reveal) || 0) + i * 0.04;
252
+ gsap.fromTo(el,
253
+ { opacity: 0, y: 16 },
254
+ { opacity: 1, y: 0, duration: 0.5, delay, ease: 'power2.out' }
255
+ );
256
+ });
257
+ }
238
258
 
239
259
  function goTo(index) {
240
260
  if (index === current || isAnimating || index < 0 || index >= totalSlides) return;
@@ -246,7 +266,10 @@ html, body {
246
266
  x: -current * window.innerWidth,
247
267
  duration: 0.4,
248
268
  ease: 'power2.inOut',
249
- onComplete: () => { isAnimating = false; }
269
+ onComplete: () => {
270
+ revealSlide(current);
271
+ isAnimating = false;
272
+ }
250
273
  });
251
274
  }
252
275
 
@@ -287,9 +310,11 @@ html, body {
287
310
  resizeTimer = setTimeout(() => gsap.set(deck, { x: -current * window.innerWidth }), 100);
288
311
  });
289
312
 
290
- // Init
313
+ // Init — first slide is visible immediately, no reveal animation
291
314
  gsap.set(deck, { x: 0 });
292
315
  updateNav();
316
+ revealed.add(0);
317
+ slides[0].querySelectorAll('[data-reveal]').forEach(el => { el.style.opacity = 1; });
293
318
  })();
294
319
  </script>
295
320
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindstudio-ai/remy",
3
- "version": "0.1.131",
3
+ "version": "0.1.132",
4
4
  "description": "MindStudio coding agent",
5
5
  "repository": {
6
6
  "type": "git",