wco_models 3.1.0.325 → 3.4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/production_theme.scss +4 -1
- data/app/assets/stylesheets/wco/main.scss +4 -0
- data/app/assets/stylesheets/wco/studio.scss +12 -4
- data/app/controllers/wco/api/newspartials_controller.rb +1 -1
- data/app/controllers/wco/api/newsproducer_controller.rb +5 -0
- data/app/controllers/wco/newspartials_controller.rb +1 -0
- data/app/models/iro/datapoint.rb +1 -1
- data/app/models/iro/option.rb +16 -2
- data/app/models/iro/position.rb +4 -6
- data/app/models/iro/priceitem.rb +42 -4
- data/app/models/iro/purse.rb +2 -0
- data/app/models/iro/stock.rb +1 -2
- data/app/models/tda/option.rb +4 -9
- data/app/models/wco/newspartial.rb +12 -4
- data/app/views/wco/api/newsproducer/README_newsproducer.txt +12 -0
- data/app/views/wco/api/newsproducer/_scenes.js-bk +20 -0
- data/app/views/wco/api/newsproducer/_scenes.js.erb +15 -0
- data/app/views/wco/api/newsproducer/{_studio_blue.js → _studio_blue1.js} +4 -1
- data/app/views/wco/api/newsproducer/_studio_blue2.js +912 -0
- data/app/views/wco/api/newsproducer/_studio_coc.js +769 -0
- data/app/views/wco/api/newsproducer/_studio_coc.js-bk +389 -0
- data/app/views/wco/api/newsproducer/_studio_coc.js-cannon +677 -0
- data/app/views/wco/api/newsproducer/_studio_fps.js +1018 -0
- data/app/views/wco/api/newsproducer/_studio_ra2.js +255 -0
- data/app/views/wco/api/newsproducer/_touch_controls.js +708 -0
- data/app/views/wco/api/newsproducer/_touch_pad.css +200 -0
- data/app/views/wco/api/newsproducer/games_fps.html +504 -0
- data/app/views/wco/api/newsproducer/{studio_green.html.erb → studio_blue0.html.erb} +1 -1
- data/app/views/wco/api/newsproducer/{studio_blue.html.erb → studio_blue1.html.erb} +3 -3
- data/app/views/wco/api/newsproducer/studio_blue2.html.erb +146 -0
- data/app/views/wco/api/newsproducer/studio_coc.html.erb +95 -0
- data/app/views/wco/api/newsproducer/studio_fps.html.erb +199 -0
- data/app/views/wco/api/newsproducer/studio_ra2.html.erb +95 -0
- data/app/views/wco/newspartials/_show_in_newsvideo.haml +6 -7
- data/app/views/wco/newspartials/index.haml-trash +6 -0
- data/config/initializers/08_integrations.rb +14 -1
- data/config/initializers/08_integrations.rb-example +0 -2
- data/config/routes.rb +3 -0
- data/lib/shortcuts.rb +1 -1
- metadata +23 -7
- data/app/views/wco/api/newsproducer/README.txt +0 -2
- /data/app/views/wco/api/newsproducer/{_studio_green.js → _studio_blue0.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<html>
|
|
2
2
|
<head>
|
|
3
|
-
<title>Studio Blue</title>
|
|
3
|
+
<title>Studio Blue 2</title>
|
|
4
4
|
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" >
|
|
5
5
|
|
|
6
6
|
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<div class='StudioW0'>
|
|
35
35
|
|
|
36
36
|
<div class='header-row'>
|
|
37
|
-
<b>Studio Blue</b>
|
|
37
|
+
<b>Studio Blue 2 </b>
|
|
38
38
|
<em>Status:</em><span id='status'>pending</span>
|
|
39
39
|
<button id='speak'>Speak</button>
|
|
40
40
|
<button id='wave'>Wave</button>
|
|
@@ -103,6 +103,6 @@
|
|
|
103
103
|
</div>
|
|
104
104
|
</div>
|
|
105
105
|
|
|
106
|
-
<script type="module"><%= render '
|
|
106
|
+
<script type="module"><%= render 'studio_blue1.js' %></script>
|
|
107
107
|
|
|
108
108
|
</body></html>
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Studio Any</title>
|
|
4
|
+
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" >
|
|
5
|
+
|
|
6
|
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
7
|
+
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
|
|
8
|
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
|
9
|
+
|
|
10
|
+
<%= stylesheet_link_tag "wco/application", media: "all" %>
|
|
11
|
+
<%= stylesheet_link_tag "wco/studio", media: "all" %>
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
|
|
15
|
+
<script async src="https://unpkg.com/es-module-shims@1.3.6/dist/es-module-shims.js"></script>
|
|
16
|
+
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
17
|
+
<script src="/vendor/javascript/CCapture.all.min.js"></script>
|
|
18
|
+
|
|
19
|
+
<script type="importmap">
|
|
20
|
+
{ "imports":
|
|
21
|
+
{
|
|
22
|
+
"three": "https://cdn.jsdelivr.net/npm/three@0.180.0/build/three.module.js/+esm",
|
|
23
|
+
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/",
|
|
24
|
+
"talkinghead": "https://cdn.jsdelivr.net/gh/wasya-co/TalkingHead@1.7.1/modules/talkinghead.mjs"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<div class='position-absolute'>
|
|
30
|
+
<%= render 'wco/newspartials/timeline', newspartial: @newspartial %>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div class='StudioW1'>
|
|
34
|
+
<div class='StudioW0'>
|
|
35
|
+
|
|
36
|
+
<div class='d-flex ctrl-row header-row'>
|
|
37
|
+
<div class='item'>
|
|
38
|
+
<select class='studio'></select>
|
|
39
|
+
<em>Status:</em><span id='status'>pending</span>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
<div class='d-flex ctrl-row header-row'>
|
|
43
|
+
<div class='item'>
|
|
44
|
+
<label>
|
|
45
|
+
<input type="radio" name="head" value="1" checked>
|
|
46
|
+
head 1
|
|
47
|
+
</label>
|
|
48
|
+
</div>
|
|
49
|
+
<div class='item'>
|
|
50
|
+
<label>
|
|
51
|
+
<input type="radio" name="head" value="2">
|
|
52
|
+
head 2
|
|
53
|
+
</label>
|
|
54
|
+
</div>
|
|
55
|
+
<div class='item'>
|
|
56
|
+
<label>
|
|
57
|
+
<input type="radio" name="head" value="3">
|
|
58
|
+
head 3
|
|
59
|
+
</label>
|
|
60
|
+
</div>
|
|
61
|
+
<div class='item'>
|
|
62
|
+
<button id='speak'>Speak</button>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='item'>
|
|
65
|
+
<select class='gestures' ><option></option></select>
|
|
66
|
+
<button id='jesture'>Jesture</button>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<div id='avatar_1'></div><div id='avatar_2'></div><div id='avatar_3'></div>
|
|
71
|
+
<div id='loading'> </div>
|
|
72
|
+
<div id="rotatingC" class="r2" style="width: 854px;
|
|
73
|
+
height: 480px;
|
|
74
|
+
border: 1px solid red;
|
|
75
|
+
text-align: center; " >
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<div class='d-flex heads ctrl-row'>
|
|
79
|
+
<div class='item'>
|
|
80
|
+
head 1
|
|
81
|
+
<select class='avatar' data-uid="1" ><option></option></select>
|
|
82
|
+
</div>
|
|
83
|
+
<div class='item'>
|
|
84
|
+
head 2
|
|
85
|
+
<select class='avatar' data-uid='2' ><option></option></select>
|
|
86
|
+
</div>
|
|
87
|
+
<div class='item'>
|
|
88
|
+
head 3
|
|
89
|
+
<select class='avatar' data-uid='3' ><option></option></select>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<div class='d-flex cameras ctrl-row'>
|
|
94
|
+
<label>
|
|
95
|
+
<input type="radio" name="camera" value="wide" checked>
|
|
96
|
+
cam wide
|
|
97
|
+
</label>
|
|
98
|
+
<label>
|
|
99
|
+
<input type="radio" name="camera" value="av_1">
|
|
100
|
+
cam 1
|
|
101
|
+
</label>
|
|
102
|
+
<label>
|
|
103
|
+
<input type="radio" name="camera" value="av_2">
|
|
104
|
+
cam 2
|
|
105
|
+
</label>
|
|
106
|
+
<label>
|
|
107
|
+
<input type="radio" name="camera" value="av_3">
|
|
108
|
+
cam 3
|
|
109
|
+
</label>
|
|
110
|
+
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<div class='d-flex lights ctrl-row'>
|
|
114
|
+
<label>
|
|
115
|
+
<input type="checkbox" class='light-ctrl' name="ambientLight" value="on" checked>
|
|
116
|
+
ambientLight
|
|
117
|
+
</label>
|
|
118
|
+
<label>
|
|
119
|
+
<input type="checkbox" class='light-ctrl' name="hemiLight" value="on" checked>
|
|
120
|
+
hemiLight
|
|
121
|
+
</label>
|
|
122
|
+
<label>
|
|
123
|
+
<input type="checkbox" class='light-ctrl' name="keyLight" value="on" checked>
|
|
124
|
+
keyLight
|
|
125
|
+
</label>
|
|
126
|
+
<label class='border-yellow'>
|
|
127
|
+
<input type="checkbox" id='is_shadows' name="shadows" value="on" checked>
|
|
128
|
+
cast shadows
|
|
129
|
+
</label>
|
|
130
|
+
<label>
|
|
131
|
+
<input type="checkbox" class='light-ctrl' name="fillLight" value="on" checked>
|
|
132
|
+
fillLight
|
|
133
|
+
</label>
|
|
134
|
+
<label>
|
|
135
|
+
<input type="checkbox" class='light-ctrl' name="rimLight" value="on" checked>
|
|
136
|
+
rimLight
|
|
137
|
+
</label>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<script type="module"><%= render 'studio_blue2.js' %></script>
|
|
145
|
+
|
|
146
|
+
</body></html>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Studio CoC</title>
|
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
|
5
|
+
<style>
|
|
6
|
+
|
|
7
|
+
html, body { touch-action: manipulation }
|
|
8
|
+
|
|
9
|
+
</style>
|
|
10
|
+
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" >
|
|
11
|
+
|
|
12
|
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
13
|
+
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
|
|
14
|
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
|
15
|
+
|
|
16
|
+
<%= stylesheet_link_tag "wco/application", media: "all" %>
|
|
17
|
+
<%= stylesheet_link_tag "wco/studio", media: "all" %>
|
|
18
|
+
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
|
|
22
|
+
<style><%= render 'touch_pad.css' %></style>
|
|
23
|
+
|
|
24
|
+
<script><%= render 'scenes.js' %></script>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<script async src="https://unpkg.com/es-module-shims@1.3.6/dist/es-module-shims.js"></script>
|
|
28
|
+
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
29
|
+
<script src="/vendor/javascript/CCapture.all.min.js"></script>
|
|
30
|
+
|
|
31
|
+
<script type="importmap">
|
|
32
|
+
{ "imports":
|
|
33
|
+
{
|
|
34
|
+
"three": "https://cdn.jsdelivr.net/npm/three@0.180.0/build/three.module.js/+esm",
|
|
35
|
+
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/",
|
|
36
|
+
"cannon-es": "https://cdn.jsdelivr.net/npm/cannon-es@0.20.0/dist/cannon-es.js",
|
|
37
|
+
"cannon-es-debugger": "https://cdn.jsdelivr.net/npm/cannon-es-debugger@1.0.0/dist/cannon-es-debugger.js",
|
|
38
|
+
"talkinghead": "https://cdn.jsdelivr.net/gh/wasya-co/TalkingHead@1.7.1/modules/talkinghead.mjs"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<div class='StudioW1'>
|
|
44
|
+
<div class='StudioW0'>
|
|
45
|
+
|
|
46
|
+
<div class='ctrl-row header-row'>
|
|
47
|
+
<b>Studio FPS</b>
|
|
48
|
+
<div class='item'>
|
|
49
|
+
<select class='studio'></select>
|
|
50
|
+
<em>Status:</em><span id='status'>pending</span>
|
|
51
|
+
</div>
|
|
52
|
+
<button id='fullScreen' />fullScrn</button>
|
|
53
|
+
|
|
54
|
+
<div class='item'>
|
|
55
|
+
<label>
|
|
56
|
+
<input type="radio" name="ctrl-type" value="touch"> Touch
|
|
57
|
+
</label>
|
|
58
|
+
<label>
|
|
59
|
+
<input type="radio" name="ctrl-type" value="fps"> FPS
|
|
60
|
+
</label>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class='item'>
|
|
64
|
+
<label>
|
|
65
|
+
<input type="checkbox" class='weapon-ctrl' name="weaponCtrl" value="on" checked>
|
|
66
|
+
Use Weapons
|
|
67
|
+
</label>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
<div class='rotatingW'>
|
|
75
|
+
<div id="rotatingC" class="r2" style="position: relative;
|
|
76
|
+
border: 1px solid red;
|
|
77
|
+
text-align: center; " >
|
|
78
|
+
<div style="position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;z-index:2;">
|
|
79
|
+
<div style="position:absolute;left:50%;top:0;width:2px;height:100%;margin-left:-1px;background:#fff;"></div>
|
|
80
|
+
<div style="position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px;background:#fff;"></div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<div id='loading'> </div>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<script type="module"><%= render 'studio_coc.js' %></script>
|
|
94
|
+
|
|
95
|
+
</body></html>
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Studio FPS</title>
|
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
|
5
|
+
<style>
|
|
6
|
+
|
|
7
|
+
html, body { touch-action: manipulation }
|
|
8
|
+
|
|
9
|
+
</style>
|
|
10
|
+
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" >
|
|
11
|
+
|
|
12
|
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
13
|
+
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
|
|
14
|
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
|
15
|
+
|
|
16
|
+
<%= stylesheet_link_tag "wco/application", media: "all" %>
|
|
17
|
+
<%= stylesheet_link_tag "wco/studio", media: "all" %>
|
|
18
|
+
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
|
|
22
|
+
<style><%= render 'touch_pad.css' %></style>
|
|
23
|
+
|
|
24
|
+
<script><%= render 'scenes.js' %></script>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<script async src="https://unpkg.com/es-module-shims@1.3.6/dist/es-module-shims.js"></script>
|
|
28
|
+
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
29
|
+
<script src="/vendor/javascript/CCapture.all.min.js"></script>
|
|
30
|
+
|
|
31
|
+
<script type="importmap">
|
|
32
|
+
{ "imports":
|
|
33
|
+
{
|
|
34
|
+
"three": "https://cdn.jsdelivr.net/npm/three@0.180.0/build/three.module.js/+esm",
|
|
35
|
+
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/",
|
|
36
|
+
"talkinghead": "https://cdn.jsdelivr.net/gh/wasya-co/TalkingHead@1.7.1/modules/talkinghead.mjs"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<div class='StudioW1'>
|
|
42
|
+
<div class='StudioW0'>
|
|
43
|
+
|
|
44
|
+
<div class='ctrl-row header-row'>
|
|
45
|
+
<b>Studio FPS</b>
|
|
46
|
+
<div class='item'>
|
|
47
|
+
<select class='studio'></select>
|
|
48
|
+
<em>Status:</em><span id='status'>pending</span>
|
|
49
|
+
</div>
|
|
50
|
+
<button id='fullScreen' />fullScrn</button>
|
|
51
|
+
|
|
52
|
+
<div class='item'>
|
|
53
|
+
<label>
|
|
54
|
+
<input type="radio" name="ctrl-type" value="touch"> Touch
|
|
55
|
+
</label>
|
|
56
|
+
<label>
|
|
57
|
+
<input type="radio" name="ctrl-type" value="fps"> FPS
|
|
58
|
+
</label>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<div class='item'>
|
|
62
|
+
<label>
|
|
63
|
+
<input type="checkbox" class='weapon-ctrl' name="weaponCtrl" value="on" checked>
|
|
64
|
+
Use Weapons
|
|
65
|
+
</label>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
<div class='rotatingW'>
|
|
73
|
+
<div id="rotatingC" class="r2" style="position: relative;
|
|
74
|
+
border: 1px solid red;
|
|
75
|
+
text-align: center; " >
|
|
76
|
+
<div style="position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;z-index:2;">
|
|
77
|
+
<div style="position:absolute;left:50%;top:0;width:2px;height:100%;margin-left:-1px;background:#fff;"></div>
|
|
78
|
+
<div style="position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px;background:#fff;"></div>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div class='ctrl-row'>
|
|
84
|
+
<button id='createDoor'>Door+</button>
|
|
85
|
+
<div class='item'>
|
|
86
|
+
<label>
|
|
87
|
+
<input type="checkbox" name="doorHelper" value="on">
|
|
88
|
+
move door
|
|
89
|
+
</label>
|
|
90
|
+
</div>
|
|
91
|
+
<div class='item'>
|
|
92
|
+
<label>
|
|
93
|
+
<input type="checkbox" name="doorRotate" value="on">
|
|
94
|
+
rotate door
|
|
95
|
+
</label>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
<div class='ctrl-row'>
|
|
100
|
+
<div class='item'>
|
|
101
|
+
<label>
|
|
102
|
+
<input type="radio" name="head" value="1" checked>
|
|
103
|
+
head 1
|
|
104
|
+
</label>
|
|
105
|
+
</div>
|
|
106
|
+
<div class='item'>
|
|
107
|
+
<label>
|
|
108
|
+
<input type="radio" name="head" value="2">
|
|
109
|
+
head 2
|
|
110
|
+
</label>
|
|
111
|
+
</div>
|
|
112
|
+
<div class='item'>
|
|
113
|
+
<label>
|
|
114
|
+
<input type="radio" name="head" value="3">
|
|
115
|
+
head 3
|
|
116
|
+
</label>
|
|
117
|
+
</div>
|
|
118
|
+
<div class='item'>
|
|
119
|
+
<button id='speak'>Speak</button>
|
|
120
|
+
</div>
|
|
121
|
+
<div class='item'>
|
|
122
|
+
<select class='gestures' ><option></option></select>
|
|
123
|
+
<button id='jesture'>Jesture</button>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<div id='avatar_1'></div><div id='avatar_2'></div><div id='avatar_3'></div>
|
|
128
|
+
<div id='loading'> </div>
|
|
129
|
+
|
|
130
|
+
<div class='d-flex heads ctrl-row'>
|
|
131
|
+
<div class='item'>
|
|
132
|
+
head 1
|
|
133
|
+
<select class='avatar' data-uid="1" ><option></option></select>
|
|
134
|
+
</div>
|
|
135
|
+
<div class='item'>
|
|
136
|
+
head 2
|
|
137
|
+
<select class='avatar' data-uid='2' ><option></option></select>
|
|
138
|
+
</div>
|
|
139
|
+
<div class='item'>
|
|
140
|
+
head 3
|
|
141
|
+
<select class='avatar' data-uid='3' ><option></option></select>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<div class='d-flex cameras ctrl-row'>
|
|
146
|
+
<label>
|
|
147
|
+
<input type="radio" name="camera" value="wide" checked>
|
|
148
|
+
cam wide
|
|
149
|
+
</label>
|
|
150
|
+
<label>
|
|
151
|
+
<input type="radio" name="camera" value="av_1">
|
|
152
|
+
cam 1
|
|
153
|
+
</label>
|
|
154
|
+
<label>
|
|
155
|
+
<input type="radio" name="camera" value="av_2">
|
|
156
|
+
cam 2
|
|
157
|
+
</label>
|
|
158
|
+
<label>
|
|
159
|
+
<input type="radio" name="camera" value="av_3">
|
|
160
|
+
cam 3
|
|
161
|
+
</label>
|
|
162
|
+
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
<div class='ctrl-row lights'>
|
|
166
|
+
<label>
|
|
167
|
+
<input type="checkbox" class='light-ctrl' name="ambientLight" value="on" checked>
|
|
168
|
+
ambientLight
|
|
169
|
+
</label>
|
|
170
|
+
<label>
|
|
171
|
+
<input type="checkbox" class='light-ctrl' name="hemiLight" value="on" checked>
|
|
172
|
+
hemiLight
|
|
173
|
+
</label>
|
|
174
|
+
<label>
|
|
175
|
+
<input type="checkbox" class='light-ctrl' name="keyLight" value="on" checked>
|
|
176
|
+
keyLight
|
|
177
|
+
</label>
|
|
178
|
+
<label class='border-yellow'>
|
|
179
|
+
<input type="checkbox" id='is_shadows' name="shadows" value="on" checked>
|
|
180
|
+
cast shadows
|
|
181
|
+
</label>
|
|
182
|
+
<label>
|
|
183
|
+
<input type="checkbox" class='light-ctrl' name="fillLight" value="on" checked>
|
|
184
|
+
fillLight
|
|
185
|
+
</label>
|
|
186
|
+
<label>
|
|
187
|
+
<input type="checkbox" class='light-ctrl' name="rimLight" value="on" checked>
|
|
188
|
+
rimLight
|
|
189
|
+
</label>
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
|
|
196
|
+
<script type="module"><%= render 'touch_controls.js' %></script>
|
|
197
|
+
<script type="module"><%= render 'studio_fps.js' %></script>
|
|
198
|
+
|
|
199
|
+
</body></html>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Studio CoC</title>
|
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
|
5
|
+
<style>
|
|
6
|
+
|
|
7
|
+
html, body { touch-action: manipulation }
|
|
8
|
+
|
|
9
|
+
</style>
|
|
10
|
+
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" >
|
|
11
|
+
|
|
12
|
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
13
|
+
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
|
|
14
|
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
|
15
|
+
|
|
16
|
+
<%= stylesheet_link_tag "wco/application", media: "all" %>
|
|
17
|
+
<%= stylesheet_link_tag "wco/studio", media: "all" %>
|
|
18
|
+
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
|
|
22
|
+
<style><%= render 'touch_pad.css' %></style>
|
|
23
|
+
|
|
24
|
+
<script><%= render 'scenes.js' %></script>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<script async src="https://unpkg.com/es-module-shims@1.3.6/dist/es-module-shims.js"></script>
|
|
28
|
+
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
29
|
+
<script src="/vendor/javascript/CCapture.all.min.js"></script>
|
|
30
|
+
|
|
31
|
+
<script type="importmap">
|
|
32
|
+
{ "imports":
|
|
33
|
+
{
|
|
34
|
+
"three": "https://cdn.jsdelivr.net/npm/three@0.180.0/build/three.module.js/+esm",
|
|
35
|
+
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/",
|
|
36
|
+
"cannon-es": "https://cdn.jsdelivr.net/npm/cannon-es@0.20.0/dist/cannon-es.js",
|
|
37
|
+
"cannon-es-debugger": "https://cdn.jsdelivr.net/npm/cannon-es-debugger@1.0.0/dist/cannon-es-debugger.js",
|
|
38
|
+
"talkinghead": "https://cdn.jsdelivr.net/gh/wasya-co/TalkingHead@1.7.1/modules/talkinghead.mjs"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<div class='StudioW1'>
|
|
44
|
+
<div class='StudioW0'>
|
|
45
|
+
|
|
46
|
+
<div class='ctrl-row header-row'>
|
|
47
|
+
<b>Studio FPS</b>
|
|
48
|
+
<div class='item'>
|
|
49
|
+
<select class='studio'></select>
|
|
50
|
+
<em>Status:</em><span id='status'>pending</span>
|
|
51
|
+
</div>
|
|
52
|
+
<button id='fullScreen' />fullScrn</button>
|
|
53
|
+
|
|
54
|
+
<div class='item'>
|
|
55
|
+
<label>
|
|
56
|
+
<input type="radio" name="ctrl-type" value="touch"> Touch
|
|
57
|
+
</label>
|
|
58
|
+
<label>
|
|
59
|
+
<input type="radio" name="ctrl-type" value="fps"> FPS
|
|
60
|
+
</label>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class='item'>
|
|
64
|
+
<label>
|
|
65
|
+
<input type="checkbox" class='weapon-ctrl' name="weaponCtrl" value="on" checked>
|
|
66
|
+
Use Weapons
|
|
67
|
+
</label>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
<div class='rotatingW'>
|
|
75
|
+
<div id="rotatingC" class="r2" style="position: relative;
|
|
76
|
+
border: 1px solid red;
|
|
77
|
+
text-align: center; " >
|
|
78
|
+
<div style="position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;z-index:2;">
|
|
79
|
+
<div style="position:absolute;left:50%;top:0;width:2px;height:100%;margin-left:-1px;background:#fff;"></div>
|
|
80
|
+
<div style="position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px;background:#fff;"></div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<div id='loading'> </div>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<script type="module"><%= render 'studio_ra2.js' %></script>
|
|
94
|
+
|
|
95
|
+
</body></html>
|
|
@@ -29,19 +29,18 @@
|
|
|
29
29
|
.descr= newspartial.body
|
|
30
30
|
.d-flex.flex-column
|
|
31
31
|
|
|
32
|
-
-# =
|
|
33
|
-
-# .
|
|
34
|
-
|
|
35
|
-
= link_to 'Generate video 1', api_newsproducer_studio_1_path({ newspartial_id: newspartial.id.to_s, wco_origin: request.base_url, api_key: Wco::Setting.get('WASYACO_SIMPLE_API_KEY'), api_secret: Wco::Setting.get('WASYACO_SIMPLE_API_SECRET') }), target: :_blank, class: 'btn btn-primary', data: { confirm: 'Are you sure?' }
|
|
36
|
-
= link_to 'Generate video green', api_newsproducer_studio_green_path({ newspartial_id: newspartial.id.to_s, wco_origin: request.base_url, api_key: Wco::Setting.get('WASYACO_SIMPLE_API_KEY'), api_secret: Wco::Setting.get('WASYACO_SIMPLE_API_SECRET') }), target: :_blank, class: 'btn btn-primary', data: { confirm: 'Are you sure?' }
|
|
37
|
-
= link_to 'Generate video blue', api_newsproducer_studio_blue_path({ newspartial_id: newspartial.id.to_s, wco_origin: request.base_url, api_key: Wco::Setting.get('WASYACO_SIMPLE_API_KEY'), api_secret: Wco::Setting.get('WASYACO_SIMPLE_API_SECRET') }), target: :_blank, class: 'btn btn-primary', data: { confirm: 'Are you sure?' }
|
|
32
|
+
-# = link_to 'Generate video 1', api_newsproducer_studio_1_path({ newspartial_id: newspartial.id.to_s, wco_origin: request.base_url, api_key: Wco::Setting.get('WASYACO_SIMPLE_API_KEY'), api_secret: Wco::Setting.get('WASYACO_SIMPLE_API_SECRET') }), target: :_blank, class: 'btn btn-primary', data: { confirm: 'Are you sure?' }
|
|
33
|
+
-# = link_to 'Generate video green', api_newsproducer_studio_green_path({ newspartial_id: newspartial.id.to_s, wco_origin: request.base_url, api_key: Wco::Setting.get('WASYACO_SIMPLE_API_KEY'), api_secret: Wco::Setting.get('WASYACO_SIMPLE_API_SECRET') }), target: :_blank, class: 'btn btn-primary', data: { confirm: 'Are you sure?' }
|
|
34
|
+
= link_to '_blue 2', api_newsproducer_studio_blue_path({ newspartial_id: newspartial.id.to_s, wco_origin: request.base_url, api_key: Wco::Setting.get('WASYACO_SIMPLE_API_KEY'), api_secret: Wco::Setting.get('WASYACO_SIMPLE_API_SECRET') }), target: :_blank, class: 'btn btn-primary' # , data: { confirm: 'Are you sure?' }
|
|
38
35
|
|
|
39
36
|
Video:
|
|
40
37
|
- if newspartial.video
|
|
41
38
|
= image_tag newspartial.video.thumb.url(:thumb), class: 'thumb'
|
|
42
39
|
= link_to 'view', video_path(newspartial.video)
|
|
43
40
|
.d-flex.flex-column
|
|
44
|
-
=
|
|
41
|
+
= form_tag newspartial_generate_speech_path(newspartial), data: { confirm: 'Are you sure?' } do
|
|
42
|
+
= select_tag :voice, options_for_select([ nil, 'am_fenrir', 'am_michael', 'am_puck', 'af_bella', 'af_heart', 'af_jessica', 'af_nicole', 'bf_emma' ], selected: newspartial.voice)
|
|
43
|
+
= submit_tag 'Generate speech'
|
|
45
44
|
.small.gray Requires HeadTTS.git on :8882
|
|
46
45
|
Audio:
|
|
47
46
|
- if newspartial.audio.present?
|
|
@@ -8,4 +8,17 @@ Stripe.api_version = '2020-08-27'
|
|
|
8
8
|
PI_DRUP_PROD_USERNAME ||= 'test-1@piousbox.com'
|
|
9
9
|
PI_DRUP_PROD_PASSWD ||= 'KSUisl321,'
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
SCHWAB_DATA = {
|
|
12
|
+
# key: 'epK2snmDATP8Rt8Z61drW7pp7bbA0Jxd', ## exec
|
|
13
|
+
# secret: 'GaIGXzwxsEc69S4w', ## exec
|
|
14
|
+
|
|
15
|
+
key: 'AytEXpTMmzmAHaKDlcvu5uYjqQvdHinz', ## market data
|
|
16
|
+
secret: '9zYIcBxPLzDFqEhN', ## market data
|
|
17
|
+
|
|
18
|
+
access_token: 'I0.b2F1dGgyLmNkYy5zY2h3YWIuY29t.ZOtBvya0gEzxBQAjbaFoABoYhRsrvEEWPF3yswUVuZg@',
|
|
19
|
+
# redirect_url: 'https://email.wasya.co/trading/api/oauth2-redirect.html',
|
|
20
|
+
redirect_url: 'http://email.local:3002/trading/api/oauth2-redirect.html',
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
TEST_SCHWAB_ACCESS_TOKEN = "I0.b2F1dGgyLmJkYy5zY2h3YWIuY29t.mf4P-9r_E8x6sm4-lkoWRfBB8n0hXYv7O-O08t21f2s@"
|
|
24
|
+
|
data/config/routes.rb
CHANGED
|
@@ -23,6 +23,9 @@ Wco::Engine.routes.draw do
|
|
|
23
23
|
get 'newsproducer/studio_1', to: 'newsproducer#studio_1'
|
|
24
24
|
get 'newsproducer/studio_green', to: 'newsproducer#studio_green'
|
|
25
25
|
get 'newsproducer/studio_blue', to: 'newsproducer#studio_blue'
|
|
26
|
+
get 'newsproducer/studio_fps', to: 'newsproducer#studio_fps'
|
|
27
|
+
get 'newsproducer/studio_coc', to: 'newsproducer#studio_coc'
|
|
28
|
+
get 'newsproducer/studio_ra2', to: 'newsproducer#studio_ra2'
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
match 'newsvideos/:id/generate-illustration', to: 'newsvideos#generate_illustration', as: :newsvideo_generate_illustration, via: [ :get, :post ]
|
data/lib/shortcuts.rb
CHANGED