The VJ loop and the playlist video track are full-screen DOM layers above the WebGL canvas, so with mapping on a playing video hid the zones entirely (and 'visual' zones never contained the video). While mapping is on the map canvas is now moved above both video layers (videos keep playing, covered; opaque black ground) and 'visual' zones sample a 2D composite of effect + videos with the same opacity and blend mode as on screen. Recordings skip the raw video layers while mapping is on, since they are already in the zones. v1.9.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XVMQ2JhsJ77pGKqcvvFHqc
62 lines
1.3 KiB
JSON
62 lines
1.3 KiB
JSON
{
|
|
"name": "dj-visualizer",
|
|
"version": "1.9.1",
|
|
"description": "Audio-reactive fractal & abstract visualizer for external display (Mac)",
|
|
"main": "main.js",
|
|
"author": {
|
|
"name": "Dj LuZa",
|
|
"email": "info@djluza.com"
|
|
},
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"start": "electron .",
|
|
"dist": "electron-builder --mac",
|
|
"dist:win": "electron-builder --win"
|
|
},
|
|
"build": {
|
|
"appId": "com.djvisualizer.app",
|
|
"productName": "DJ Visualizer",
|
|
"copyright": "© Dj LuZa",
|
|
"mac": {
|
|
"category": "public.app-category.music",
|
|
"target": "dmg",
|
|
"icon": "build/icon.icns",
|
|
"identity": null
|
|
},
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "build/icon.ico"
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true
|
|
},
|
|
"files": [
|
|
"main.js",
|
|
"preload.js",
|
|
"src/**/*",
|
|
"svg/**/*",
|
|
"models/**/*",
|
|
"scripts/fbx2animglb.py",
|
|
"scripts/fbx2modelglb.py"
|
|
],
|
|
"asarUnpack": [
|
|
"scripts/*.py"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"electron": "^33.4.11",
|
|
"electron-builder": "^24.13.3"
|
|
},
|
|
"dependencies": {
|
|
"@mediapipe/tasks-vision": "^1.0.0"
|
|
}
|
|
}
|