@jaimevalasek/aioson 1.5.1 → 1.7.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.
- package/CHANGELOG.md +49 -0
- package/README.md +729 -226
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/integrations/sdlc-genius-boundary.md +76 -0
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
- package/docs/integrations/sdlc-genius-review-samples.md +86 -0
- package/docs/pt/README.md +10 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +9 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +915 -1
- package/docs/pt/design-hybrid-forge.md +356 -0
- package/docs/pt/devlog-pipeline.md +270 -0
- package/docs/pt/fluxo-artefatos.md +178 -0
- package/docs/pt/hooks-session-guard.md +454 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +158 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/sdd-automation-scripts.md +557 -0
- package/docs/pt/site-forge.md +309 -0
- package/docs/pt/skills.md +98 -6
- package/docs/pt/spec-learnings-pipeline.md +265 -0
- package/package.json +1 -1
- package/src/a2a/client.js +165 -0
- package/src/a2a/server.js +223 -0
- package/src/agent-loader.js +280 -0
- package/src/cli.js +329 -1
- package/src/commands/agent-audit.js +397 -0
- package/src/commands/agent-export-skill.js +229 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/artifact-validate.js +189 -0
- package/src/commands/brief-gen.js +405 -0
- package/src/commands/brief-validate.js +65 -0
- package/src/commands/classify.js +256 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-compact.js +49 -0
- package/src/commands/context-health.js +175 -0
- package/src/commands/context-monitor.js +163 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/context-trim.js +177 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/detect-test-runner.js +55 -0
- package/src/commands/devlog-export-brains.js +27 -0
- package/src/commands/devlog-process.js +292 -0
- package/src/commands/devlog-watch.js +131 -0
- package/src/commands/feature-close.js +165 -0
- package/src/commands/gate-check.js +228 -0
- package/src/commands/health.js +214 -0
- package/src/commands/hooks-emit.js +253 -0
- package/src/commands/hooks-install.js +347 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-auto-promote.js +195 -0
- package/src/commands/learning-evolve.js +364 -0
- package/src/commands/learning-export.js +103 -0
- package/src/commands/learning-rollback.js +164 -0
- package/src/commands/live.js +59 -1
- package/src/commands/pattern-detect.js +33 -0
- package/src/commands/preflight-context.js +30 -0
- package/src/commands/preflight.js +208 -0
- package/src/commands/pulse-update.js +130 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/runner-daemon.js +274 -0
- package/src/commands/runner-plan.js +70 -0
- package/src/commands/runner-queue-from-plan.js +166 -0
- package/src/commands/runner-queue.js +189 -0
- package/src/commands/runner-run.js +129 -0
- package/src/commands/runtime.js +47 -1
- package/src/commands/sandbox.js +37 -0
- package/src/commands/self-implement-loop.js +256 -0
- package/src/commands/session-guard.js +218 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/sizing.js +165 -0
- package/src/commands/skill.js +144 -32
- package/src/commands/spec-checkpoint.js +177 -0
- package/src/commands/spec-status.js +79 -0
- package/src/commands/spec-sync.js +190 -0
- package/src/commands/spec-tasks.js +288 -0
- package/src/commands/squad-autorun.js +1220 -0
- package/src/commands/squad-bus.js +217 -0
- package/src/commands/squad-card.js +149 -0
- package/src/commands/squad-daemon.js +134 -0
- package/src/commands/squad-dependency-graph.js +164 -0
- package/src/commands/squad-review.js +106 -0
- package/src/commands/squad-scaffold.js +55 -0
- package/src/commands/squad-tool-register.js +157 -0
- package/src/commands/state-save.js +122 -0
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +9 -0
- package/src/commands/verify-gate.js +572 -0
- package/src/commands/workflow-execute.js +241 -0
- package/src/constants.js +18 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +475 -0
- package/src/installer.js +44 -10
- package/src/lib/health-check.js +158 -0
- package/src/lib/hook-protocol.js +76 -0
- package/src/mcp/apps/squad-dashboard/app.js +163 -0
- package/src/mcp/apps/squad-dashboard/index.html +261 -0
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
- package/src/mcp/resources/squad-state.js +130 -0
- package/src/parser.js +7 -1
- package/src/preflight-engine.js +443 -0
- package/src/recovery-context-session.js +154 -0
- package/src/runner/cascade.js +97 -0
- package/src/runner/cli-launcher.js +109 -0
- package/src/runner/plan-importer.js +63 -0
- package/src/runner/queue-store.js +159 -0
- package/src/runtime-store.js +158 -4
- package/src/sandbox.js +177 -0
- package/src/squad/agent-teams-adapter.js +264 -0
- package/src/squad/brief-validator.js +350 -0
- package/src/squad/bus-bridge.js +140 -0
- package/src/squad/context-compactor.js +265 -0
- package/src/squad/cross-ai-synthesizer.js +250 -0
- package/src/squad/hooks-generator.js +196 -0
- package/src/squad/inter-squad-events.js +175 -0
- package/src/squad/intra-bus.js +345 -0
- package/src/squad/learning-extractor.js +213 -0
- package/src/squad/pattern-detector.js +365 -0
- package/src/squad/preflight-context.js +296 -0
- package/src/squad/recovery-context.js +242 -71
- package/src/squad/reflection.js +365 -0
- package/src/squad/squad-scaffold.js +177 -0
- package/src/squad/state-manager.js +310 -0
- package/src/squad/task-decomposer.js +652 -0
- package/src/squad/verify-gate.js +303 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +10 -3
- package/src/worker-runner.js +186 -1
- package/template/.aioson/agents/analyst.md +119 -3
- package/template/.aioson/agents/architect.md +98 -0
- package/template/.aioson/agents/design-hybrid-forge.md +141 -0
- package/template/.aioson/agents/dev.md +335 -14
- package/template/.aioson/agents/deyvin.md +117 -2
- package/template/.aioson/agents/discovery-design-doc.md +44 -0
- package/template/.aioson/agents/genome.md +14 -0
- package/template/.aioson/agents/neo.md +78 -1
- package/template/.aioson/agents/orache.md +50 -4
- package/template/.aioson/agents/orchestrator.md +197 -1
- package/template/.aioson/agents/pm.md +93 -0
- package/template/.aioson/agents/product.md +77 -4
- package/template/.aioson/agents/profiler-enricher.md +14 -0
- package/template/.aioson/agents/profiler-forge.md +14 -0
- package/template/.aioson/agents/profiler-researcher.md +14 -0
- package/template/.aioson/agents/qa.md +249 -19
- package/template/.aioson/agents/setup.md +144 -12
- package/template/.aioson/agents/sheldon.md +237 -11
- package/template/.aioson/agents/site-forge.md +1753 -0
- package/template/.aioson/agents/squad.md +162 -0
- package/template/.aioson/agents/tester.md +209 -0
- package/template/.aioson/agents/ux-ui.md +34 -1
- package/template/.aioson/brains/README.md +128 -0
- package/template/.aioson/brains/_index.json +16 -0
- package/template/.aioson/brains/scripts/query.js +103 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
- package/template/.aioson/config.md +158 -13
- package/template/.aioson/constitution.md +33 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/project-pulse.md +34 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/docs/LAYERS.md +79 -0
- package/template/.aioson/docs/README.md +76 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -0
- package/template/.aioson/locales/en/agents/architect.md +17 -0
- package/template/.aioson/locales/en/agents/dev.md +79 -13
- package/template/.aioson/locales/en/agents/orache.md +6 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
- package/template/.aioson/locales/en/agents/product.md +50 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/en/agents/sheldon.md +115 -0
- package/template/.aioson/locales/en/agents/squad.md +14 -0
- package/template/.aioson/locales/en/agents/tester.md +6 -0
- package/template/.aioson/locales/es/agents/analyst.md +2 -0
- package/template/.aioson/locales/es/agents/architect.md +19 -0
- package/template/.aioson/locales/es/agents/dev.md +64 -4
- package/template/.aioson/locales/es/agents/deyvin.md +2 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/es/agents/genome.md +2 -0
- package/template/.aioson/locales/es/agents/neo.md +2 -0
- package/template/.aioson/locales/es/agents/orache.md +2 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/pair.md +2 -0
- package/template/.aioson/locales/es/agents/pm.md +2 -0
- package/template/.aioson/locales/es/agents/product.md +52 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/es/agents/qa.md +2 -0
- package/template/.aioson/locales/es/agents/setup.md +35 -1
- package/template/.aioson/locales/es/agents/sheldon.md +117 -0
- package/template/.aioson/locales/es/agents/squad.md +16 -0
- package/template/.aioson/locales/es/agents/tester.md +9 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/fr/agents/analyst.md +2 -0
- package/template/.aioson/locales/fr/agents/architect.md +19 -0
- package/template/.aioson/locales/fr/agents/dev.md +64 -4
- package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/fr/agents/genome.md +2 -0
- package/template/.aioson/locales/fr/agents/neo.md +2 -0
- package/template/.aioson/locales/fr/agents/orache.md +2 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/pair.md +2 -0
- package/template/.aioson/locales/fr/agents/pm.md +2 -0
- package/template/.aioson/locales/fr/agents/product.md +52 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/fr/agents/qa.md +2 -0
- package/template/.aioson/locales/fr/agents/setup.md +35 -1
- package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
- package/template/.aioson/locales/fr/agents/squad.md +16 -0
- package/template/.aioson/locales/fr/agents/tester.md +9 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
- package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
- package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
- package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
- package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
- package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
- package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
- package/template/.aioson/rules/README.md +69 -0
- package/template/.aioson/rules/data-format-convention.md +136 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
- package/template/.aioson/skills/static/context-budget-guide.md +46 -0
- package/template/.aioson/skills/static/harness-sensors.md +74 -0
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
- package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
- package/template/.aioson/skills/static/threejs-patterns.md +929 -0
- package/template/.aioson/skills/static/web-research-cache.md +112 -0
- package/template/.aioson/tasks/implementation-plan.md +21 -1
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/orache.md +5 -0
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
- package/template/AGENTS.md +75 -1
- package/template/CLAUDE.md +31 -0
- package/template/OPENCODE.md +4 -0
- package/template/researchs/.gitkeep +0 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
# Motion — Aurora Command UI
|
|
2
|
+
|
|
3
|
+
Animation system combining glass blur transitions with command center operational feedback.
|
|
4
|
+
|
|
5
|
+
All animations are CSS-first and stack-agnostic. Add JS (GSAP, Framer Motion, etc.) only when CSS can't achieve the required timing or sequencing.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Timing philosophy
|
|
10
|
+
|
|
11
|
+
- **Glass transitions**: smooth, unhurried — depth changes feel physical, not instant
|
|
12
|
+
- **Data transitions**: fast, precise — numbers and status updates feel live, not laggy
|
|
13
|
+
- **Aurora atmosphere**: very slow, almost imperceptible — the background breathes, never distracts
|
|
14
|
+
- **Reduced motion**: always provide fallbacks — operational tools are used under pressure
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Core easing functions
|
|
19
|
+
|
|
20
|
+
```css
|
|
21
|
+
:root {
|
|
22
|
+
/* Glass physics */
|
|
23
|
+
--ease-glass: cubic-bezier(0.16, 1, 0.3, 1); /* spring-like entrance */
|
|
24
|
+
--ease-glass-out: cubic-bezier(0.4, 0, 0.2, 1); /* glass panel exit */
|
|
25
|
+
--ease-data: cubic-bezier(0.25, 0.1, 0.25, 1); /* data refresh, counters */
|
|
26
|
+
--ease-command: cubic-bezier(0.4, 0, 0.6, 1); /* command strip, alerts */
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 1. Glass entrance — blur-in
|
|
33
|
+
|
|
34
|
+
The standard entrance animation for glass panels, cards, and modals. Combines fade + Y-translate + blur reveal.
|
|
35
|
+
|
|
36
|
+
```css
|
|
37
|
+
@keyframes glass-entrance {
|
|
38
|
+
from {
|
|
39
|
+
opacity: 0;
|
|
40
|
+
transform: translateY(12px);
|
|
41
|
+
filter: blur(4px);
|
|
42
|
+
}
|
|
43
|
+
to {
|
|
44
|
+
opacity: 1;
|
|
45
|
+
transform: translateY(0);
|
|
46
|
+
filter: blur(0);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.glass-panel {
|
|
51
|
+
animation: glass-entrance 400ms var(--ease-glass) both;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* Staggered entrance for card grids */
|
|
55
|
+
.card-grid .glass-panel:nth-child(1) { animation-delay: 0ms; }
|
|
56
|
+
.card-grid .glass-panel:nth-child(2) { animation-delay: 60ms; }
|
|
57
|
+
.card-grid .glass-panel:nth-child(3) { animation-delay: 120ms; }
|
|
58
|
+
.card-grid .glass-panel:nth-child(4) { animation-delay: 180ms; }
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 2. Glass hover transition
|
|
64
|
+
|
|
65
|
+
The standard hover state for glass cards — depth increase + glow reveal.
|
|
66
|
+
|
|
67
|
+
```css
|
|
68
|
+
.glass-panel {
|
|
69
|
+
transition:
|
|
70
|
+
background var(--transition-glass),
|
|
71
|
+
box-shadow var(--transition-base),
|
|
72
|
+
border-color var(--transition-base),
|
|
73
|
+
transform 200ms var(--ease-glass);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.glass-panel:hover {
|
|
77
|
+
background: var(--glass-elevated);
|
|
78
|
+
box-shadow: var(--shadow-glow);
|
|
79
|
+
transform: translateY(-1px);
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 3. Aurora pulse (background atmosphere)
|
|
86
|
+
|
|
87
|
+
A very slow, barely perceptible oscillation in the aurora gradient. Creates the sense that the background is alive.
|
|
88
|
+
|
|
89
|
+
```css
|
|
90
|
+
@keyframes aurora-pulse {
|
|
91
|
+
0% { opacity: 1; }
|
|
92
|
+
50% { opacity: 0.85; }
|
|
93
|
+
100% { opacity: 1; }
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@keyframes aurora-drift {
|
|
97
|
+
0% { transform: translate(0, 0) scale(1); }
|
|
98
|
+
33% { transform: translate(-20px, 10px) scale(1.02); }
|
|
99
|
+
66% { transform: translate(10px, -15px) scale(0.98); }
|
|
100
|
+
100% { transform: translate(0, 0) scale(1); }
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* Apply to decorative aurora orbs only */
|
|
104
|
+
.aurora-orb {
|
|
105
|
+
animation: aurora-drift 20s ease-in-out infinite;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.aurora-orb-2 {
|
|
109
|
+
animation: aurora-drift 26s ease-in-out infinite reverse;
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Rule**: aurora-pulse/drift applies **only** to decorative orbs and background elements. Never animate the page background directly — it causes repaint on every frame.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 4. Command strip live indicator
|
|
118
|
+
|
|
119
|
+
The pulsing dot on live status items.
|
|
120
|
+
|
|
121
|
+
```css
|
|
122
|
+
@keyframes live-pulse {
|
|
123
|
+
0%, 100% {
|
|
124
|
+
box-shadow: 0 0 0 0 rgba(0, 200, 232, 0.5);
|
|
125
|
+
opacity: 1;
|
|
126
|
+
}
|
|
127
|
+
50% {
|
|
128
|
+
box-shadow: 0 0 0 6px rgba(0, 200, 232, 0);
|
|
129
|
+
opacity: 0.8;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.live-dot {
|
|
134
|
+
width: 6px;
|
|
135
|
+
height: 6px;
|
|
136
|
+
border-radius: 50%;
|
|
137
|
+
background: var(--accent-primary);
|
|
138
|
+
animation: live-pulse 2s ease-in-out infinite;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.live-dot.alert {
|
|
142
|
+
background: var(--semantic-amber);
|
|
143
|
+
animation-name: live-pulse-amber;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
@keyframes live-pulse-amber {
|
|
147
|
+
0%, 100% { box-shadow: 0 0 0 0 rgba(244, 169, 29, 0.5); }
|
|
148
|
+
50% { box-shadow: 0 0 0 6px rgba(244, 169, 29, 0); }
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 5. Stat counter (number tick-up)
|
|
155
|
+
|
|
156
|
+
For stat cards and hero metrics. Numbers count up from 0 on page load.
|
|
157
|
+
|
|
158
|
+
```css
|
|
159
|
+
/* CSS-only approach: use a clip animation for the number reveal */
|
|
160
|
+
@keyframes number-reveal {
|
|
161
|
+
from {
|
|
162
|
+
opacity: 0;
|
|
163
|
+
transform: translateY(8px);
|
|
164
|
+
}
|
|
165
|
+
to {
|
|
166
|
+
opacity: 1;
|
|
167
|
+
transform: translateY(0);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.stat-number {
|
|
172
|
+
animation: number-reveal 600ms var(--ease-glass) 200ms both;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* For JS counter: use this transition on the element */
|
|
176
|
+
.stat-number-counting {
|
|
177
|
+
transition: color 200ms ease;
|
|
178
|
+
font-variant-numeric: tabular-nums;
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
JS counter snippet (vanilla):
|
|
183
|
+
```js
|
|
184
|
+
function countUp(el, target, duration = 1200) {
|
|
185
|
+
const start = performance.now();
|
|
186
|
+
const startVal = 0;
|
|
187
|
+
function update(now) {
|
|
188
|
+
const elapsed = now - start;
|
|
189
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
190
|
+
const ease = 1 - Math.pow(1 - progress, 4); // ease-out quartic
|
|
191
|
+
el.textContent = Math.floor(startVal + (target - startVal) * ease).toLocaleString();
|
|
192
|
+
if (progress < 1) requestAnimationFrame(update);
|
|
193
|
+
else el.textContent = target.toLocaleString();
|
|
194
|
+
}
|
|
195
|
+
requestAnimationFrame(update);
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 6. Glass panel depth transition (theme switch)
|
|
202
|
+
|
|
203
|
+
When toggling between dark and light themes, glass surfaces transition smoothly.
|
|
204
|
+
|
|
205
|
+
```css
|
|
206
|
+
[data-theme] * {
|
|
207
|
+
transition:
|
|
208
|
+
background-color 250ms ease,
|
|
209
|
+
color 250ms ease,
|
|
210
|
+
border-color 250ms ease,
|
|
211
|
+
box-shadow 250ms ease,
|
|
212
|
+
backdrop-filter 250ms ease;
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Warning**: `transition: all` is dangerous for performance in blur-heavy interfaces. Explicitly list only the properties above.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 7. Modal entrance + exit
|
|
221
|
+
|
|
222
|
+
Glass modal entrance combines scale + blur-in. Exit is the reverse, faster.
|
|
223
|
+
|
|
224
|
+
```css
|
|
225
|
+
@keyframes modal-in {
|
|
226
|
+
from {
|
|
227
|
+
opacity: 0;
|
|
228
|
+
transform: scale(0.96) translateY(8px);
|
|
229
|
+
filter: blur(2px);
|
|
230
|
+
}
|
|
231
|
+
to {
|
|
232
|
+
opacity: 1;
|
|
233
|
+
transform: scale(1) translateY(0);
|
|
234
|
+
filter: blur(0);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
@keyframes modal-out {
|
|
239
|
+
from { opacity: 1; transform: scale(1); }
|
|
240
|
+
to { opacity: 0; transform: scale(0.97); }
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.modal { animation: modal-in 300ms var(--ease-glass) both; }
|
|
244
|
+
.modal.closing { animation: modal-out 180ms var(--ease-glass-out) both; }
|
|
245
|
+
|
|
246
|
+
/* Overlay */
|
|
247
|
+
@keyframes overlay-in {
|
|
248
|
+
from { opacity: 0; backdrop-filter: blur(0); }
|
|
249
|
+
to { opacity: 1; backdrop-filter: blur(4px); }
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.modal-overlay { animation: overlay-in 300ms ease both; }
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## 8. Data stream (live activity feed)
|
|
258
|
+
|
|
259
|
+
For live alert tapes, activity feeds, and command strip updates. New items push in from top.
|
|
260
|
+
|
|
261
|
+
```css
|
|
262
|
+
@keyframes feed-item-enter {
|
|
263
|
+
from {
|
|
264
|
+
opacity: 0;
|
|
265
|
+
transform: translateY(-12px);
|
|
266
|
+
max-height: 0;
|
|
267
|
+
}
|
|
268
|
+
to {
|
|
269
|
+
opacity: 1;
|
|
270
|
+
transform: translateY(0);
|
|
271
|
+
max-height: 80px;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.feed-item {
|
|
276
|
+
animation: feed-item-enter 280ms var(--ease-glass) both;
|
|
277
|
+
overflow: hidden;
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## 9. Sidebar navigation active state
|
|
284
|
+
|
|
285
|
+
When navigating between sidebar items, the active indicator slides between items.
|
|
286
|
+
|
|
287
|
+
```css
|
|
288
|
+
.sidebar-item {
|
|
289
|
+
transition:
|
|
290
|
+
background var(--transition-base),
|
|
291
|
+
color var(--transition-base),
|
|
292
|
+
border-color var(--transition-base);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/* The accent left border slides in on activation */
|
|
296
|
+
.sidebar-item.active {
|
|
297
|
+
border-left: 3px solid var(--accent-primary);
|
|
298
|
+
background: var(--glass-elevated);
|
|
299
|
+
color: var(--text-heading);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/* Transition the indicator width from 0 to 3px */
|
|
303
|
+
.sidebar-item {
|
|
304
|
+
border-left: 3px solid transparent;
|
|
305
|
+
}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## 10. Chart area fill reveal
|
|
311
|
+
|
|
312
|
+
For chart area fills — the fill height grows from 0 to full on load.
|
|
313
|
+
|
|
314
|
+
```css
|
|
315
|
+
@keyframes chart-fill-reveal {
|
|
316
|
+
from { opacity: 0; transform: scaleY(0); transform-origin: bottom; }
|
|
317
|
+
to { opacity: 1; transform: scaleY(1); transform-origin: bottom; }
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.chart-area-fill {
|
|
321
|
+
animation: chart-fill-reveal 600ms var(--ease-glass) 400ms both;
|
|
322
|
+
}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Reduced motion
|
|
328
|
+
|
|
329
|
+
All animations must be disabled or simplified for users with `prefers-reduced-motion: reduce`.
|
|
330
|
+
|
|
331
|
+
```css
|
|
332
|
+
@media (prefers-reduced-motion: reduce) {
|
|
333
|
+
*, *::before, *::after {
|
|
334
|
+
animation-duration: 0.01ms !important;
|
|
335
|
+
animation-iteration-count: 1 !important;
|
|
336
|
+
transition-duration: 0.01ms !important;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/* Keep only instantaneous opacity transitions — no blur, no movement */
|
|
340
|
+
.glass-panel {
|
|
341
|
+
animation: none;
|
|
342
|
+
opacity: 1;
|
|
343
|
+
transform: none;
|
|
344
|
+
filter: none;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
.aurora-orb {
|
|
348
|
+
animation: none;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.live-dot {
|
|
352
|
+
animation: none;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Performance rules
|
|
360
|
+
|
|
361
|
+
1. **Limit simultaneous blur elements** — more than 8-10 `backdrop-filter` composites on screen simultaneously can drop frame rate on lower-end hardware. Use `blur-sm` for cards in grids, `blur-md` for sidebars and top bars.
|
|
362
|
+
2. **Use `will-change: transform`** sparingly — only on elements that animate frequently (live dots, feed items).
|
|
363
|
+
3. **Aurora orbs must use `filter: blur()`**, not `backdrop-filter`. They are decorative, not interactive.
|
|
364
|
+
4. **Do not animate `backdrop-filter` blur intensity** — only animate opacity, transform, and box-shadow on glass elements. Animating blur level is expensive.
|
|
365
|
+
5. **Frame rate target**: 60fps on modern hardware. Test on an actual mobile device if the product targets mobile users.
|