From 704b8e291ecee553fb368dcfd473fd6c32582442 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Tue, 6 Aug 2024 11:50:35 -0400 Subject: [PATCH] Remove legacy unused files (#57) --- .npmrc | 1 - .vscode/extensions.json | 9 - css/litegraph-editor.css | 214 - doc/api.js | 14 - doc/assets/css/external-small.png | Bin 491 -> 0 bytes doc/assets/css/logo.png | Bin 7143 -> 0 bytes doc/assets/css/main.css | 783 - doc/assets/favicon.ico | Bin 5430 -> 0 bytes doc/assets/img/spinner.gif | Bin 2685 -> 0 bytes doc/assets/index.html | 10 - doc/assets/js/api-filter.js | 56 - doc/assets/js/api-list.js | 255 - doc/assets/js/api-search.js | 98 - doc/assets/js/apidocs.js | 376 - doc/assets/js/yui-prettify.js | 17 - doc/assets/vendor/prettify/CHANGES.html | 130 - doc/assets/vendor/prettify/COPYING | 202 - doc/assets/vendor/prettify/README.html | 203 - doc/assets/vendor/prettify/prettify-min.css | 1 - doc/assets/vendor/prettify/prettify-min.js | 1 - doc/classes/ContextMenu.html | 212 - doc/classes/LGraph.html | 2499 ---- doc/classes/LGraphCanvas.html | 2011 --- doc/classes/LGraphNode.html | 2964 ---- doc/classes/LiteGraph.html | 697 - doc/classes/index.html | 10 - doc/data.json | 2114 --- doc/elements/index.html | 10 - doc/files/.._src_litegraph.js.html | 8916 ------------ doc/files/index.html | 10 - doc/index.html | 119 - doc/modules/index.html | 10 - editor/demodata/audio.wav | Bin 744804 -> 0 bytes editor/demodata/impulse.wav | Bin 2651892 -> 0 bytes editor/demodata/video.webm | Bin 4479646 -> 0 bytes editor/editor_mobile.html | 144 - editor/examples/audio.json | 1 - editor/examples/audio_delay.json | 1 - editor/examples/audio_reverb.json | 1 - editor/examples/benchmark.json | 1 - editor/examples/copypaste.json | 1 - editor/examples/features.json | 1 - editor/examples/midi_generation.json | 1 - editor/examples/subgraph.json | 1 - editor/imgs/grid.png | Bin 350 -> 0 bytes editor/imgs/icon-edit.png | Bin 368 -> 0 bytes editor/imgs/icon-gear.png | Bin 607 -> 0 bytes editor/imgs/icon-load.png | Bin 1339 -> 0 bytes editor/imgs/icon-maximize.png | Bin 346 -> 0 bytes editor/imgs/icon-play.png | Bin 344 -> 0 bytes editor/imgs/icon-playstep.png | Bin 349 -> 0 bytes editor/imgs/icon-record.png | Bin 330 -> 0 bytes editor/imgs/icon-save.png | Bin 1339 -> 0 bytes editor/imgs/icon-stop.png | Bin 179 -> 0 bytes editor/imgs/load-progress-empty.png | Bin 836 -> 0 bytes editor/imgs/load-progress-full.png | Bin 1282 -> 0 bytes editor/imgs/load-progress-grey.png | Bin 281 -> 0 bytes editor/imgs/play-icons-light-alpha.png | Bin 1405 -> 0 bytes editor/imgs/play-icons-light.png | Bin 1409 -> 0 bytes editor/imgs/play-icons.png | Bin 1099 -> 0 bytes editor/index.html | 47 - editor/js/code.js | 195 - editor/js/defaults.js | 32 - editor/js/defaults_mobile.js | 32 - editor/js/demos.js | 307 - editor/js/libs/audiosynth.js | 356 - editor/js/libs/gl-matrix-min.js | 28 - editor/js/libs/litegl.js | 13432 ------------------ editor/js/libs/midi-parser.js | 356 - editor/style.css | 260 - external/Basica.otf | Bin 11508 -> 0 bytes external/Criticized.otf | Bin 19628 -> 0 bytes external/DS-Digital.otf | Bin 8048 -> 0 bytes external/beat.otf | Bin 11796 -> 0 bytes external/jquery-1.6.2.min.js | 18 - gruntfile.js | 47 - guides/README.md | 344 - index.html | 86 - nodes_data/imgs/icon-sin.png | Bin 862 -> 0 bytes nodes_data/imgs/knob2_bg.png | Bin 3711 -> 0 bytes nodes_data/imgs/knob2_fg.png | Bin 564 -> 0 bytes nodes_data/imgs/knob_bg.png | Bin 3907 -> 0 bytes nodes_data/imgs/knob_fg.png | Bin 366 -> 0 bytes nodes_data/imgs/slider_fg.png | Bin 1348 -> 0 bytes package.json | 2 - src/litegraph-editor.js | 283 - src/nodes/audio.js | 1456 -- src/nodes/base.js | 1770 --- src/nodes/events.js | 504 - src/nodes/geometry.js | 1910 --- src/nodes/glfx.js | 788 - src/nodes/glshaders.js | 1839 --- src/nodes/gltextures.js | 5488 ------- src/nodes/graphics.js | 896 -- src/nodes/input.js | 354 - src/nodes/interface.js | 798 -- src/nodes/logic.js | 201 - src/nodes/math.js | 1333 -- src/nodes/math3d.js | 573 - src/nodes/midi.js | 1586 --- src/nodes/network.js | 428 - src/nodes/others.js | 37 - src/nodes/strings.js | 150 - style.css | 14 - utils/build.sh | 5 - utils/builder.py | 91 - utils/deploy_files.txt | 17 - utils/deploy_files_core.txt | 1 - utils/deploy_files_mini.txt | 8 - utils/generate_doc.sh | 7 - utils/pack.sh | 4 - utils/server.js | 10 - utils/temp.js | 24 - utils/test.sh | 16 - 114 files changed, 58227 deletions(-) delete mode 100755 .npmrc delete mode 100755 .vscode/extensions.json delete mode 100755 css/litegraph-editor.css delete mode 100755 doc/api.js delete mode 100755 doc/assets/css/external-small.png delete mode 100755 doc/assets/css/logo.png delete mode 100755 doc/assets/css/main.css delete mode 100755 doc/assets/favicon.ico delete mode 100755 doc/assets/img/spinner.gif delete mode 100755 doc/assets/index.html delete mode 100755 doc/assets/js/api-filter.js delete mode 100755 doc/assets/js/api-list.js delete mode 100755 doc/assets/js/api-search.js delete mode 100755 doc/assets/js/apidocs.js delete mode 100755 doc/assets/js/yui-prettify.js delete mode 100755 doc/assets/vendor/prettify/CHANGES.html delete mode 100755 doc/assets/vendor/prettify/COPYING delete mode 100755 doc/assets/vendor/prettify/README.html delete mode 100755 doc/assets/vendor/prettify/prettify-min.css delete mode 100755 doc/assets/vendor/prettify/prettify-min.js delete mode 100755 doc/classes/ContextMenu.html delete mode 100755 doc/classes/LGraph.html delete mode 100755 doc/classes/LGraphCanvas.html delete mode 100755 doc/classes/LGraphNode.html delete mode 100755 doc/classes/LiteGraph.html delete mode 100755 doc/classes/index.html delete mode 100755 doc/data.json delete mode 100755 doc/elements/index.html delete mode 100755 doc/files/.._src_litegraph.js.html delete mode 100755 doc/files/index.html delete mode 100755 doc/index.html delete mode 100755 doc/modules/index.html delete mode 100755 editor/demodata/audio.wav delete mode 100755 editor/demodata/impulse.wav delete mode 100755 editor/demodata/video.webm delete mode 100755 editor/editor_mobile.html delete mode 100755 editor/examples/audio.json delete mode 100755 editor/examples/audio_delay.json delete mode 100755 editor/examples/audio_reverb.json delete mode 100755 editor/examples/benchmark.json delete mode 100644 editor/examples/copypaste.json delete mode 100755 editor/examples/features.json delete mode 100755 editor/examples/midi_generation.json delete mode 100755 editor/examples/subgraph.json delete mode 100755 editor/imgs/grid.png delete mode 100755 editor/imgs/icon-edit.png delete mode 100755 editor/imgs/icon-gear.png delete mode 100755 editor/imgs/icon-load.png delete mode 100755 editor/imgs/icon-maximize.png delete mode 100755 editor/imgs/icon-play.png delete mode 100755 editor/imgs/icon-playstep.png delete mode 100755 editor/imgs/icon-record.png delete mode 100755 editor/imgs/icon-save.png delete mode 100755 editor/imgs/icon-stop.png delete mode 100755 editor/imgs/load-progress-empty.png delete mode 100755 editor/imgs/load-progress-full.png delete mode 100755 editor/imgs/load-progress-grey.png delete mode 100755 editor/imgs/play-icons-light-alpha.png delete mode 100755 editor/imgs/play-icons-light.png delete mode 100755 editor/imgs/play-icons.png delete mode 100755 editor/index.html delete mode 100755 editor/js/code.js delete mode 100755 editor/js/defaults.js delete mode 100755 editor/js/defaults_mobile.js delete mode 100755 editor/js/demos.js delete mode 100755 editor/js/libs/audiosynth.js delete mode 100755 editor/js/libs/gl-matrix-min.js delete mode 100755 editor/js/libs/litegl.js delete mode 100755 editor/js/libs/midi-parser.js delete mode 100755 editor/style.css delete mode 100755 external/Basica.otf delete mode 100755 external/Criticized.otf delete mode 100755 external/DS-Digital.otf delete mode 100755 external/beat.otf delete mode 100755 external/jquery-1.6.2.min.js delete mode 100755 gruntfile.js delete mode 100755 guides/README.md delete mode 100755 index.html delete mode 100755 nodes_data/imgs/icon-sin.png delete mode 100755 nodes_data/imgs/knob2_bg.png delete mode 100755 nodes_data/imgs/knob2_fg.png delete mode 100755 nodes_data/imgs/knob_bg.png delete mode 100755 nodes_data/imgs/knob_fg.png delete mode 100755 nodes_data/imgs/slider_fg.png delete mode 100755 src/litegraph-editor.js delete mode 100755 src/nodes/audio.js delete mode 100755 src/nodes/base.js delete mode 100755 src/nodes/events.js delete mode 100755 src/nodes/geometry.js delete mode 100755 src/nodes/glfx.js delete mode 100755 src/nodes/glshaders.js delete mode 100755 src/nodes/gltextures.js delete mode 100755 src/nodes/graphics.js delete mode 100755 src/nodes/input.js delete mode 100755 src/nodes/interface.js delete mode 100755 src/nodes/logic.js delete mode 100755 src/nodes/math.js delete mode 100755 src/nodes/math3d.js delete mode 100755 src/nodes/midi.js delete mode 100755 src/nodes/network.js delete mode 100755 src/nodes/others.js delete mode 100755 src/nodes/strings.js delete mode 100755 style.css delete mode 100755 utils/build.sh delete mode 100755 utils/builder.py delete mode 100755 utils/deploy_files.txt delete mode 100755 utils/deploy_files_core.txt delete mode 100755 utils/deploy_files_mini.txt delete mode 100755 utils/generate_doc.sh delete mode 100755 utils/pack.sh delete mode 100755 utils/server.js delete mode 100755 utils/temp.js delete mode 100755 utils/test.sh diff --git a/.npmrc b/.npmrc deleted file mode 100755 index 9cf949503..000000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -package-lock=false \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100755 index 62271a5d0..000000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp - - // List of extensions which should be recommended for users of this workspace. - "recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"], - // List of extensions recommended by VS Code that should not be recommended for users of this workspace. - "unwantedRecommendations": [] -} diff --git a/css/litegraph-editor.css b/css/litegraph-editor.css deleted file mode 100755 index 130ac0b97..000000000 --- a/css/litegraph-editor.css +++ /dev/null @@ -1,214 +0,0 @@ -.litegraph-editor { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - - background-color: #333; - color: #eee; - font: 14px Tahoma; - - position: relative; -} - -.litegraph-editor h1 { - font-family: "Metro Light", Tahoma; - color: #ddd; - font-size: 28px; - padding-left: 10px; - /*text-shadow: 0 1px 1px #333, 0 -1px 1px #777;*/ - margin: 0; - font-weight: normal; -} - -.litegraph-editor h1 span { - font-family: "Arial"; - font-size: 14px; - font-weight: normal; - color: #aaa; -} - -.litegraph-editor h2 { - font-family: "Metro Light"; - padding: 5px; - margin-left: 10px; -} - -.litegraph-editor * { - box-sizing: border-box; - -moz-box-sizing: border-box; -} - -.litegraph-editor .content { - position: relative; - width: 100%; - height: calc(100% - 80px); - background-color: #1a1a1a; -} - -.litegraph-editor .header, -.litegraph-editor .footer { - position: relative; - height: 40px; - background-color: #333; - /*border-radius: 10px 10px 0 0;*/ -} - -.litegraph-editor .tools, -.litegraph-editor .tools-left, -.litegraph-editor .tools-right { - position: absolute; - top: 2px; - right: 0px; - vertical-align: top; - - margin: 2px 5px 0 0px; -} - -.litegraph-editor .tools-left { - right: auto; - left: 4px; -} - -.litegraph-editor .footer { - height: 40px; - position: relative; - /*border-radius: 0 0 10px 10px;*/ -} - -.litegraph-editor .miniwindow { - background-color: #333; - border: 1px solid #111; -} - -.litegraph-editor .miniwindow .corner-button { - position: absolute; - top: 2px; - right: 2px; - font-family: "Tahoma"; - font-size: 14px; - color: #aaa; - cursor: pointer; -} - -/* BUTTONS **********************/ - -.litegraph-editor .btn { - /*font-family: "Metro Light";*/ - color: #ccc; - font-size: 20px; - min-width: 30px; - /*border-radius: 0.3em;*/ - border: 0 solid #666; - background-color: #3f3f3f; - /*box-shadow: 0 0 3px black;*/ - padding: 4px 10px; - cursor: pointer; - transition: all 1s; - -moz-transition: all 1s; - -webkit-transition: all 0.4s; -} - -.litegraph-editor button:hover { - background-color: #999; - color: #fff; - transition: all 1s; - -moz-transition: all 1s; - -webkit-transition: all 0.4s; -} - -.litegraph-editor button:active { - background-color: white; -} - -.litegraph-editor button.fixed { - position: absolute; - top: 5px; - right: 5px; - font-size: 1.2em; -} - -.litegraph-editor button img { - margin: -4px; - vertical-align: top; - opacity: 0.8; - transition: all 1s; -} - -.litegraph-editor button:hover img { - opacity: 1; -} - -.litegraph-editor .header button { - height: 32px; - vertical-align: top; -} - -.litegraph-editor .footer button { - /*font-size: 16px;*/ -} - -.litegraph-editor .toolbar-widget { - display: inline-block; -} - -.litegraph-editor .editor-area { - width: 100%; - height: 100%; -} - -/* METER *********************/ - -.litegraph-editor .loadmeter { - font-family: "Tahoma"; - color: #aaa; - font-size: 12px; - border-radius: 2px; - width: 130px; - vertical-align: top; -} - -.litegraph-editor .strong { - vertical-align: top; - padding: 3px; - width: 30px; - display: inline-block; - line-height: 8px; -} - -.litegraph-editor .cpuload .bgload, -.litegraph-editor .gpuload .bgload { - display: inline-block; - width: 90px; - height: 15px; - background-image: url("../editor/imgs/load-progress-empty.png"); -} - -.litegraph-editor .cpuload .fgload, -.litegraph-editor .gpuload .fgload { - display: inline-block; - width: 4px; - height: 15px; - max-width: 90px; - background-image: url("../editor/imgs/load-progress-full.png"); -} - -.litegraph-editor textarea.code, .litegraph-editor div.code { - height: 100%; - width: 100%; - background-color: black; - padding: 4px; - font: 16px monospace; - overflow: auto; - resize: none; - outline: none; - color: #DDD; -} - -.litegraph-editor .codeflask { - background-color: #2a2a2a; -} - -.litegraph-editor .codeflask textarea { - opacity: 0; -} \ No newline at end of file diff --git a/doc/api.js b/doc/api.js deleted file mode 100755 index e7accb06a..000000000 --- a/doc/api.js +++ /dev/null @@ -1,14 +0,0 @@ -YUI.add("yuidoc-meta", function(Y) { - Y.YUIDoc = { meta: { - "classes": [ - "ContextMenu", - "LGraph", - "LGraphCanvas", - "LGraphNode", - "LiteGraph" - ], - "modules": [], - "allModules": [], - "elements": [] -} }; -}); \ No newline at end of file diff --git a/doc/assets/css/external-small.png b/doc/assets/css/external-small.png deleted file mode 100755 index 759a1cdcb5b1697e5be290d98b830e279cd71f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491 zcmVDs{zR1^XE?tfB*h@ASKHAa7wwn{MEbP z7_^nS7{V*>+A}bS;P%45fB%Ai|Neasi2rl3{=EO;!w318%8Ovl7jArHc=P5Brfr~D z0AYimtss2w$hlYlfd>7*aO3TNzw875LBK0xAD9Np|A(oEVYnB*eE9~V6wP%78SXuL z&#-X)Er#`zY#Ce)^8hM>B_8 diff --git a/doc/assets/css/logo.png b/doc/assets/css/logo.png deleted file mode 100755 index c82444af95895d38bea6fe96cc5354a7419f770c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7143 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