Skip to content

Commit 2418be4

Browse files
authored
Merge pull request #1 from Sub-Dev/feat/visual-token-grid
feat: adds support for configuration files and improvements to the To…
2 parents dff1314 + fc22366 commit 2418be4

18 files changed

+2186
-429
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ dist/
6565
build/
6666
*.zip
6767

68+
# Source maps (if generated)
69+
*.map
70+
71+
# Development files
72+
.vscode/settings.json
73+
*.local.js
74+
6875
# Temporary files
6976
*.tmp
7077
*.temp

README.md

Lines changed: 138 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4,106 +4,178 @@
44
![Version](https://img.shields.io/badge/Version-1.0.0-blue)
55
![License](https://img.shields.io/badge/License-MIT-green)
66

7-
## 📋 Descrição
7+
> 🇧🇷 **Portuguese speakers**: Check out [README.pt-BR.md](README.pt-BR.md) for the Portuguese version.
88
9-
**Token Stack Selector** é um módulo moderno para Foundry VTT que soluciona o problema de tokens empilhados (sobrepostos). Quando múltiplos tokens ocupam a mesma posição no grid, este módulo adiciona uma interface elegante e intuitiva para selecionar facilmente o token desejado.
9+
## 📋 Description
1010

11-
## ✨ Características
11+
**Token Stack Selector** is a modern module for Foundry VTT that solves the problem of stacked (overlapping) tokens. When multiple tokens occupy the same position on the grid, this module adds an elegant and intuitive interface to easily select the desired token.
1212

13-
### 🎯 **Interface Moderna**
13+
## ✨ Features
1414

15-
- **Design Premium**: Interface similar ao painel de condições nativo do Foundry
16-
- **Ícone Único**: Combinação visual de grupo de usuários + mira para identificação rápida
17-
- **Animações Suaves**: Transições elegantes e feedback visual
18-
- **Contador Visual**: Badge mostrando quantos tokens estão empilhados
15+
### 🎯 **Modern Interface**
1916

20-
### 🖱️ **Funcionalidades Avançadas**
17+
- **Premium Design**: Interface similar to Foundry's native condition panel
18+
- **Unique Icon**: Visual combination of user group + crosshairs for quick identification
19+
- **Smooth Animations**: Elegant transitions and visual feedback
20+
- **Visual Counter**: Badge showing how many tokens are stacked
2121

22-
- **Seleção Inteligente**: Token selecionado automaticamente vem para frente
23-
- **Informações Detalhadas**: Mostra nome, tipo de ator e HP quando disponível
24-
- **Posicionamento Inteligente**: Painel se ajusta automaticamente para não sair da tela
25-
- **Múltiplas Formas de Fechar**: Clique fora, ESC ou seleção automática
22+
### 🖱️ **Advanced Features**
2623

27-
### 🔧 **Experiência do Usuário**
24+
- **Hover Preview**: Shows stacked tokens when hovering over them (800ms delay)
25+
- **Smart Selection**: Selected token automatically comes to front
26+
- **Detailed Information**: Shows name, actor type and HP when available
27+
- **Smart Positioning**: Panel automatically adjusts to not go off screen
28+
- **Multiple Ways to Close**: Click outside, ESC or automatic selection
2829

29-
- **Drag & Drop Correto**: Token selecionado pode ser movido imediatamente
30-
- **Feedback Visual**: Notificações confirmando ações
31-
- **Restauração Automática**: Z-index volta ao normal após desseleção
32-
- **Scrollbar Customizada**: Design consistente com o tema do Foundry
30+
### 🔧 **User Experience**
3331

34-
## 🚀 Instalação
32+
- **Correct Drag & Drop**: Selected token can be moved immediately
33+
- **Visual Feedback**: Notifications confirming actions
34+
- **Automatic Restoration**: Z-index returns to normal after deselection
35+
- **Custom Scrollbar**: Design consistent with Foundry theme
3536

36-
### Método 1: Instalação Automática
37+
## 🚀 Installation
3738

38-
1. Abra o Foundry VTT
39-
2. Vá para **Setup****Add-on Modules**
40-
3. Clique em **Install Module**
41-
4. Cole este manifesto: `https://github.com/Sub-Dev/token-stack-selector/releases/latest/download/module.json`
42-
5. Clique em **Install**
39+
### Method 1: Automatic Installation
4340

44-
### Método 2: Instalação Manual
41+
1. Open Foundry VTT
42+
2. Go to **Setup****Add-on Modules**
43+
3. Click **Install Module**
44+
4. Paste this manifest: `https://github.com/Sub-Dev/token-stack-selector/releases/latest/download/module.json`
45+
5. Click **Install**
4546

46-
1. Baixe o arquivo ZIP da [última release](https://github.com/Sub-Dev/token-stack-selector/releases/latest)
47-
2. Extraia na pasta `Data/modules/` do seu Foundry VTT
48-
3. Reinicie o Foundry VTT
49-
4. Ative o módulo no mundo desejado
47+
### Method 2: Manual Installation
5048

51-
## 🎮 Como Usar
49+
1. Download the ZIP file from the [latest release](https://github.com/Sub-Dev/token-stack-selector/releases/latest)
50+
2. Extract to your Foundry VTT `Data/modules/` folder
51+
3. Restart Foundry VTT
52+
4. Enable the module in the desired world
5253

53-
1. **Tokens Empilhados**: Quando dois ou mais tokens ocupam a mesma posição, o botão aparece automaticamente no Token HUD
54-
2. **Abrir Seletor**: Clique no botão com ícone de mira + grupo de usuários
55-
3. **Escolher Token**: Clique no token desejado no painel que aparece
56-
4. **Interagir**: O token selecionado automaticamente vem para frente e pode ser movido normalmente
54+
## 🎮 How to Use
55+
56+
1. **Hover Preview**: Simply hover your mouse over stacked tokens to see a preview of all tokens (appears after 800ms)
57+
2. **Stacked Tokens**: When two or more tokens occupy the same position, the button automatically appears in the Token HUD
58+
3. **Open Selector**: Click the button with crosshairs + user group icon
59+
4. **Choose Token**: Click the desired token in the panel that appears
60+
5. **Interact**: The selected token automatically comes to front and can be moved normally
5761

5862
## 🖼️ Screenshots
5963

60-
_// Adicione aqui screenshots do módulo em ação_
64+
### 🎬 **Demo in Action**
65+
66+
![Token Stack Selector Demo](https://github.com/Sub-Dev/token-stack-selector/raw/main/screenshots/demo.gif)
67+
68+
_Complete workflow: hover preview → HUD button → selection panel → token selection_
69+
70+
---
71+
72+
### 🖱️ **Hover Preview**
73+
74+
![Hover Preview](https://github.com/Sub-Dev/token-stack-selector/raw/main/screenshots/hover-preview.png)
75+
76+
_Modern preview showing stacked tokens when hovering (800ms delay)_
77+
78+
---
79+
80+
### 🎯 **Selection Panel**
81+
82+
![Selection Panel](https://github.com/Sub-Dev/token-stack-selector/raw/main/screenshots/selection-panel.png)
83+
84+
_Elegant selection interface with token details and smart positioning_
85+
86+
---
87+
88+
### 📚 **Stacked Tokens**
89+
90+
![Stacked Tokens](https://github.com/Sub-Dev/token-stack-selector/raw/main/screenshots/stacked-tokens.png)
91+
92+
_HUD button automatically appears when multiple tokens occupy the same position_
6193

62-
## 🔧 Compatibilidade
94+
## 🔧 Compatibility
6395

64-
- **Foundry VTT**: v11 - v12
65-
- **Sistemas**: Compatível com todos os sistemas
66-
- **Módulos**: Não há conflitos conhecidos
96+
- **Foundry VTT**: v11 - v13
97+
- **Systems**: Compatible with all systems
98+
- **Modules**: No known conflicts
6799

68-
## 📝 Notas de Versão
100+
## 📝 Release Notes
69101

70102
### v1.0.0
71103

72-
- ✅ Interface moderna com design premium
73-
- ✅ Seleção inteligente de tokens empilhados
74-
- ✅ Sistema de z-index automático
75-
- ✅ Animações e feedback visual
76-
- ✅ Suporte a múltiplas formas de interação
104+
- ✅ Modern interface with premium design
105+
- ✅ Smart selection of stacked tokens
106+
- ✅ Automatic z-index system
107+
- ✅ Animations and visual feedback
108+
- ✅ Support for multiple interaction methods
109+
110+
## 🏗️ Module Architecture
111+
112+
This module uses a **modular architecture** for better maintainability and scalability:
113+
114+
```
115+
src/
116+
├── components/ # UI components
117+
│ ├── token-hooks-manager.js
118+
│ ├── token-selection-panel.js
119+
│ └── token-stack-button.js
120+
├── utils/ # Utilities and helpers
121+
│ ├── token-detector.js
122+
│ └── token-layer-manager.js
123+
├── styles/ # CSS styles
124+
│ └── token-stack-styles.js
125+
└── token-stack-selector.js # Main orchestrator
126+
```
127+
128+
### Debug Commands
129+
130+
Open browser console and use:
131+
132+
```javascript
133+
TokenStackSelector.debug(); // Debug information
134+
TokenStackSelector.getStats(); // Module statistics
135+
TokenStackSelector.reload(); // Reload module
136+
TokenStackSelector.shutdown(); // Shutdown module
137+
```
138+
139+
## 🤝 Contributing
140+
141+
Contributions are welcome! Please:
142+
143+
1. Fork the project
144+
2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
145+
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
146+
4. Push to the branch (`git push origin feature/AmazingFeature`)
147+
5. Open a Pull Request
148+
149+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
77150

78-
## 🤝 Contribuindo
151+
### 📸 Contributing Screenshots
79152

80-
Contribuições são bem-vindas! Por favor:
153+
Help improve the documentation by adding screenshots:
81154

82-
1. Faça um Fork do projeto
83-
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
84-
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
85-
4. Push para a branch (`git push origin feature/AmazingFeature`)
86-
5. Abra um Pull Request
155+
1. Check [screenshots/README.md](screenshots/README.md) for needed images
156+
2. Take high-quality screenshots showing the module in action
157+
3. Follow the naming conventions specified
158+
4. Submit via Pull Request with descriptive commit messages
87159

88-
## 🐛 Reportar Bugs
160+
## 🐛 Bug Reports
89161

90-
Encontrou um problema? [Abra uma issue](https://github.com/Sub-Dev/token-stack-selector/issues) com:
162+
Found a problem? [Open an issue](https://github.com/Sub-Dev/token-stack-selector/issues) with:
91163

92-
- Versão do Foundry VTT
93-
- Versão do módulo
94-
- Passos para reproduzir o bug
95-
- Screenshots (se aplicável)
164+
- Foundry VTT version
165+
- Module version
166+
- Steps to reproduce the bug
167+
- Screenshots (if applicable)
96168

97-
## 📄 Licença
169+
## 📄 License
98170

99-
Distribuído sob a Licença MIT. Veja `LICENSE` para mais informações.
171+
Distributed under the MIT License. See `LICENSE` for more information.
100172

101-
## 🙏 Agradecimentos
173+
## 🙏 Acknowledgments
102174

103-
- Comunidade Foundry VTT Brasil
104-
- Desenvolvedores do Foundry VTT
105-
- Todos os usuários que testaram e forneceram feedback
175+
- Foundry VTT Brazil Community
176+
- Foundry VTT Developers
177+
- All users who tested and provided feedback
106178

107179
---
108180

109-
**Desenvolvido com ❤️ para a comunidade Foundry VTT**
181+
**Developed with ❤️ for the Foundry VTT community**

0 commit comments

Comments
 (0)