sinapse-ai 9.3.0 → 9.4.0

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.
Files changed (192) hide show
  1. package/.claude/CLAUDE.md +56 -343
  2. package/.claude/rules/agent-authority.md +6 -0
  3. package/.claude/rules/agent-handoff.md +5 -0
  4. package/.claude/rules/cross-squad-routing.md +5 -0
  5. package/.claude/rules/hook-governance.md +6 -0
  6. package/.claude/rules/mcp-usage.md +3 -1
  7. package/.claude/rules/safe-collaboration.md +10 -0
  8. package/.claude/rules/security-data-protection.md +9 -0
  9. package/.claude/rules/squad-awareness.md +3 -1
  10. package/.claude/rules/tool-examples.md +6 -0
  11. package/.claude/rules/workflow-execution.md +7 -0
  12. package/.codex/agents/analyst.md +253 -72
  13. package/.codex/agents/architect.md +455 -68
  14. package/.codex/agents/data-engineer.md +492 -106
  15. package/.codex/agents/developer.md +560 -0
  16. package/.codex/agents/devops.md +518 -69
  17. package/.codex/agents/product-lead.md +335 -0
  18. package/.codex/agents/project-lead.md +377 -0
  19. package/.codex/agents/quality-gate.md +449 -0
  20. package/.codex/agents/sinapse-orqx.md +9 -7
  21. package/.codex/agents/sprint-lead.md +287 -0
  22. package/.codex/agents/squad-creator.md +344 -0
  23. package/.codex/agents/ux-design-expert.md +495 -0
  24. package/.codex/delegation-matrix.json +756 -44
  25. package/.codex/handoff-packet.schema.json +30 -6
  26. package/.sinapse-ai/data/entity-registry.yaml +175 -363
  27. package/.sinapse-ai/data/registry-update-log.jsonl +16 -0
  28. package/.sinapse-ai/development/agents/analyst.md +90 -0
  29. package/.sinapse-ai/development/agents/architect.md +73 -0
  30. package/.sinapse-ai/development/agents/developer.md +69 -0
  31. package/.sinapse-ai/development/agents/devops.md +117 -0
  32. package/.sinapse-ai/development/agents/quality-gate.md +85 -0
  33. package/.sinapse-ai/development/checklists/agent-quality-gate.md +27 -0
  34. package/.sinapse-ai/development/checklists/brownfield-compatibility-checklist.md +20 -0
  35. package/.sinapse-ai/development/checklists/code-review-checklist.md +106 -0
  36. package/.sinapse-ai/development/checklists/issue-triage-checklist.md +9 -0
  37. package/.sinapse-ai/development/checklists/memory-audit-checklist.md +16 -0
  38. package/.sinapse-ai/development/checklists/pr-quality-checklist.md +72 -0
  39. package/.sinapse-ai/development/checklists/security-deployment-checklist.md +54 -0
  40. package/.sinapse-ai/development/checklists/self-critique-checklist.md +19 -1
  41. package/.sinapse-ai/development/skills/debug.md +57 -0
  42. package/.sinapse-ai/development/skills/fast-review.md +69 -0
  43. package/.sinapse-ai/development/skills/research-synthesis.md +77 -0
  44. package/.sinapse-ai/development/skills/security-scan.md +73 -0
  45. package/.sinapse-ai/development/skills/verify.md +53 -0
  46. package/.sinapse-ai/development/templates/squad/agent-template.md +17 -4
  47. package/.sinapse-ai/development/templates/squad/checklist-template.md +13 -5
  48. package/.sinapse-ai/development/templates/squad/task-template.md +7 -0
  49. package/.sinapse-ai/development/templates/squad/workflow-template.yaml +7 -0
  50. package/.sinapse-ai/development/workflows/fast-track.yaml +87 -0
  51. package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +3 -1
  52. package/.sinapse-ai/install-manifest.yaml +71 -35
  53. package/docs/codex-integration-process.md +22 -0
  54. package/docs/codex-parity-program.md +27 -0
  55. package/docs/ide-integration.md +36 -0
  56. package/package.json +1 -1
  57. package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +927 -0
  58. package/squads/squad-brand/knowledge-base/archetype-brand-mapping.md +12 -1
  59. package/squads/squad-brand/knowledge-base/brand-activism-cultural-branding.md +216 -0
  60. package/squads/squad-brand/knowledge-base/brand-audit-criteria.md +58 -0
  61. package/squads/squad-brand/knowledge-base/brand-digital-strategy.md +188 -0
  62. package/squads/squad-brand/knowledge-base/brand-legal-ip.md +222 -0
  63. package/squads/squad-brand/knowledge-base/brand-naming-framework.md +163 -0
  64. package/squads/squad-brand/knowledge-base/branding-master-reference.md +1001 -0
  65. package/squads/squad-brand/knowledge-base/color-psychology.md +25 -12
  66. package/squads/squad-brand/knowledge-base/employer-personal-branding.md +206 -0
  67. package/squads/squad-brand/knowledge-base/routing-catalog.md +34 -0
  68. package/squads/squad-brand/knowledge-base/sonic-branding-principles.md +6 -1
  69. package/squads/squad-brand/knowledge-base/typography-personality.md +34 -0
  70. package/squads/squad-claude/knowledge-base/context-window-optimization.md +334 -0
  71. package/squads/squad-claude/knowledge-base/knowledge-architecture-reference.md +403 -0
  72. package/squads/squad-claude/knowledge-base/memory-systems-reference.md +412 -0
  73. package/squads/squad-claude/knowledge-base/obsidian-claude-integration.md +423 -0
  74. package/squads/squad-claude/knowledge-base/retrieval-augmented-generation.md +320 -0
  75. package/squads/squad-claude/knowledge-base/skill-creation-patterns.md +380 -0
  76. package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +411 -0
  77. package/squads/squad-cloning/knowledge-base/clone-quality-assurance.md +211 -0
  78. package/squads/squad-cloning/knowledge-base/confidence-scoring.md +51 -0
  79. package/squads/squad-cloning/knowledge-base/cross-squad-deployment.md +47 -0
  80. package/squads/squad-cloning/knowledge-base/ethical-guidelines.md +237 -0
  81. package/squads/squad-cloning/knowledge-base/knowledge-graph-for-clones.md +295 -0
  82. package/squads/squad-cloning/knowledge-base/memory-architecture-for-clones.md +229 -0
  83. package/squads/squad-cloning/knowledge-base/multi-agent-deployment-patterns.md +320 -0
  84. package/squads/squad-cloning/knowledge-base/skill-standard-for-clones.md +262 -0
  85. package/squads/squad-cloning/knowledge-base/sop-extraction-guide.md +243 -0
  86. package/squads/squad-commercial/knowledge-base/account-based-selling.md +206 -0
  87. package/squads/squad-commercial/knowledge-base/ai-as-competitive-infrastructure.md +14 -0
  88. package/squads/squad-commercial/knowledge-base/ai-in-sales.md +199 -0
  89. package/squads/squad-commercial/knowledge-base/brazilian-sales-context.md +195 -0
  90. package/squads/squad-commercial/knowledge-base/customer-success-operations.md +83 -2
  91. package/squads/squad-commercial/knowledge-base/prospecting-pipeline-generation.md +69 -0
  92. package/squads/squad-commercial/knowledge-base/sales-enablement-playbook.md +260 -0
  93. package/squads/squad-commercial/knowledge-base/sales-methodology-comparison.md +185 -0
  94. package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +1123 -0
  95. package/squads/squad-content/knowledge-base/brazilian-content-context.md +176 -0
  96. package/squads/squad-content/knowledge-base/competitor-analysis-methods.md +40 -1
  97. package/squads/squad-content/knowledge-base/content-architecture-taxonomy.md +206 -0
  98. package/squads/squad-content/knowledge-base/content-formats-encyclopedia.md +58 -1
  99. package/squads/squad-content/knowledge-base/content-references-bibliography.md +130 -0
  100. package/squads/squad-content/knowledge-base/content-strategy-master-reference.md +1097 -0
  101. package/squads/squad-content/knowledge-base/content-tech-stack.md +150 -0
  102. package/squads/squad-content/knowledge-base/copywriting-formulas-library.md +188 -0
  103. package/squads/squad-content/knowledge-base/email-newsletter-strategy.md +161 -0
  104. package/squads/squad-content/knowledge-base/platform-algorithm-intelligence.md +86 -1
  105. package/squads/squad-content/knowledge-base/social-algorithms-master-reference.md +1007 -0
  106. package/squads/squad-content/knowledge-base/video-audio-content-playbook.md +218 -0
  107. package/squads/squad-copy/knowledge-base/ai-copy-production.md +254 -0
  108. package/squads/squad-copy/knowledge-base/brazilian-copywriting-context.md +242 -0
  109. package/squads/squad-copy/knowledge-base/email-copywriting-system.md +299 -0
  110. package/squads/squad-copy/knowledge-base/landing-page-copy-architecture.md +267 -0
  111. package/squads/squad-copy/knowledge-base/power-words-catalog.md +205 -0
  112. package/squads/squad-copy/knowledge-base/seo-copywriting.md +255 -0
  113. package/squads/squad-copy/knowledge-base/video-script-copywriting.md +239 -0
  114. package/squads/squad-council/knowledge-base/brand-strategy-models.md +193 -0
  115. package/squads/squad-council/knowledge-base/growth-strategy-models.md +267 -0
  116. package/squads/squad-council/knowledge-base/innovation-disruption-frameworks.md +193 -0
  117. package/squads/squad-council/knowledge-base/market-analysis-frameworks.md +240 -0
  118. package/squads/squad-council/knowledge-base/organizational-leadership-models.md +212 -0
  119. package/squads/squad-council/knowledge-base/sales-strategy-models.md +215 -0
  120. package/squads/squad-courses/knowledge-base/course-launch-strategy.md +251 -0
  121. package/squads/squad-courses/knowledge-base/domain-advocacia-curriculum.md +385 -0
  122. package/squads/squad-courses/knowledge-base/domain-contabilidade-curriculum.md +266 -0
  123. package/squads/squad-courses/knowledge-base/platform-comparison.md +68 -0
  124. package/squads/squad-courses/knowledge-base/video-production-guide.md +70 -0
  125. package/squads/squad-cybersecurity/knowledge-base/cloud-security-reference.md +363 -0
  126. package/squads/squad-cybersecurity/knowledge-base/compliance-frameworks.md +273 -0
  127. package/squads/squad-cybersecurity/knowledge-base/database-security.md +438 -0
  128. package/squads/squad-cybersecurity/knowledge-base/incident-response-playbook.md +420 -0
  129. package/squads/squad-cybersecurity/knowledge-base/network-security-reference.md +477 -0
  130. package/squads/squad-cybersecurity/knowledge-base/penetration-testing-methodology.md +350 -0
  131. package/squads/squad-cybersecurity/knowledge-base/vulnerability-management.md +349 -0
  132. package/squads/squad-design/knowledge-base/brazilian-design-context.md +223 -0
  133. package/squads/squad-design/knowledge-base/component-api-patterns.md +208 -4
  134. package/squads/squad-design/knowledge-base/design-system-master-reference.md +1302 -0
  135. package/squads/squad-design/knowledge-base/design-systems-frameworks.md +91 -1
  136. package/squads/squad-design/knowledge-base/responsive-modern-css.md +96 -4
  137. package/squads/squad-design/knowledge-base/wcag-aria-reference.md +117 -5
  138. package/squads/squad-design/knowledge-base/web-performance-reference.md +127 -4
  139. package/squads/squad-finance/knowledge-base/brazilian-taxation.md +263 -0
  140. package/squads/squad-finance/knowledge-base/contabilidade-master-reference.md +998 -0
  141. package/squads/squad-finance/knowledge-base/finance-master-reference.md +946 -0
  142. package/squads/squad-finance/knowledge-base/financial-reporting-analysis.md +316 -0
  143. package/squads/squad-finance/knowledge-base/fintech-brazilian-context.md +242 -0
  144. package/squads/squad-finance/knowledge-base/fpa-planning-frameworks.md +286 -0
  145. package/squads/squad-finance/knowledge-base/ma-and-transactions.md +285 -0
  146. package/squads/squad-finance/knowledge-base/risk-management.md +233 -0
  147. package/squads/squad-finance/knowledge-base/startups-venture-capital.md +337 -0
  148. package/squads/squad-growth/knowledge-base/ai-growth-playbook.md +216 -0
  149. package/squads/squad-growth/knowledge-base/attribution-models.md +78 -0
  150. package/squads/squad-growth/knowledge-base/brazilian-growth-context.md +208 -0
  151. package/squads/squad-growth/knowledge-base/community-led-growth.md +175 -0
  152. package/squads/squad-growth/knowledge-base/content-marketing-flywheel.md +190 -0
  153. package/squads/squad-growth/knowledge-base/email-lifecycle-framework.md +192 -0
  154. package/squads/squad-growth/knowledge-base/growth-frameworks-catalog.md +82 -0
  155. package/squads/squad-growth/knowledge-base/growth-master-reference.md +1168 -0
  156. package/squads/squad-growth/knowledge-base/routing-catalog.md +53 -11
  157. package/squads/squad-paidmedia/knowledge-base/audiences-segmentation-deep.md +285 -0
  158. package/squads/squad-paidmedia/knowledge-base/creative-strategy-deep.md +294 -0
  159. package/squads/squad-paidmedia/knowledge-base/google-ads-account-architecture.md +87 -0
  160. package/squads/squad-paidmedia/knowledge-base/meta-ads-campaign-architecture.md +76 -0
  161. package/squads/squad-paidmedia/knowledge-base/paid-media-metrics-reference.md +117 -0
  162. package/squads/squad-paidmedia/knowledge-base/paid-traffic-master-reference.md +1308 -0
  163. package/squads/squad-paidmedia/knowledge-base/routing-catalog.md +95 -18
  164. package/squads/squad-paidmedia/knowledge-base/traffic-masters-frameworks.md +71 -0
  165. package/squads/squad-product/knowledge-base/brazilian-product-context.md +284 -0
  166. package/squads/squad-product/knowledge-base/discovery-methodology-playbook.md +141 -0
  167. package/squads/squad-product/knowledge-base/pm-frameworks-reference.md +125 -9
  168. package/squads/squad-product/knowledge-base/product-analytics-formulas.md +72 -0
  169. package/squads/squad-product/knowledge-base/product-led-growth-reference.md +155 -13
  170. package/squads/squad-product/knowledge-base/product-market-fit-framework.md +222 -0
  171. package/squads/squad-product/knowledge-base/routing-catalog.md +32 -0
  172. package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +591 -0
  173. package/squads/squad-research/knowledge-base/ai-augmented-research.md +212 -0
  174. package/squads/squad-research/knowledge-base/brazilian-market-research-sources.md +197 -0
  175. package/squads/squad-research/knowledge-base/community-platforms-reference.md +786 -0
  176. package/squads/squad-research/knowledge-base/community-research-methods.md +194 -0
  177. package/squads/squad-research/knowledge-base/mixed-methods-research-design.md +168 -0
  178. package/squads/squad-research/knowledge-base/network-effects-analysis.md +192 -0
  179. package/squads/squad-research/knowledge-base/qualitative-research-deep-methods.md +202 -0
  180. package/squads/squad-research/knowledge-base/quantitative-research-methods.md +208 -0
  181. package/squads/squad-research/knowledge-base/research-frameworks-encyclopedia.md +40 -0
  182. package/squads/squad-research/knowledge-base/research-synthesis-frameworks.md +223 -0
  183. package/squads/squad-storytelling/knowledge-base/brand-mythology-framework.md +236 -0
  184. package/squads/squad-storytelling/knowledge-base/brazilian-storytelling-context.md +237 -0
  185. package/squads/squad-storytelling/knowledge-base/data-storytelling.md +232 -0
  186. package/squads/squad-storytelling/knowledge-base/improv-storytelling.md +226 -0
  187. package/squads/squad-storytelling/knowledge-base/persuasion-narrative-techniques.md +269 -0
  188. package/squads/squad-storytelling/knowledge-base/social-movement-narratives.md +191 -0
  189. package/squads/squad-storytelling/knowledge-base/video-storytelling.md +252 -0
  190. package/squads/claude-code-mastery/data/swarm-orchestration-patterns.yaml +0 -378
  191. package/squads/squad-animations/knowledge-base/framer-motion-complete-reference.md +0 -710
  192. package/squads/squad-animations/knowledge-base/web-animations-api-view-transitions.md +0 -478
