windi-mobile-canvas

star 0

Estratégia mobile completa do WINDI e roadmap do Canvas Gen 7 — o Mobile Control Center institucional. Use quando o utilizador mencionar: mobile, touch, Canvas Gen 7, pointer events, windi-touch.js, Smart Zones, bottom bar, gestures, breakpoints mobile, redirect /desktop/, MAMUT mobile, touch grammar, verify-public mobile, responsivo, iOS Safari, Android Chrome, "Mobile Audit", "programa de mudanças mobile", ou qualquer tarefa envolvendo a experiência touch do WINDI. Ativar também para: decisões sobre /desktop/ vs /app/, implementação de bottom sheets, touch targets, Smart Zones G1-G4, ou evolução pós-Canvas Gen 7.

Bingo-APPweb By Bingo-APPweb schedule Updated 3/13/2026

name: windi-mobile-canvas description: > Estratégia mobile completa do WINDI e roadmap do Canvas Gen 7 — o Mobile Control Center institucional. Use quando o utilizador mencionar: mobile, touch, Canvas Gen 7, pointer events, windi-touch.js, Smart Zones, bottom bar, gestures, breakpoints mobile, redirect /desktop/, MAMUT mobile, touch grammar, verify-public mobile, responsivo, iOS Safari, Android Chrome, "Mobile Audit", "programa de mudanças mobile", ou qualquer tarefa envolvendo a experiência touch do WINDI. Ativar também para: decisões sobre /desktop/ vs /app/, implementação de bottom sheets, touch targets, Smart Zones G1-G4, ou evolução pós-Canvas Gen 7.

WINDI Mobile Strategy & Canvas Gen 7

Contexto

Data do audit: 13 Março 2026 Relatório Gêmeo: /opt/windi/docs/MOBILE-AUDIT-REPORT-2026-03-13.md Estado: Canvas Gen 7 em execução — estratégia mobile completa gravada para uso pós-Gen 7


Filosofia Mobile WINDI

Sistemas complexos cometem o erro de:

desktop → adaptar para mobile   ❌

O WINDI tem duas naturezas distintas:

Ferramentas de Criação Profunda → Desktop Only

Rota Ferramenta Decisão
/desktop/ Tiptap editor Desktop-only + redirect
/a4desk-editor/ A4Desk editor Desktop-only

Ferramentas Operacionais Rápidas → Mobile First

Rota Ferramenta
/app/ Canvas / Palette — Mobile Control Center
/verify-public/ Verificação de documentos
/wallet/ Carteira institucional
/dashboard/ Painel operacional
/communique/ Communiqué
/library/ Biblioteca

Decisões Arquitecturais Seladas

✅ DECISÃO 1: /desktop/ = Desktop-Only

Mobile user → abre /desktop/ → redirect → /app/

Implementação — injetar no <head> de /opt/windi/desktop/frontend/index.html:

// Primeiro script no <head>, sem dependências
if (/Mobi|Android|iPhone|iPad|iPod|Touch/i.test(navigator.userAgent)
    || window.innerWidth < 768) {
  window.location.replace('https://windi-domain.com/app/?from=desktop');
}

O parâmetro ?from=desktop permite ao Canvas Gen 7 mostrar mensagem contextual:

"Estás no Canvas Mobile. Para edição avançada, usa o Desktop."

Razão: Tiptap + interface de edição densa em mobile = batalha cara que o utilizador não quer.


✅ DECISÃO 2: Canvas Gen 7 = Mobile Control Center

O /app/ não é apenas um editor de slides. É o WINDI Mobile OS.

Visão final:

DESKTOP        MOBILE
editor         interface
profundo       operacional

(como Figma, Notion, Linear funcionam)

Audit Summary — 13 Mar 2026

Métrica Valor
Total rotas públicas 24
🟢 Mobile-Ready 7
🟡 Precisa Ajustes 16
🔴 Crítico 1 (/verify-public/)

🟢 GREEN (já mobile-ready)

/ (Landing), /pioneer/, /manifesto/, /a4desk/, /clone/, /wallet/, /communique/

🟡 YELLOW principais

Rota Problema Esforço
/app/ 1 breakpoint, icons 18px Médio
/desktop/ Tiptap não touch Alto → Desktop-only
/certification/ Sem media queries Médio
/verify-public/ (foi RED) canvas+mouse events Médio (Fase 3)

🔴 RED → Fase 3

/verify-public/ — Canvas QR com mouse events, drag-drop não funciona em touch


Touch Grammar (Standard WINDI)

Definida uma vez, usada em todo o sistema:

Gesto Ação
Tap Selecionar layer
Double Tap Editar texto
Pinch Zoom canvas
Drag Mover layer
Long Press Menu contextual

Regra de Ouro

Touch targets: mínimo 44px  |  ideal 48px

(padrão Apple HIG + Google Material)


windi-touch.js — Ficheiro Global

Path: /opt/windi/static/windi-touch.js Propósito: Toda a lógica touch centralizada — todo o sistema usa a mesma fundação.

