81 lines
2.1 KiB
Markdown
81 lines
2.1 KiB
Markdown
# Camada de Imagem e Visão
|
|
|
|
## Estado atual
|
|
|
|
O DayMaker guarda imagens dos itens, mas **não faz reconhecimento automático de imagem** no produto atual.
|
|
|
|
A imagem de cada item é tratada como dado visual associado ao inventário. A app espera receber ou guardar URLs em `item_images(image_url)` e usa essas imagens para:
|
|
|
|
- Mostrar cards no inventário.
|
|
- Mostrar detalhes do item.
|
|
- Mostrar itens planeados na semana.
|
|
- Mostrar sugestões da IA com imagem quando há correspondência com itens reais.
|
|
|
|
---
|
|
|
|
## Fluxo atual de imagem
|
|
|
|
```text
|
|
Item criado/editado
|
|
↓
|
|
Imagem associada ao item
|
|
↓
|
|
URL guardado em item_images.image_url
|
|
↓
|
|
Ecrãs carregam items com item_images(image_url)
|
|
↓
|
|
Image.network mostra a imagem ou fallback por categoria
|
|
```
|
|
|
|
---
|
|
|
|
## Ficheiros relevantes
|
|
|
|
| Ficheiro | Responsabilidade |
|
|
|----------|------------------|
|
|
| `lib/Screens/add_item_screen.dart` | Criação de itens e associação de dados |
|
|
| `lib/Screens/item_screen.dart` | Inventário, detalhe, edição e imagem do item |
|
|
| `lib/Screens/week_screen.dart` | Mostra imagens dos itens planeados |
|
|
| `lib/Screens/home_screen.dart` | Mostra itens recentes, hoje e sugestões IA |
|
|
|
|
---
|
|
|
|
## Fallback visual
|
|
|
|
Quando um item não tem imagem ou a imagem falha ao carregar:
|
|
|
|
- A UI mostra um fundo com a cor da categoria.
|
|
- A UI mostra o ícone da categoria.
|
|
|
|
Isto evita cards vazios e mantém consistência visual.
|
|
|
|
---
|
|
|
|
## Reconhecimento automático por IA
|
|
|
|
Reconhecimento automático por imagem **não está implementado**.
|
|
|
|
Pode ser uma funcionalidade futura para sugerir:
|
|
|
|
- Nome do item.
|
|
- Categoria.
|
|
- Tags.
|
|
- Cor dominante.
|
|
- Tipo de peça ou objeto.
|
|
|
|
Possíveis serviços futuros:
|
|
|
|
- Google Vision API.
|
|
- Modelos multimodais via API externa.
|
|
- Modelo local/servidor próprio.
|
|
|
|
---
|
|
|
|
## Regras para futuras implementações
|
|
|
|
- Não guardar API keys privadas no cliente Flutter.
|
|
- O utilizador deve poder confirmar/editar qualquer sugestão automática.
|
|
- Nunca substituir nome, categoria ou tags sem confirmação.
|
|
- Manter fallback manual caso a análise de imagem falhe.
|
|
- Atualizar este documento antes de implementar visão computacional.
|