@@ -1,478 +0,0 @@
1
- # Web Animations API + View Transitions API — Native Browser Animations
2
-
3
- > APIs nativas do browser para animacoes sem dependencias externas.
4
- > Complementam GSAP/Framer Motion com acesso de baixo nivel e zero bundle cost.
5
-
6
- ---
7
-
8
- ## 1. Web Animations API (WAAPI)
9
-
10
- API nativa que expoe o mesmo motor de animacao que CSS usa internamente.
11
- Zero dependencias, excelente para animacoes programaticas e performance-critical.
12
-
13
- ### Suporte
14
- - Chrome 36+, Firefox 48+, Safari 13.1+
15
- - Suporte completo (incluindo `KeyframeEffect`) em todos os browsers modernos
16
-
17
- ### Animacao basica
18
-
19
- ```javascript
20
- // Equivalente a CSS animation: fadeIn 0.3s ease-out forwards;
21
- const element = document.querySelector('.card');
22
-
23
- const animation = element.animate(
24
- [
25
- { opacity: 0, transform: 'translateY(20px)' }, // keyframe 0%
26
- { opacity: 1, transform: 'translateY(0)' } // keyframe 100%
27
- ],
28
- {
29
- duration: 300,
30
- easing: 'cubic-bezier(0.16, 1, 0.3, 1)',
31
- fill: 'forwards', // Manter estado final
32
- delay: 0,
33
- iterations: 1,
34
- }
35
- );
36
-
37
- // Promises para sequenciamento
38
- await animation.finished;
39
- // Proximo passo aqui
40
- ```
41
-
42
- ### Controle imperativo (vantagem sobre CSS)
43
-
44
- ```javascript
45
- const animation = element.animate(keyframes, options);
46
-
47
- animation.pause(); // Pausar
48
- animation.play(); // Reproduzir
49
- animation.reverse(); // Inverter direcao
50
- animation.cancel(); // Cancelar (volta ao estado original)
51
- animation.finish(); // Pular para o fim
52
-
53
- // Controlar tempo diretamente
54
- animation.currentTime = 150; // Ir para 150ms
55
- animation.playbackRate = 2; // Velocidade 2x
56
-
57
- // Estado
58
- animation.playState; // "running" | "paused" | "finished" | "idle"
59
- animation.ready; // Promise que resolve quando comeca
60
- animation.finished; // Promise que resolve quando termina
61
- ```
62
-
63
- ### Keyframe Effects — Composicao
64
-
65
- ```javascript
66
- // KeyframeEffect permite reutilizar keyframes
67
- const fadeInKeyframes = new KeyframeEffect(
68
- null, // Elemento adicionado depois
69
- [{ opacity: 0 }, { opacity: 1 }],
70
- { duration: 300, fill: 'forwards' }
71
- );
72
-
73
- // Reutilizar para multiplos elementos
74
- document.querySelectorAll('.card').forEach((card, index) => {
75
- const effect = new KeyframeEffect(
76
- card,
77
- fadeInKeyframes.getKeyframes(),
78
- {
79
- ...fadeInKeyframes.getTiming(),
80
- delay: index * 50, // Stagger
81
- }
82
- );
83
- new Animation(effect, document.timeline).play();
84
- });
85
- ```
86
-
87
- ### GroupEffect + SequenceEffect (Animation Worklet)
88
-
89
- ```javascript
90
- // Sequencia de animacoes (experimental — Chrome only)
91
- const group = new GroupEffect([
92
- new KeyframeEffect(title, [{ opacity: 0 }, { opacity: 1 }], 500),
93
- new KeyframeEffect(subtitle, [{ opacity: 0 }, { opacity: 1 }], { duration: 500, delay: 200 }),
94
- ]);
95
- new Animation(group).play();
96
- ```
97
-
98
- ### getAnimations() — Inspecao e Controle
99
-
100
- ```javascript
101
- // Pausar TODAS as animacoes de um elemento
102
- element.getAnimations().forEach(anim => anim.pause());
103
-
104
- // Pausar animacoes da pagina inteira (menu "pause animations")
105
- document.getAnimations().forEach(anim => anim.pause());
106
-
107
- // Listar animacoes CSS em andamento
108
- const cssAnimations = element.getAnimations().filter(a => a instanceof CSSAnimation);
109
- const cssTransitions = element.getAnimations().filter(a => a instanceof CSSTransition);
110
- ```
111
-
112
- ### Scroll Timeline (CSS nativa + WAAPI)
113
-
114
- ```javascript
115
- // Criar scroll timeline programaticamente
116
- const scrollTimeline = new ScrollTimeline({
117
- source: document.scrollingElement,
118
- axis: 'block', // "block" (vertical) | "inline" (horizontal)
119
- });
120
-
121
- // Animar com scroll como timeline
122
- element.animate(
123
- [
124
- { opacity: 0, transform: 'translateY(50px)' },
125
- { opacity: 1, transform: 'translateY(0)' }
126
- ],
127
- {
128
- duration: 1000,
129
- timeline: scrollTimeline,
130
- rangeStart: 'entry 0%', // Quando elemento entra no viewport
131
- rangeEnd: 'entry 100%', // Quando elemento terminou de entrar
132
- fill: 'both',
133
- }
134
- );
135
-
136
- // View timeline — para animacoes baseadas em visibilidade de elemento
137
- const viewTimeline = new ViewTimeline({ subject: element });
138
-
139
- otherElement.animate(
140
- [{ opacity: 0 }, { opacity: 1 }],
141
- {
142
- duration: 1000,
143
- timeline: viewTimeline,
144
- rangeStart: 'entry 20%',
145
- rangeEnd: 'entry 80%',
146
- fill: 'both',
147
- }
148
- );
149
- ```
150
-
151
- ---
152
-
153
- ## 2. CSS Scroll-Driven Animations (Native)
154
-
155
- CSS puro para animacoes baseadas em scroll. Chrome 115+. Zero JavaScript.
156
-
157
- ### animation-timeline: scroll()
158
-
159
- ```css
160
- /* Barra de progresso de leitura */
161
- @keyframes progress {
162
- from { width: 0%; }
163
- to { width: 100%; }
164
- }
165
-
166
- .reading-progress {
167
- position: fixed;
168
- top: 0; left: 0;
169
- height: 4px;
170
- background: #0066ff;
171
- animation: progress linear;
172
- animation-timeline: scroll(root block); /* scroll(elemento eixo) */
173
- animation-fill-mode: both;
174
- }
175
- ```
176
-
177
- ### animation-timeline: view()
178
-
179
- ```css
180
- /* Reveal ao entrar no viewport — zero JS */
181
- @keyframes reveal {
182
- from {
183
- opacity: 0;
184
- transform: translateY(50px);
185
- }
186
- to {
187
- opacity: 1;
188
- transform: translateY(0);
189
- }
190
- }
191
-
192
- .scroll-reveal {
193
- animation: reveal linear;
194
- animation-timeline: view();
195
- /* Quando o elemento aparece ate quando termina de aparecer */
196
- animation-range: entry 0% entry 100%;
197
- animation-fill-mode: both;
198
- }
199
- ```
200
-
201
- ### animation-range — Controle Fino
202
-
203
- ```css
204
- /* Diferentes ranges para diferentes efeitos */
205
-
206
- /* Animar enquanto entra no viewport */
207
- .fade-in {
208
- animation-range: entry 0% entry 50%;
209
- }
210
-
211
- /* Animar enquanto sai do viewport */
212
- .fade-out {
213
- animation-range: exit 0% exit 100%;
214
- }
215
-
216
- /* Conteiner coberto — animar quando conteudo cobre o elemento */
217
- .parallax-bg {
218
- animation-range: cover 0% cover 100%;
219
- }
220
-
221
- /* Intervalo explicito em pixels/% */
222
- .timed-reveal {
223
- animation-range: entry 20% cover 60%;
224
- }
225
- ```
226
-
227
- ### Named scroll timelines
228
-
229
- ```css
230
- /* Definir timeline em ancestral */
231
- .scroll-container {
232
- overflow: scroll;
233
- scroll-timeline: --my-scroll block; /* nome e eixo */
234
- }
235
-
236
- /* Usar timeline nomeada em descendente */
237
- .animated-child {
238
- animation: reveal linear;
239
- animation-timeline: --my-scroll;
240
- animation-range: entry 0% entry 100%;
241
- }
242
- ```
243
-
244
- ### Parallax CSS puro
245
-
246
- ```css
247
- .parallax-element {
248
- animation: parallax-move linear;
249
- animation-timeline: scroll();
250
- animation-fill-mode: both;
251
- }
252
-
253
- @keyframes parallax-move {
254
- from { transform: translateY(0); }
255
- to { transform: translateY(-200px); }
256
- }
257
- ```
258
-
259
- ### Suporte e Fallback
260
-
261
- ```css
262
- /* Verificar suporte */
263
- @supports (animation-timeline: scroll()) {
264
- .scroll-reveal {
265
- animation: reveal linear;
266
- animation-timeline: view();
267
- animation-range: entry 0% entry 100%;
268
- }
269
- }
270
-
271
- /* Fallback para browsers sem suporte */
272
- .scroll-reveal {
273
- /* Estado visivel como default (sem animacao) */
274
- opacity: 1;
275
- transform: none;
276
- }
277
- ```
278
-
279
- ---
280
-
281
- ## 3. View Transitions API
282
-
283
- API nativa para transicoes entre paginas e estados UI. Chrome 111+.
284
- Safari 18+ (cross-document). Firefox em desenvolvimento.
285
-
286
- ### Same-document View Transitions
287
-
288
- ```javascript
289
- // Transicao de estado simples
290
- function updateContent(newContent) {
291
- // Sem suporte — atualiza instantaneamente
292
- if (!document.startViewTransition) {
293
- updateDOM(newContent);
294
- return;
295
- }
296
-
297
- // Com suporte — anima a transicao
298
- document.startViewTransition(() => {
299
- updateDOM(newContent);
300
- });
301
- }
302
-
303
- // Com callback apos animacao
304
- const transition = document.startViewTransition(updateDOM);
305
- await transition.ready; // DOM atualizado, animacao iniciada
306
- await transition.finished; // Animacao completa
307
- ```
308
-
309
- ### CSS para View Transitions
310
-
311
- ```css
312
- /* Pseudo-elements criados automaticamente */
313
- ::view-transition-old(root) {
314
- /* O "before" screenshot animando para fora */
315
- animation: fade-out 0.25s ease-out;
316
- }
317
-
318
- ::view-transition-new(root) {
319
- /* O "after" screenshot animando para dentro */
320
- animation: fade-in 0.25s ease-in;
321
- }
322
-
323
- @keyframes fade-out {
324
- from { opacity: 1; }
325
- to { opacity: 0; }
326
- }
327
-
328
- @keyframes fade-in {
329
- from { opacity: 0; }
330
- to { opacity: 1; }
331
- }
332
- ```
333
-
334
- ### Elementos nomeados (Shared Element Transitions)
335
-
336
- ```css
337
- /* Dar nome a elemento especifico */
338
- .hero-image {
339
- view-transition-name: hero-image;
340
- }
341
-
342
- .product-title {
343
- view-transition-name: product-title;
344
- }
345
-
346
- /* Controlar animacao do elemento especifico */
347
- ::view-transition-old(hero-image) {
348
- animation: scale-down 0.3s ease-out;
349
- }
350
-
351
- ::view-transition-new(hero-image) {
352
- animation: scale-up 0.3s ease-out;
353
- }
354
-
355
- @keyframes scale-down {
356
- from { transform: scale(1); }
357
- to { transform: scale(0.8); opacity: 0; }
358
- }
359
-
360
- @keyframes scale-up {
361
- from { transform: scale(0.8); opacity: 0; }
362
- to { transform: scale(1); }
363
- }
364
- ```
365
-
366
- ### Next.js com View Transitions
367
-
368
- ```tsx
369
- 'use client';
370
- import { useRouter } from 'next/navigation';
371
-
372
- export function ViewTransitionLink({ href, children }) {
373
- const router = useRouter();
374
-
375
- const handleClick = (e: React.MouseEvent) => {
376
- e.preventDefault();
377
-
378
- if (!document.startViewTransition) {
379
- router.push(href);
380
- return;
381
- }
382
-
383
- document.startViewTransition(() => {
384
- router.push(href);
385
- });
386
- };
387
-
388
- return <a href={href} onClick={handleClick}>{children}</a>;
389
- }
390
- ```
391
-
392
- ### Cross-document View Transitions (MPA)
393
-
394
- ```html
395
- <!-- Ativar em cada pagina (Chrome 126+) -->
396
- <meta name="view-transition" content="same-origin" />
397
- ```
398
-
399
- ```css
400
- /* CSS e aplicado em ambas as paginas para cross-document */
401
- .hero {
402
- view-transition-name: page-hero;
403
- }
404
-
405
- /* Na pagina de destino, o mesmo elemento com mesmo nome anima */
406
- ```
407
-
408
- ### Tipos de View Transitions
409
-
410
- ```javascript
411
- // Transicoes com tipos diferentes para direcoes
412
- function navigateForward(href) {
413
- document.startViewTransition({
414
- update: () => router.push(href),
415
- types: ['slide-forward'], // CSS pode usar @keyframes com tipo
416
- });
417
- }
418
-
419
- function navigateBack(href) {
420
- document.startViewTransition({
421
- update: () => router.push(href),
422
- types: ['slide-back'],
423
- });
424
- }
425
- ```
426
-
427
- ```css
428
- /* Keyframes seletivos por tipo */
429
- @keyframes slide-out-left {
430
- to { transform: translateX(-100%); }
431
- }
432
-
433
- @keyframes slide-in-right {
434
- from { transform: translateX(100%); }
435
- }
436
-
437
- /* Aplicar apenas quando tipo = slide-forward */
438
- :root:active-view-transition-type(slide-forward) {
439
- &::view-transition-old(root) {
440
- animation: slide-out-left 0.3s ease-out;
441
- }
442
- &::view-transition-new(root) {
443
- animation: slide-in-right 0.3s ease-out;
444
- }
445
- }
446
- ```
447
-
448
- ---
449
-
450
- ## 4. Quando Usar Cada API
451
-
452
- | Cenario | API Recomendada |
453
- |---------|----------------|
454
- | Animacao simples sem dependencias | WAAPI |
455
- | Scroll reveal CSS-only | CSS Scroll-Driven |
456
- | Barra de progresso de leitura | CSS Scroll-Driven |
457
- | Parallax suave sem JS | CSS Scroll-Driven |
458
- | Page transitions SPA | View Transitions API |
459
- | Shared element transitions | View Transitions API |
460
- | Animacoes complexas, timeline | GSAP |
461
- | Componentes React, micro-interactions | Framer Motion |
462
- | Controlar/inspecionar CSS animations | WAAPI (getAnimations) |
463
- | Pausar animacoes (acessibilidade) | WAAPI (document.getAnimations) |
464
-
465
- ---
466
-
467
- ## 5. Suporte a Browsers (2025-2026)
468
-
469
- | API | Chrome | Firefox | Safari | Edge |
470
- |-----|--------|---------|--------|------|
471
- | WAAPI basica | 75+ | 63+ | 13.1+ | 79+ |
472
- | ScrollTimeline/ViewTimeline | 115+ | Em dev | Nao | 115+ |
473
- | CSS scroll-driven | 115+ | Em dev | Nao | 115+ |
474
- | View Transitions (same-doc) | 111+ | Em dev | 18+ | 111+ |
475
- | View Transitions (cross-doc) | 126+ | Em dev | 18+ | 126+ |
476
- | View Transition types | 125+ | Nao | Nao | 125+ |
477
-
478
- **Estrategia de progressive enhancement:** Sempre verificar suporte antes de usar, fornecer fallback funcional.