File tree 5 files changed +85
-18
lines changed
5 files changed +85
-18
lines changed Original file line number Diff line number Diff line change
1
+ # WebChucK IDE Developer Guide
2
+
3
+ How to contribute to WebChucK IDE development!
4
+
5
+ ** NOTE** : All development is done on the ` dev ` branch. ` main ` is reserved for
6
+ release.
7
+
8
+ ## Table of Contents
9
+ - [ WebChucK IDE Developer Guide] ( #webchuck-ide-developer-guide )
10
+ - [ Table of Contents] ( #table-of-contents )
11
+ - [ Setup] ( #setup )
12
+ - [ Development Testing] ( #development-testing )
13
+ - [ Building] ( #building )
14
+ - [ Deploy and Release] ( #deploy-and-release )
15
+
16
+ ## Setup
17
+
18
+ Make sure you have [ Git] ( https://git-scm.com ) and [ Node] ( https://nodejs.org ) installed.
19
+
20
+ Clone the repository if you haven't already.
21
+
22
+ ```
23
+ git clone https://github.com/ccrma/webchuck-ide.git
24
+ ```
25
+
26
+ In the webchuck-ide repo, install npm dependencies
27
+
28
+ ```
29
+ npm install
30
+ ```
31
+
32
+ ## Development Testing
33
+
34
+ To run WebChucK IDE locally for development testing
35
+
36
+ ```
37
+ npm run dev
38
+ ```
39
+
40
+ ## Building
41
+
42
+ Build WebChucK IDE to a static site by running:
43
+
44
+ ```
45
+ npm run build
46
+ ```
47
+
48
+ This will build WebChucK IDE and place all necessary files in the ` ./dist ` folder.
49
+
50
+ ## Deploy and Release
51
+
52
+ To package and release a new version of WebChucK IDE, make sure all changes are
53
+ PR'ed onto the ` main ` branch. From ` main ` , make a clean build of WebChucK IDE,
54
+ then tag the version for release.
55
+
56
+ ```
57
+ npm run clean
58
+ npm install
59
+ npm run build
60
+ npm version patch
61
+ ```
62
+
63
+ Copy the ` ./dist/ ` folder to hosting destination.
64
+
65
+ Talk to ** @gewang ** to update the [ WebChucK IDE] ( https://chuck.stanford.edu/ide ) site..
Original file line number Diff line number Diff line change 4
4
"version" : " 2.1.4" ,
5
5
"type" : " module" ,
6
6
"scripts" : {
7
- "clean" : " rm -rf dist" ,
7
+ "clean" : " rm -rf dist && rm -rf node_modules " ,
8
8
"dev" : " vite" ,
9
9
"build" : " tsc && vite build" ,
10
10
"preview" : " vite preview" ,
Original file line number Diff line number Diff line change @@ -110,15 +110,15 @@ export default class Examples {
110
110
Examples . newExample (
111
111
"Hello Sine GUI" ,
112
112
( ) => {
113
- loadChuckFileFromURL ( "examples/helloSineGUI.ck" )
113
+ loadChuckFileFromURL ( "examples/helloSineGUI.ck" ) ;
114
114
InputPanelHeader . setNotificationPing ( 0 , true ) ;
115
115
} ,
116
116
guiNested
117
117
) ;
118
118
Examples . newExample (
119
119
"FM Synthesis GUI" ,
120
120
( ) => {
121
- loadChuckFileFromURL ( "examples/fmGUI.ck" )
121
+ loadChuckFileFromURL ( "examples/fmGUI.ck" ) ;
122
122
InputPanelHeader . setNotificationPing ( 0 , true ) ;
123
123
} ,
124
124
guiNested
@@ -134,14 +134,14 @@ export default class Examples {
134
134
"Mouse PWM HID" ,
135
135
( ) => {
136
136
loadChuckFileFromURL ( "examples/mouseHID.ck" ) ,
137
- InputPanelHeader . setNotificationPing ( 1 , true ) ;
137
+ InputPanelHeader . setNotificationPing ( 1 , true ) ;
138
138
} ,
139
139
hidNested
140
140
) ;
141
141
Examples . newExample (
142
142
"Keyboard Organ HID" ,
143
143
( ) => {
144
- loadChuckFileFromURL ( "examples/keyboardHID.ck" )
144
+ loadChuckFileFromURL ( "examples/keyboardHID.ck" ) ;
145
145
InputPanelHeader . setNotificationPing ( 1 , true ) ;
146
146
} ,
147
147
hidNested
Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ export default class InputPanelHeader {
41
41
InputPanelHeader . inputContainers . push (
42
42
document . querySelector < HTMLDivElement > ( "#SensorContainer" ) !
43
43
) ;
44
- InputPanelHeader . inputPings . push (
44
+ InputPanelHeader . inputPings . push (
45
45
document . querySelector < HTMLSpanElement > ( "#SensorPing" ) !
46
46
) ;
47
47
@@ -91,7 +91,9 @@ export default class InputPanelHeader {
91
91
*/
92
92
static setNotificationPing ( tabIndex : number , on : boolean ) {
93
93
for ( let i = 0 ; i < InputPanelHeader . inputButtons . length ; i ++ ) {
94
- InputPanelHeader . inputToggles [ i ] . setNotificationPing ( i == tabIndex && on ) ;
94
+ InputPanelHeader . inputToggles [ i ] . setNotificationPing (
95
+ i == tabIndex && on
96
+ ) ;
95
97
}
96
98
}
97
99
}
You can’t perform that action at this time.
0 commit comments