|
4 | 4 |  |
5 | 5 |  |
6 | 6 |
|
7 | | -## 📋 Descrição |
| 7 | +> 🇧🇷 **Portuguese speakers**: Check out [README.pt-BR.md](README.pt-BR.md) for the Portuguese version. |
8 | 8 |
|
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 |
10 | 10 |
|
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. |
12 | 12 |
|
13 | | -### 🎯 **Interface Moderna** |
| 13 | +## ✨ Features |
14 | 14 |
|
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** |
19 | 16 |
|
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 |
21 | 21 |
|
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** |
26 | 23 |
|
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 |
28 | 29 |
|
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** |
33 | 31 |
|
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 |
35 | 36 |
|
36 | | -### Método 1: Instalação Automática |
| 37 | +## 🚀 Installation |
37 | 38 |
|
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 |
43 | 40 |
|
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** |
45 | 46 |
|
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 |
50 | 48 |
|
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 |
52 | 53 |
|
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 |
57 | 61 |
|
58 | 62 | ## 🖼️ Screenshots |
59 | 63 |
|
60 | | -_// Adicione aqui screenshots do módulo em ação_ |
| 64 | +### 🎬 **Demo in Action** |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | +_Complete workflow: hover preview → HUD button → selection panel → token selection_ |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +### 🖱️ **Hover Preview** |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | +_Modern preview showing stacked tokens when hovering (800ms delay)_ |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +### 🎯 **Selection Panel** |
| 81 | + |
| 82 | + |
| 83 | + |
| 84 | +_Elegant selection interface with token details and smart positioning_ |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +### 📚 **Stacked Tokens** |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +_HUD button automatically appears when multiple tokens occupy the same position_ |
61 | 93 |
|
62 | | -## 🔧 Compatibilidade |
| 94 | +## 🔧 Compatibility |
63 | 95 |
|
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 |
67 | 99 |
|
68 | | -## 📝 Notas de Versão |
| 100 | +## 📝 Release Notes |
69 | 101 |
|
70 | 102 | ### v1.0.0 |
71 | 103 |
|
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. |
77 | 150 |
|
78 | | -## 🤝 Contribuindo |
| 151 | +### 📸 Contributing Screenshots |
79 | 152 |
|
80 | | -Contribuições são bem-vindas! Por favor: |
| 153 | +Help improve the documentation by adding screenshots: |
81 | 154 |
|
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 |
87 | 159 |
|
88 | | -## 🐛 Reportar Bugs |
| 160 | +## 🐛 Bug Reports |
89 | 161 |
|
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: |
91 | 163 |
|
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) |
96 | 168 |
|
97 | | -## 📄 Licença |
| 169 | +## 📄 License |
98 | 170 |
|
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. |
100 | 172 |
|
101 | | -## 🙏 Agradecimentos |
| 173 | +## 🙏 Acknowledgments |
102 | 174 |
|
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 |
106 | 178 |
|
107 | 179 | --- |
108 | 180 |
|
109 | | -**Desenvolvido com ❤️ para a comunidade Foundry VTT** |
| 181 | +**Developed with ❤️ for the Foundry VTT community** |
0 commit comments