29 Commits

Author SHA1 Message Date
Niklas 4203157bf2 shelf: PySide2-first import with PySide6 fallback for Qt5/6 compatibility 2026-07-12 20:24:51 +02:00
Niklas 7a609e79ed feat: robust bridge panel — TCP socket status check, network exposure opt-in, deferred hscript, German UI 2026-07-12 14:51:57 +00:00
Hermes ff2b46d465 revert: remove 456.py (back to factory settings — no startup scripts) 2026-07-12 14:49:01 +00:00
Hermes 7aba4b7eed feat: 456.py auto-opens port 12345 on Houdini startup (no UI, no dialog) 2026-07-12 14:33:22 +00:00
Hermes a4703f104f fix: connect signal BEFORE _refresh (was unreachable on exception), bridge_is_open exception-safe, remove bogus QTimer workaround 2026-07-12 14:31:58 +00:00
Hermes 37cc1f0736 fix: defer hou.hscript via QTimer.singleShot(0) — avoids re-entrancy in signal handler 2026-07-12 14:11:24 +00:00
Hermes 5b410dca9e fix: direct setStyleSheet (no unpolish/polish), removed modal debug popup — was crashing window after popup dismiss 2026-07-12 14:06:24 +00:00
Hermes ffa7f20fbc debug: connect signal AFTER _refresh, add 'TOGGLE FIRED' popup as first line of _toggle 2026-07-12 14:02:15 +00:00
Hermes ce25a06807 fix: clicked→released signal, button has default text (was empty QPushButton) 2026-07-12 14:00:05 +00:00
Hermes 4a0c056fa0 debug: add try/except in _toggle with hou.ui.displayMessage error popup 2026-07-12 13:57:40 +00:00
Hermes 46338cf8c4 fix: remove parent=mainQtWindow — makes widget a child, not a standalone window (causes black-bar corruption) 2026-07-12 13:55:48 +00:00
Hermes b4bc78641a fix: add missing closing CDATA/XML tags (truncated in previous commit) 2026-07-12 13:52:44 +00:00
Hermes afaf25b539 fix: QDialog → QWidget per SideFX HOM cookbook (QDialog blocks events when shown non-modally) 2026-07-12 13:52:16 +00:00
Hermes 8b0b75f28f fix: persist dialog in hou.session (prevents GC), remove StaysOnTop (Wayland issue), add raise/activateWindow 2026-07-12 13:50:30 +00:00
Hermes 6b4a4410d3 feat: shelf button opens PySide6 dialog with port spinner, toggle button, copy — per SideFX HOM cookbook 2026-07-12 13:47:06 +00:00
Hermes e4908a8d92 fix: proper XML — <toolshelf>+<memberTool> per SideFX schema (was invalid <shelf>) 2026-07-12 13:43:31 +00:00
Hermes 54faf4f378 fix: add <shelf> wrapper — without it, shelf tab never appears 2026-07-12 13:37:41 +00:00
Hermes 82721335e2 fix: shelves/ → toolbar/ (Houdini convention for .shelf files) 2026-07-12 13:32:56 +00:00
Hermes 4a9157aae3 feat: shelf tool (replaces broken panel), PySide6 fix, descriptor uses HOUDINI_USER_PREF_DIR 2026-07-12 13:27:06 +00:00
Hermes e89f0dc048 fix: PySide6 first (Houdini 21 uses Qt6, PySide2 fallback caused silent panel load failure) 2026-07-12 13:21:11 +00:00
Hermes dc409cce13 fix: .pypanel must be XML, not JSON (Houdini convention) 2026-07-12 13:15:35 +00:00
Hermes d602ea2622 docs: install into ~/houdini21.0, not ~/Documents 2026-07-12 13:09:47 +00:00
Hermes 135b4d5a0c docs: update README for package-system install flow 2026-07-12 13:03:54 +00:00
Hermes 0eb8c00174 fix: install.sh path (repo root, not parent) 2026-07-12 13:03:00 +00:00
Hermes 06b9de183b v0.4: Official Houdini package system integration
- hermes_houdini_bridge.json: package descriptor (generated by install.sh)
- scripts/python/hermes_bridge_panel.py: moved to package-standard location
- python_panels/hermes_bridge.pypanel: registered in Windows menu
- install.sh: one-command installer (generates JSON with correct path)
- git clone + install.sh = fully installed; git pull = update
- Panel opens via Windows -> Hermes Bridge (no Python Shell needed)
2026-07-12 13:02:34 +00:00
Hermes bc3aa89db5 docs: Package-System Migrationsplan (offizieller Houdini-Standard) 2026-07-12 12:52:57 +00:00
Hermes 716852aef8 v0.3: PySide2 mini-UI panel + installer
- New: hermes_bridge_panel.py — PySide2 floating panel with:
  - Port configuration (spinner)
  - Open/Close toggle with green/red status
  - Auto-detected hostname
  - One-click copy prompt: 'Hey Hermes, I have Houdini on [host] port [N]'
  - Persists port setting across sessions
- New: install.py — auto-detects houdini dir, copies panel + shelf
- New: hermes_bridge.shelf — shelf tool integration
- Updated: README with panel usage instructions
2026-07-12 12:46:02 +00:00
Hermes 79aa35df6b v0.2: Working bridge — temp-file output, eval with stdout capture
- Changed from exec(open()) to temp-file output pattern (/tmp/hhb_out_*.txt)
- eval command now captures print() via io.StringIO redirect
- get-selected, get-param, get-inputs: working with temp-file output
- Verified live on Houdini 21.0.729 (Fedora, Wayland)
- Known limitation: python /tmp/script.py via hcommand does not capture print();
  workaround is writing to /tmp/hhb_out_*.txt
2026-07-12 12:28:53 +00:00
Hermes dd2a1734eb Initial commit: Hermes-Houdini Bridge
- Shelf tool to open/close command port in Houdini
- hhb client script (eval, script, get-selected, set-param, etc.)
- Hermes skill with standard hou module workflows
- Example: create pyro setup
- hou module quick reference
2026-07-12 12:14:36 +00:00