Skip to content

Milestones

List view

  • # Plano de Ação — Minex **2D** - FEVEREIRO/26 (Data Ingestion & Sync) **Período:** Fevereiro/2026 **Foco:** (1) Ingestão de Dados • (2) Sincronização 2D/3D • (3) Novo Widget de Importação • (4) Estabilização **Refs:** `geotrix3d#006` · `minex_qa#012` · `arch_migration#002` **Apps e Pacotes no escopo:** - **Frontend:** `geotrixMap` (Lit Web Components). - **Backend:** `geotrix2dpre` (R/C++). ------ ## 1) Redesign do Widget: Create Project & Add Files **Objetivo:** Modernizar a porta de entrada do app com foco em performance de memória. - **Atividades Frontend (40h):** * Implementação de Web Components (Lit) e leitor de CSV via JS (streaming/chunks) para evitar vazamentos. - Alertas de volumetria (rasters excessivos) e testes unitários JS. - **Atividades Backend (10h):** * Suporte a **GeoTIFF**, revisão do pipeline de targets e trancas para `basearea` sem projeção. - **Estimativa:** **50h** ## 2) Legendas e Visualizadores Sincronizados **Objetivo:** Unificar a experiência visual entre o mapa 2D e o perfil 3D. - **Atividades:** * Centralização de paletas de cores, filtros de atributos e lógica de visibilidade (toggle) compartilhada entre 2D/3D. - Testes de reatividade em JS para garantir que o mapa atualize ao mudar a legenda. - **Estimativa:** **40h** ## 3) Novo Widget de Importação (Inpainting & Mineral) **Objetivo:** Substituir o sistema de importação legado por um fluxo assistido em duas etapas, eliminando erros críticos de dimensão e storage. - **Justificativa:** Trata-se de um componente crítico redesenhado do zero em **Lit**. O fluxo assistido guiará o usuário, prevenindo inputs inválidos que geravam falhas de backend. - **Atividades:** - **Desenvolvimento Lit:** Criação do widget em Web Components com interface dividida em duas etapas (Configuração -> Validação). - **Auxílio Visual:** Interface com tooltips e guias para preenchimento de parâmetros de inpainting. - **Testes Automatizados:** Suite completa de testes unitários e E2E para o componente usando as ferramentas do ecossistema Lit/Open-WC. - **Fix de Backend:** Correção do erro `dim(X) must have a positive length` e tratamento do erro 404 em Storage Services. - **Estimativa:** **30h** ## 4) Bugs, Melhorias e UX **Objetivo:** Refinamento de fórmulas e estabilidade de geometria. - **Atividades:** - **Recategorização (20h):** Suporte a troca/ajuste de *levels* categóricos no widget de fórmulas. - **Humanização de Erros (5h):** Tradução de erros de sistema para mensagens claras (ex: "Nome do modelo ausente"). - **Bug de Geometria (5h):** Correção do processamento de polígonos grandes na `basearea`. - **Estimativa:** **30h** ## 5) Documentação **Objetivo:** Rodar testes e entrega. - **Atividades:** - **Changelog e demais:** Atualizar e versionar documentações; - **Testes:** Rodar testes de pacotes. - **Coverage:** Rodar coverage de pacotes e manter padrão > 85% de cobertura. - **Estimativa:** **10h** ------ ## Resumo e Milestones (Fevereiro/26) | **Atividade** | **Frontend** | **Backend** | **Total** | | ----------------------------------- | ------------ | ----------- | --------- | | **1. Widget Create/Add Files** | 40 h | 10 h | **50 h** | | **2. Legendas & Sync 2D/3D** | 20 h | 10 h | **30 h** | | **3. Novo Widget Importação (Lit)** | 15 h | 5 h | **20 h** | | **4. Estabilização e UX** | 10 h | 20 h | **30 h** | | **5. Documentação ** | | | **10 h** | | **TOTAL ESTIMADO** | | | **140 h** | ------ ## Critérios de Aceite (Definition of Done) 1. **Novo Widget de Importação:** - [ ] O widget funciona em duas etapas claras e impede o avanço sem os campos obrigatórios. - [ ] O erro `dim(X)` não ocorre mais durante o processo de inpainting mineral. - [ ] **Testes Lit:** Mínimo de 80% de cobertura nos componentes do novo widget. 2. **Ingestão e Performance:** - [ ] Arquivos GeoTIFF são importados com sucesso. - [ ] CSVs de alta volumetria não causam pico de memória (Heap JS estável). 3. **Sincronização Visual:** - [ ] Ao filtrar um valor na legenda, os pontos somem instantaneamente tanto no 2D quanto no 3D. 4. **UX e Robustez:** - [ ] O usuário consegue renomear ou agrupar categorias (levels) no fluxo de fórmulas. - [ ] Mensagens de erro técnicas são interceptadas e exibidas em linguagem amigável. - [ ] Polígonos complexos de `basearea` são processados sem erro de backend.

    Overdue by 28 day(s)
    Due by February 28, 2026
  • # Plano de Ação — Minex **2D** - FEVEREIRO/26 (Data Ingestion & Sync) **Período:** Fevereiro/2026 **Foco:** (1) Ingestão de Dados • (2) Sincronização 2D/3D • (3) Novo Widget de Importação • (4) Estabilização **Refs:** `geotrix3d#006` · `minex_qa#012` · `arch_migration#002` **Apps e Pacotes no escopo:** - **Frontend:** `geotrixMap` (Lit Web Components). - **Backend:** `geotrix2dpre` (R/C++). ------ ## 1) Redesign do Widget: Create Project & Add Files **Objetivo:** Modernizar a porta de entrada do app com foco em performance de memória. - **Atividades Frontend (40h):** * Implementação de Web Components (Lit) e leitor de CSV via JS (streaming/chunks) para evitar vazamentos. - Alertas de volumetria (rasters excessivos) e testes unitários JS. - **Atividades Backend (10h):** * Suporte a **GeoTIFF**, revisão do pipeline de targets e trancas para `basearea` sem projeção. - **Estimativa:** **50h** ## 2) Legendas e Visualizadores Sincronizados **Objetivo:** Unificar a experiência visual entre o mapa 2D e o perfil 3D. - **Atividades:** * Centralização de paletas de cores, filtros de atributos e lógica de visibilidade (toggle) compartilhada entre 2D/3D. - Testes de reatividade em JS para garantir que o mapa atualize ao mudar a legenda. - **Estimativa:** **40h** ## 3) Novo Widget de Importação (Inpainting & Mineral) **Objetivo:** Substituir o sistema de importação legado por um fluxo assistido em duas etapas, eliminando erros críticos de dimensão e storage. - **Justificativa:** Trata-se de um componente crítico redesenhado do zero em **Lit**. O fluxo assistido guiará o usuário, prevenindo inputs inválidos que geravam falhas de backend. - **Atividades:** - **Desenvolvimento Lit:** Criação do widget em Web Components com interface dividida em duas etapas (Configuração -> Validação). - **Auxílio Visual:** Interface com tooltips e guias para preenchimento de parâmetros de inpainting. - **Testes Automatizados:** Suite completa de testes unitários e E2E para o componente usando as ferramentas do ecossistema Lit/Open-WC. - **Fix de Backend:** Correção do erro `dim(X) must have a positive length` e tratamento do erro 404 em Storage Services. - **Estimativa:** **30h** ## 4) Bugs, Melhorias e UX **Objetivo:** Refinamento de fórmulas e estabilidade de geometria. - **Atividades:** - **Recategorização (20h):** Suporte a troca/ajuste de *levels* categóricos no widget de fórmulas. - **Humanização de Erros (5h):** Tradução de erros de sistema para mensagens claras (ex: "Nome do modelo ausente"). - **Bug de Geometria (5h):** Correção do processamento de polígonos grandes na `basearea`. - **Estimativa:** **30h** ## 5) Documentação **Objetivo:** Rodar testes e entrega. - **Atividades:** - **Changelog e demais:** Atualizar e versionar documentações; - **Testes:** Rodar testes de pacotes. - **Coverage:** Rodar coverage de pacotes e manter padrão > 85% de cobertura. - **Estimativa:** **10h** ------ ## Resumo e Milestones (Fevereiro/26) | **Atividade** | **Frontend** | **Backend** | **Total** | | ----------------------------------- | ------------ | ----------- | --------- | | **1. Widget Create/Add Files** | 40 h | 10 h | **50 h** | | **2. Legendas & Sync 2D/3D** | 20 h | 10 h | **30 h** | | **3. Novo Widget Importação (Lit)** | 15 h | 5 h | **20 h** | | **4. Estabilização e UX** | 10 h | 20 h | **30 h** | | **5. Documentação ** | | | **10 h** | | **TOTAL ESTIMADO** | | | **140 h** | ------ ## Critérios de Aceite (Definition of Done) 1. **Novo Widget de Importação:** - [ ] O widget funciona em duas etapas claras e impede o avanço sem os campos obrigatórios. - [ ] O erro `dim(X)` não ocorre mais durante o processo de inpainting mineral. - [ ] **Testes Lit:** Mínimo de 80% de cobertura nos componentes do novo widget. 2. **Ingestão e Performance:** - [ ] Arquivos GeoTIFF são importados com sucesso. - [ ] CSVs de alta volumetria não causam pico de memória (Heap JS estável). 3. **Sincronização Visual:** - [ ] Ao filtrar um valor na legenda, os pontos somem instantaneamente tanto no 2D quanto no 3D. 4. **UX e Robustez:** - [ ] O usuário consegue renomear ou agrupar categorias (levels) no fluxo de fórmulas. - [ ] Mensagens de erro técnicas são interceptadas e exibidas em linguagem amigável. - [ ] Polígonos complexos de `basearea` são processados sem erro de backend.

    Overdue by 28 day(s)
    Due by February 28, 2026
  • **Período:** Janeiro/2026 **Foco:** (1) Otimização Primitives • (2) Targets de Treino • (3) Slicing Dinâmico • (4) QA & Relatórios **Refs:** `geotrix3d#005` · `minex_qa#011` · `arch_migration#001` **Apps e Pacotes no escopo:** * **Frontend:** `geotrixMap` (Contexto 3D/Cesium). * **Backend:** `geotrix2dpre` (Processamento de dados e regras de negócio). --- ## 1) Otimização e Relatório de Performance (Kalahari33) **Objetivo:** Migrar para `Primitives` e comprovar ganho de eficiência. * **Justificativa:** Migrar de `ImageryLayers` para `GroundPrimitives` é mandatório para suportar rasters de alta resolução sem travar a interface. Além da refatoração do pipeline de dados, será gerado um **Relatório Técnico** comparando as métricas de latência e consumo de memória. * **Atividades:** * Refatoração do renderizador para `GroundPrimitive` (Rectangle Geometry) e otimização de texturas. * **Relatório de Performance:** Execução de script de benchmark no dataset *Kalahari33*. Monitoramento de FPS, Heap Memory (JS) e Tempo de Descompressão de Imagem. * Geração de documento PDF comparativo "Benchmarks: ImageryLayers vs GroundPrimitives". ## 2) Criação de Targets com Teste Automatizado E2E **Objetivo:** Ferramenta de desenho de ROI e validação automatizada de integração. * **Justificativa:** O desenho de targets no 3D é complexo. É crucial garantir que o polígono desenhado no front (`geotrixMap`) seja recebido e processado corretamente pelo back (`geotrix2dpre`). * **Atividades:** * Implementar ferramenta de desenho vetorial no Cesium (Draw Handler). * Conversão de coordenadas (Cartesian -> Cartographic) e envio ao R. * **Teste Automatizado (E2E):** Script `shinytest2` que simula o desenho de um polígono, dispara o evento para o backend `geotrix2dpre` e verifica se o objeto de retorno (filtro espacial) foi criado corretamente. * **Estimativa:** **32h** (22h feature + 10h testes automáticos específicos) ## 3) Mouse Interativo (Picking Rápido) **Objetivo:** Inspeção instantânea de dados. * **Justificativa:** Feedback visual imediato ao passar o mouse sobre furos/pontos, essencial para validação geológica antes de criar um target. * **Atividades:** * Implementar `ScreenSpaceEventHandler` para picking. * Tooltip HTML leve posicionado via coordenadas de tela (sem latência de servidor). * **Estimativa:** **18h** ## 4) Segregação de UI com Lit (Web Components) **Objetivo:** Migrar painéis de Edição e Logs para o Front-end usando Lit. * **Justificativa:** Modernização da arquitetura. O servidor R não deve renderizar HTML estático ou listas de logs. Usaremos **Lit** para criar componentes reativos, rápidos e desacoplados do Shiny. * **Atividades:** * Implementar componentes Lit para a aba "Logs" (renderização virtualizada de listas longas). * Implementar painel de "Edição de Parâmetros" usando Lit Elements, comunicando com R apenas via JSON. * **Estimativa:** **20h** ## 5) Visão alternativa aos dados espaciais **Objetivo:** Visualização estatística (Numérica/Categórica) integrada ao mapa 3D com filtragem interativa. * **Justificativa:** Fornecer uma visão alternativa aos dados espaciais. O usuário precisa analisar a distribuição dos dados (ex: histograma de teores ou contagem de litologias) e usar esses gráficos como controles de filtro. * **Atividades:** * Histogramas Interativos: Implementação de gráficos para dados numéricos (ex: distribuição de teores) e categóricos (ex: barras de litologia). * Coloração Dinâmica: Funcionalidade para alternar a escala de cores dos pontos no mapa 3D baseada em atributos (ex: Colorir por Z/Cota ou Colorir por Teor). * Filtros Visuais (Cross-filtering): Implementar lógica onde a seleção de um intervalo no histograma oculta imediatamente os pontos fora desse intervalo no visualizador 3D (client-side). * **Estimativa:** **20h** ## 6) QA Geral e Documentação (Obrigatório) **Objetivo:** Garantia de estabilidade do pacote. * **Justificativa:** Manutenção do padrão de qualidade e documentação de todas as alterações. * **Atividades:** * Testes unitários (`testthat`) para funções utilitárias. * Instrumentação para cobertura **> 90%** (`covr`). * Geração automática de `CHANGELOG.md`. * **Estimativa:** **24h** --- ## Resumo e Milestones (Janeiro/26) * `Otimização + Relatório Performance` — **32 h** * `Targets + Teste Auto (Front/Back)` — **32 h** * `Mouse Interativo (Picking)` — **18 h** * `Filtragem Dinâmica (Slicing/Shaders)` — **16 h** * `Segregação de UI` — **20 h** * `QA Geral` — **24 h** **TOTAL ESTIMADO:** **142 h** --- ## Critérios de Aceite (Definition of Done) 1. **Performance Comprovada:** * [ ] Entregue documento PDF "Relatório de Performance" mostrando FPS estável (>30) no *Kalahari33* após migração para Primitives. * [ ] Tempo de carga inicial < 5 segundos para 50k pontos. 2. **Targets & Integração:** * [ ] **Teste Automatizado Passou:** O script de teste simula o input no `geotrixMap`, e valida que o `geotrix2dpre` processou a geometria corretamente (retorno verde no CI). * [ ] Usuário consegue desenhar e salvar um target no visualizador. 3. **Funcionalidades Visuais:** * [ ] Visualização: Histogramas (numérico e categórico) são renderizados corretamente com os dados do projeto carregado. * [ ] Interação: Ao filtrar uma categoria ou faixa de valores no gráfico, o mapa 3D atualiza instantaneamente, exibindo apenas os pontos correspondentes. * [ ] Mapeamento: Usuário consegue alternar a coloração dos pontos entre "Cota (Z)" e "Atributo (Teor)". 4. **Qualidade:** * [ ] Cobertura global > 90%. * [ ] Changelog atualizado. * [ ] Interfaces de Log/Edição operacionais via Web Components.

    Overdue by 1 month(s)
    Due by January 31, 2026
  • # **Proposta: MVP Beta para Mapeamento 3D (CesiumJS \+ R Shiny)** Período de Execução Estimado: 1 Mês. Esforço Total Estimado para o MVP: 147 Horas. Foco da MVP: Criar uma Versão Beta Mínima Viável (MVP Beta) que comprove a comunicação bidirecional entre R/Shiny e CesiumJS e demonstre a conversão e visualização de dados vetoriais simples (pontos). ## **1\. Escopo Simplificado e Entregáveis (Total: 147 Horas)** Esta fase foca apenas no essencial para o funcionamento (comunicação e conversão de dados de pontos). As horas estão distribuídas com base na complexidade e nos testes necessários para cada etapa. | Fase | Título da Fase | Esforço (Horas) | Duração (Dias de Ref.) | Entregáveis Chave | | :-------- | :---------------------------------- | :-------------- | :--------------------- | :----------------------------------------------------------- | | **I** | **Setup e Base de Comunicação** | 45h | 3 Dias | Ambiente Shiny/CesiumJS configurado; Rota de comunicação R \<-\> JS validada. | | **II** | **Conversão e Visualização Básica** | 60h | 4 Dias | Função R para conversão de um *dataset* de pontos para CZML; Renderização de entidades CZML no CesiumJS; Injeção de dados dinâmicos do R para o mapa. | | **III** | **Validação e Plano de Estudo** | 42h | 3 Dias | MVP Beta Funcional (mostrando pontos 3D); Documentação mínima da API; Plano detalhado para as próximas fases de estudo e aprimoramento. | | **TOTAL** | | **147h** | **10 Dias** | | ## **2\. Cronograma Detalhado do MVP (147 Horas)** ### **FASE I: Setup e Base de Comunicação (Total: 45h)** Foco em fazer o R, Shiny e CesiumJS "conversarem". | Esforço (Horas) | Atividade | Foco Principal | Ferramentas | | :-------------- | :---------------------------------------------- | :----------------------------------------------------------- | :---------------------------------------- | | **15h** | **Setup do Ambiente e Inicialização do Cesium** | Configuração do projeto R Shiny (ui.R e server.R); Inclusão do CesiumJS via CDN. Inicialização do visor 3D básico. | R, RStudio, Shiny, CesiumJS | | **15h** | **Comunicação R \-\> JavaScript (Handlers)** | Implementação de um *Shiny Message Handler* (JS) para receber comandos do R, como "voe para a coordenada X". | R (session$sendCustomMessage), JavaScript | | **15h** | **Comunicação JavaScript \-\> R (Binders)** | Criação de um *Shiny Custom Input Binding* (JS) para enviar eventos do CesiumJS para o R (ex.: notificar o R sobre a coordenada clicada pelo usuário). | JavaScript, R (input$...) | ### **FASE II: Conversão e Visualização Básica (Total: 60h)** Foco na conversão e visualização do tipo de dado mais simples (pontos) para validação do fluxo completo. | Esforço (Horas) | Atividade | Foco Principal | Entregável Parcial | | :-------------- | :-------------------------------------------- | :----------------------------------------------------------- | :------------------------------------------------- | | **15h** | **Função R de Conversão de Pontos** | Desenvolvimento da função R para ler um data.frame ou objeto sf de PONTOS e formatá-lo como uma estrutura JSON simples. | Função R de conversão de PONTOS para JSON. | | **15h** | **Geração Simplificada de CZML** | Adaptar a estrutura JSON para o formato CZML (o formato de dados vetoriais nativo do Cesium). Focar apenas nas propriedades de posição. | Módulo R de geração de CZML para Pontos. | | **15h** | **Renderização de Dados Dinâmicos no Cesium** | Criação da função JavaScript para receber o CZML do R e carregá-lo no visor 3D do Cesium. | Script JS de carregamento dinâmico de CZML. | | **15h** | **Visualização End-to-End** | Teste completo: Botão no Shiny (R) dispara a conversão de dados, que são enviados via API e visualizados como entidades 3D no CesiumJS. | Prova de conceito funcional (visualizando pontos). | ### **FASE III: Validação e Plano de Estudo (Total: 42h)** Fase de polimento, documentação mínima para estudo e definição dos próximos passos. | Esforço (Horas) | Atividade | Foco Principal | Entregável Parcial | | :-------------- | :-------------------------------------- | :----------------------------------------------------------- | :------------------------------------------------------ | | **15h** | **Tratamento de Erros Básico** | Implementação de uma estrutura try-catch mínima para evitar que a aplicação quebre durante a conversão ou comunicação. | Tratamento de erros básico (R e JS). | | **15h** | **Documentação Mínima da API** | Documentação das funções R (convert\_to\_czml) e das funções JS de comunicação (sendToR, handleFromR). | Documentação técnica da comunicação. | | **12h** | **Revisão e Plano de Estudo Detalhado** | Revisão final do MVP. Elaboração de um plano de estudo para os 10 dias restantes do mês, focando em Raster, Tiling e CRS. | **MVP Beta Finalizado** e Roteiro de Estudo para o Mês. | ## **3\. Próximos Passos (Fases Futuras após o MVP)** Após a conclusão das 147 horas de esforço (MVP), você terá uma base sólida. As funcionalidades mais complexas, como conversão de Rasters (DEM) para Terreno 3D, a implementação de *Tiling* e as ferramentas de medição 3D, serão tratadas em passos futuros ou durante o seu período de estudo no restante do mês.

    Overdue by 2 month(s)
    Due by December 31, 2025
  • GEOTRIX 3D MANUTENCAO OUTUBRO/25 1 — Streaming de objetos 3D Label: backend, performance, geotrix3D Tempo estimado: 24 h Descrição: implementar carregamento “on-request” de objetos 3D. Objetivo: reduzir uso de memória e tempo de abertura. Critérios de aceite: logs mostram fetch apenas sob demanda. 2 — Tag de execução de análise Label: frontend, results, UX Tempo estimado: 7 h Descrição: replicar mecanismo de tag da versão 2D no Minex 3D. Objetivo: padronizar rastreabilidade entre dimensões. Critérios de aceite: tag visível e filtrável no painel 3D. 3 — Gráfico por coordenadas (X/Y/Z × valor) Label: analytics, UI Tempo estimado: 4 h Descrição: adaptar gráfico espacial para o ambiente 3D. Objetivo: exibir distribuição por eixo ou corte. Critérios de aceite: render 3D interativo sem travamentos. 4 — Erro (to – from)/by no painel de métricas Label: bug, stats Tempo estimado: 4 h Descrição: corrigir bins inválidos quando target é selecionado. Objetivo: evitar exceções de intervalo negativo. Critérios de aceite: testes passam com target ativado. 5 — Gráfico de correlação entre variáveis Label: analytics, UI, stats Tempo estimado: 4 h Descrição: adicionar gráfico de correlação no painel 3D. Objetivo: visualizar dependência entre teores. Critérios de aceite: mostra r e p-value em tooltip. 6 — Exportação de resultados (PDF / HTML) Label: reports, docs, production Tempo estimado: 7 h Descrição: criar exportação padronizada com layout unificado. Objetivo: permitir auditoria cruzada entre 2D e 3D. Critérios de aceite: cabeçalho, logotipo e parâmetros idênticos.

    Overdue by 4 month(s)
    Due by October 31, 2025