// windi-touch.js — WINDI Touch Engine v1.0
// Fundação global para pointer events unificados

const WindiTouch = {

  // Detecta se é dispositivo touch
  detectTouch() {
    return ('ontouchstart' in window)
        || (navigator.maxTouchPoints > 0)
        || (navigator.msMaxTouchPoints > 0);
  },

  // Normaliza pointer events (mouse + touch + pen)
  normalizePointer(e) {
    if (e.touches) {
      return {
        x: e.touches[0].clientX,
        y: e.touches[0].clientY,
        type: 'touch'
      };
    }
    return { x: e.clientX, y: e.clientY, type: 'mouse' };
  },

  // Detecta gesto básico (tap vs drag vs long press)
  detectGesture(startEvent, endEvent, durationMs) {
    const dx = Math.abs(endEvent.x - startEvent.x);
    const dy = Math.abs(endEvent.y - startEvent.y);
    const dist = Math.sqrt(dx*dx + dy*dy);

    if (durationMs > 500 && dist < 10) return 'longpress';
    if (dist < 10) return 'tap';
    if (dist > 10) return 'drag';
    return 'unknown';
  },

  // Expande zona de tap para garantir mínimo 44px
  tapZoneExpand(element, minSize = 44) {
    const rect = element.getBoundingClientRect();
    const padH = Math.max(0, (minSize - rect.height) / 2);
    const padW = Math.max(0, (minSize - rect.width) / 2);
    element.style.padding = `${padH}px ${padW}px`;
    element.style.margin = `-${padH}px -${padW}px`;
  }
};

export default WindiTouch;

Breakpoints WINDI Mobile

/* Breakpoints canónicos WINDI */

/* Desktop — full experience */
@media (min-width: 1200px) { }

/* Tablet — toolbar colapsável */
@media (min-width: 768px) and (max-width: 1199px) { }

/* Mobile — bottom bar + canvas full-width */
@media (max-width: 767px) { }

Canvas Gen 7 — Layout Mobile

┌─────────────────────┐
│                     │
│       CANVAS        │
│   (full viewport)   │
│                     │
│                     │
├─────────────────────┤
│  +   layers   tools │  ← Bottom Bar (zona do polegar)
└─────────────────────┘

Princípio: Toolbar sempre em bottom bar em mobile. O polegar vive aqui.


Roadmap de Execução (pós-Canvas Gen 7)

FASE 1 — Fundação Touch /app/

□ Pointer Events unificados (windi-touch.js)
□ Touch targets ≥44px em todas as Smart Zones
□ Pinch-to-zoom no canvas
□ Smart Zones G1 + G2 mobile-ready
□ Breakpoints 3 níveis implementados
□ Redirect /desktop/ → /app/ ativado

FASE 2 — Smart Zones Completas

□ G3 + G4 com comportamento mobile-first
□ Bottom sheet para propriedades de layer
□ Swipe para alternar zonas
□ Layer inspector em bottom sheet
□ Toolbar lateral colapsável (tablet 768-1199px)

FASE 3 — Verify-Public Mobile (paralelo)

□ Migrar canvas+mouse → pointer events
□ Substituir drag-drop → <input type="file"> touch-friendly
□ MediaDevices.getUserMedia() com fallback mobile
□ Testar iOS Safari (câmara restrita)
□ Testar Android Chrome
□ QR scan via câmara em mobile

Smart Zones G1→G4

(Definidas na sessão de 13 Mar 2026)

Zone Nome Função Prioridade Mobile
G1 Canvas Core Área de criação principal Fase 1 — full viewport
G2 Toolbar Ferramentas de edição Fase 1 — bottom bar
G3 Layer Inspector Propriedades de camadas Fase 2 — bottom sheet
G4 Document Controls Gestão do documento Fase 2 — swipe panel

Referências

  • Audit completo: /opt/windi/docs/MOBILE-AUDIT-REPORT-2026-03-13.md
  • Touch engine: /opt/windi/static/windi-touch.js
  • Canvas Gen 7: /opt/windi/agent-palette/ui/index.html
  • Desktop frontend: /opt/windi/desktop/frontend/index.html
  • nginx ONE TREE: /etc/nginx/sites-enabled/one-tree-windi-domain.com

Nota Arquitectural

O Canvas Gen 7 não é apenas um upgrade de editor. É o WINDI Mobile OS — o ponto de entrada operacional para toda a infraestrutura institucional num dispositivo touch.

Depois do Gen 7, o WINDI terá a mesma separação que Figma, Notion e Linear: desktop para criação profunda, mobile para operações rápidas e decisões institucionais.


Skill criado em 13 Mar 2026 — Human Dragon + Architect Ativar quando o tema for mobile, touch, Canvas Gen 7 ou pós-Gen 7 evolution

Install via CLI
npx skills add https://github.com/Bingo-APPweb/windi_public_audit --skill windi-mobile-canvas
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
Bingo-APPweb
Bingo-APPweb Explore all skills →