No description
- JavaScript 96.7%
- Rust 1.5%
- CSS 1.1%
- Python 0.5%
- Shell 0.1%
| assets | ||
| bullshit/cssbullshit | ||
| data | ||
| docs | ||
| icons | ||
| mobile-voip-bridge | ||
| ops | ||
| rust_backend | ||
| scripts | ||
| src | ||
| styles | ||
| ui/popup | ||
| .gitignore | ||
| .web-extignore | ||
| BACKEND.md | ||
| manifest.json | ||
| readme.md | ||
| tracegeral.json | ||
| tracegeralzao.json | ||
| tracemafia.json | ||
| tracenew.json | ||
🌺 Lotus Enhancer
Extensão Habblet — Autocomplete, Super Wired e Ações Rápidas
Extensão para Habblet que adiciona autocomplete inteligente, painel flutuante de ações, repositório Super Wired e interações rápidas entre usuários.
Projeto renomeado para Lotus Enhancer.
✨ Funcionalidades
🔮 Autocomplete Inteligente
- Autocomplete em tempo real para:
- Comandos (
:tele,:push,:pull, etc) - Variáveis Wired (
%user_id%,%room_owner%, etc)
- Comandos (
- Detecção automática por trigger:
:→ comandos%→ wired
- Popup com:
- Código
- Descrição
- Posicionamento inteligente (acima ou abaixo do input)
🛠️ Super Wired Repository
- Modal com repositório completo de Wired
- Busca instantânea por:
- Nome do comando
- Descrição
- Inserção direta no input ativo
- Auto-highlight dos parâmetros
( ) - Funciona em:
- Inputs
- Textareas
- Chat do jogo
⚡ Painel Flutuante de Ações
Painel flutuante, arrastável e minimizável contendo:
- 📍
Tele - 💋
Beijar - 👊
Socar - 👉
Push - 🤝
Pull - 🛠️ Acesso rápido ao Super Wired
- 🔁 Toggle de Auto Tele
🚀 Auto Tele Inteligente
- Executa
:teleautomaticamente:- Ao entrar em um quarto
- Ao trocar de quarto
- Delay humanizado (1.5s ~ 2.8s)
- Evita spam e comportamento robótico
- Pode ser ativado/desativado no painel
🧠 Integração com o Jogo
- Comunicação via
window.postMessage - Script injetado no contexto real da página
- Acesso a:
window.NitroroomSession
- Detecção de estado do jogo por:
- UI (chat disponível)
- ID da sala
🧩 Estrutura do Projeto
📦 lotus-habblet-extension
├── src/
│ ├── background/background.js # Service worker
│ ├── content/content.js # Script principal (UI, autocomplete, lógica)
│ ├── injected/injected.js # Script injetado no contexto do jogo
│ └── runtime/ # Worker e bridge/loader do backend
├── ui/popup/
│ ├── popup.html # UI do popup
│ ├── popup.js # Lógica do popup
│ └── popup.css # Estilos do popup (design separado)
├── styles/overlay.css # Estilos do overlay no jogo
├── data/
│ ├── lotus.config.json
│ ├── furni_index.compact.json # Índice versionado (gerado)
│ ├── packet_headers.reference.json # Headers canônicos (gerado do renderer)
│ ├── enables.json
│ └── handitems.json
├── assets/
│ ├── enables/*.webp
│ └── handitems/*.webp
├── manifest.json # Manifest da extensão
└── README.md
Backend de Pacotes (Rust obrigatório)
- O processamento de pacotes em runtime usa somente Rust/WASM.
- No worker (
src/runtime/packet_worker.js), os domínios ROOM/CHAT/WIRED/FRIENDS/USER_INFO/ROOM_LAYOUT/COLORINDO já migrados não executam mais parser JS. - O diretório
rust_backend/pkg/é artefato obrigatório do repositório. - Sempre que
rust_backend/src/lib.rsmudar, rode:
./scripts/build-rust-backend.sh
No Windows PowerShell:
./scripts/build-rust-backend.ps1
Se aparecer ERR_FILE_NOT_FOUND para rust_backend/pkg/lotus_rust_backend.js, gere novamente o pkg e recarregue a extensão.
Perfil de Performance (Ultra Adaptativo)
- O runtime agora usa
settings.performanceProfile = "ultra_adaptive"por padrão. - Em idle/background:
- loops de voz e probes do worker reduzem cadência automaticamente;
- render do inspetor só roda para aba ativa e respeita throttle;
- buffers do inspetor usam retenção agressiva com prune incremental.
- O worker recebe
SET_RUNTIME_ACTIVITY(active|background|paused) e ajusta timers internos sem trocar backend.
Catálogo global de mobis (índice compacto)
- O arquivo bruto
data/habblet_furni.jsoné fonte local para geração e não é versionado. - O runtime da UI usa
data/furni_index.compact.jsoncomo catálogo canônico porclassId/kind:id. - Sempre que atualizar o bruto, regenere o índice:
python scripts/build-furni-index.py --input data/habblet_furni.json --output data/furni_index.compact.json
Mapa canônico de headers de pacote (Nitro renderer)
- Fonte de referência:
scripts/referenciapacotes.js. - Índice versionado usado pelo Inspector:
data/packet_headers.reference.json. - Para regenerar:
python scripts/build-packet-header-index.py --input scripts/referenciapacotes.js --output data/packet_headers.reference.json
- O
content.jsfaz merge automático desse mapa noknowledgeBase.headers, preservando mapeamentos manuais (source: "manual"). - O
scripts/build-webext-root.shjá regenera esse índice automaticamente antes de empacotar.
VOIP Mobile (Cloudflare Tunnel)
Para diagnosticar conexao de voz no mobile via wss://voip.bletsound.com.br:
- Copie e execute na VPS Ubuntu:
chmod +x scripts/voip_tunnel_diagnose.sh
./scripts/voip_tunnel_diagnose.sh
- Para customizar host/porta:
HOST=voip.bletsound.com.br LOCAL_WS_URL=ws://127.0.0.1:8092 ./scripts/voip_tunnel_diagnose.sh
- Template de config do tunnel:
ops/cloudflared.voip.example.yml