1<!DOCTYPE html> 2<html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Shout and Twist - 3D Model Twister</title> 8 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> 9 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap"> 10
10<script type="module" crossorigin src="assets/index-zy0hV-jI.js"></script>
10 11 <link rel="stylesheet" crossorigin href="assets/index-C39lX37b.css"> 12 </head> 13 14 <body> 15 <div class="container-fluid"> 16 <div class="row"> 17 <div class="col-sm-2 bg-secondary sidebar"> 18 <h1 class="my-3 text-center">Shout & Twist</h1> 19 <button class="btn btn-primary my-2" id="uploadButton">Upload .STL</button> 20 <input type="file" id="fileInput" accept=".stl" style="display:none;"> 21 <br> 22 <div class="section"> 23 <label id="twistRangeLabel" class="text-dark">Sensitivity</label> 24 <div class="btn-group btn-group-toggle" data-toggle="buttons"> 25 <label class="btn btn-secondary" id="lowLabel"> 26 <input type="radio" name="options" id="option1" autocomplete="off"> Low 27 </label> 28 <label class="btn btn-secondary active" id="mediumLabel"> 29 <input type="radio" name="options" id="option2" autocomplete="off" checked> Medium 30 </label> 31 <label class="btn btn-secondary" id="highLabel"> 32 <input type="radio" name="options" id="option3" autocomplete="off"> High 33 </label> 34 </div> 35 </div> 36 37 <div class="section"> 38 <label id="twistAmountLabel" class="text-dark">Twist Amount</label> 39 <div class="db-meter"> 40 <div class="db-meter-bar" id="dbMeterBar"></div> 41 </div> 42 <div id="dbMeter" class="text-dark">0 dB</div> 43 <button class="btn btn-info my-2" id="enableMicButton">Enable Microphone</button> 44 </div> 45 <button class="btn btn-info my-2" id="resetButton">Reset Position</button> 46 <button class="btn btn-info my-2" id="rotateButton">Rotate Controls</button> 47 <button class="btn btn-success my-2" id="exportButton">Export .STL</button> 48 </div> 49 <div class="col-sm-10 main-content"> 50 <div id="canvas-container"></div> 51 </div> 52 </div> 53 </div> 54
54<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
54 55
55<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
55 56
56<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
56 57 58 <div class="ko-fi"> 59
59<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
59 60
60<script> 61 kofiWidgetOverlay.draw('andrewsink', { 62 'type': 'floating-chat', 63 'floating-chat.donateButton.text': 'Support me', 64 'floating-chat.donateButton.background-color': '#00b9fe', 65 'floating-chat.donateButton.text-color': '#fff' 66 }); 67 </script>
67 68 </div> 69 70 <div class="credits">Andrew Sink - 2024 <br> 71 <a href="https://www.thingiverse.com/thing:138642">MakerBot Gnome / CC BY 4.0</a> 72 <br> 73 <a href="https://andrewsink.github.io/STL-Twister/">Slider-based STL Twister</a> 74 </div> 75
75<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"52551250bae843479e27c5212b7677af","r":1,"spa":2}' crossorigin="anonymous"></script>
75 76</body> 77 78</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.