@@ -38,7 +38,6 @@ <h2 class="tools-platform-frame__eyebrow">First-Class Tools Surface V2</h2>
3838 </ details >
3939
4040 < nav class ="tool-starter__menu tool-starter__tool__menu audio-sfx__tool__menu " aria-label ="Tool actions " data-launch-mode-nav ="tool ">
41- < button id ="toolPlayButton " type ="button "> Play</ button >
4241 < button id ="toolCopyJsonButton " type ="button "> Copy JSON</ button >
4342 < button id ="toolExportToolStateButton " type ="button "> Export toolState</ button >
4443 </ nav >
@@ -58,18 +57,15 @@ <h2 class="tools-platform-frame__eyebrow">First-Class Tools Surface V2</h2>
5857 < span class ="accordion-v2__icon " aria-hidden ="true "> +</ span >
5958 </ button >
6059 < div id ="sfxShapeContent " class ="accordion-v2__content ">
61- < label class ="tool-starter__field " for ="presetSelect ">
62- < span > Preset</ span >
63- < select id ="presetSelect ">
64- < option value ="coin "> Coin</ option >
65- < option value ="laser "> Laser</ option >
66- < option value ="jump "> Jump</ option >
67- < option value ="hit "> Hit</ option >
68- < option value ="powerup "> Power Up</ option >
69- </ select >
70- </ label >
60+ < div class ="tool-starter__field audio-sfx__name-field ">
61+ < label for ="nameInput ">
62+ < span class ="audio-sfx__label-tip " tabindex ="0 " data-tooltip ="Names this sound in the tile list and exported toolState. "> Name</ span >
63+ </ label >
64+ < input id ="nameInput " type ="text " maxlength ="48 " autocomplete ="off ">
65+ < button id ="addSfxButton " type ="button "> Add</ button >
66+ </ div >
7167 < label class ="tool-starter__field " for ="waveformSelect ">
72- < span > Wave</ span >
68+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Chooses the oscillator shape that defines the sound character. " > Wave</ span >
7369 < select id ="waveformSelect ">
7470 < option value ="sine "> Sine</ option >
7571 < option value ="square "> Square</ option >
@@ -78,59 +74,72 @@ <h2 class="tools-platform-frame__eyebrow">First-Class Tools Surface V2</h2>
7874 </ select >
7975 </ label >
8076 < label class ="tool-starter__field " for ="frequencyInput " data-density-control ="frequency ">
81- < span > Frequency</ span >
77+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Sets the starting pitch before any sweep is applied. " > Frequency</ span >
8278 < input id ="frequencyInput " type ="range " min ="80 " max ="1800 " step ="1 ">
8379 < output id ="frequencyValue " for ="frequencyInput "> </ output >
8480 </ label >
8581 < label class ="tool-starter__field " for ="durationInput " data-density-control ="duration ">
86- < span > Duration</ span >
82+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Controls the total playback length of the effect. " > Duration</ span >
8783 < input id ="durationInput " type ="range " min ="60 " max ="1400 " step ="10 ">
8884 < output id ="durationValue " for ="durationInput "> </ output >
8985 </ label >
9086 < label class ="tool-starter__field " for ="attackInput " data-density-control ="attack ">
91- < span > Attack</ span >
87+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Controls how quickly the sound reaches full volume. " > Attack</ span >
9288 < input id ="attackInput " type ="range " min ="0 " max ="250 " step ="5 ">
9389 < output id ="attackValue " for ="attackInput "> </ output >
9490 </ label >
9591 < label class ="tool-starter__field " for ="releaseInput " data-density-control ="release ">
96- < span > Release</ span >
92+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Controls how long the sound fades out at the end. " > Release</ span >
9793 < input id ="releaseInput " type ="range " min ="20 " max ="700 " step ="10 ">
9894 < output id ="releaseValue " for ="releaseInput "> </ output >
9995 </ label >
10096 < label class ="tool-starter__field " for ="volumeInput " data-density-control ="volume ">
101- < span > Volume</ span >
97+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Sets the playback loudness for audition and export. " > Volume</ span >
10298 < input id ="volumeInput " type ="range " min ="0 " max ="1 " step ="0.01 ">
10399 < output id ="volumeValue " for ="volumeInput "> </ output >
104100 </ label >
105101 < label class ="tool-starter__field " for ="pitchSweepInput " data-density-control ="sweep ">
106- < span > Sweep</ span >
102+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Bends pitch over time in cents, positive upward and negative downward. " > Sweep</ span >
107103 < input id ="pitchSweepInput " type ="range " min ="-1200 " max ="1200 " step ="25 ">
108104 < output id ="pitchSweepValue " for ="pitchSweepInput "> </ output >
109105 </ label >
110106 < label class ="tool-starter__toggle " for ="noiseInput ">
111107 < input id ="noiseInput " type ="checkbox ">
112- < span > Blend noise transient</ span >
108+ < span class =" audio-sfx__label-tip " tabindex =" 0 " data-tooltip =" Adds a short noise burst for punchy hits and impacts. " > Blend noise transient</ span >
113109 </ label >
114110 < p id ="sfxValidationMessage " class ="tool-starter__hint "> Ready to audition.</ p >
111+ < div class ="audio-sfx__shape-actions ">
112+ < button id ="toolPlayButton " type ="button "> Play</ button >
113+ </ div >
115114 </ div >
116115 </ section >
117116 </ aside >
118117
119- < section class ="tool-starter__panel tool-starter__panel--center " aria-label ="SFX preview ">
118+ < section class ="tool-starter__panel tool-starter__panel--center " aria-label ="SFX sound list ">
120119 < section class ="accordion-v2 tool-starter__accordion tool-starter__accordion--fill is-open " data-accordion-v2-open ="true ">
120+ < button class ="accordion-v2__header " type ="button " aria-expanded ="true " aria-controls ="soundListContent ">
121+ < span > Created Sounds</ span >
122+ < span class ="accordion-v2__icon " aria-hidden ="true "> +</ span >
123+ </ button >
124+ < div id ="soundListContent " class ="accordion-v2__content ">
125+ < div id ="sfxTileList " class ="audio-sfx__tile-list " role ="listbox " aria-label ="Created SFX entries "> </ div >
126+ </ div >
127+ </ section >
128+ </ section >
129+
130+ < aside class ="tool-starter__panel tool-starter__panel--right " aria-label ="SFX output ">
131+ < section class ="accordion-v2 tool-starter__accordion audio-sfx__preview-accordion is-open " data-accordion-v2-open ="true ">
121132 < button class ="accordion-v2__header " type ="button " aria-expanded ="true " aria-controls ="previewPanelContent ">
122133 < span > Wave Preview</ span >
123134 < span class ="accordion-v2__icon " aria-hidden ="true "> +</ span >
124135 </ button >
125136 < div id ="previewPanelContent " class ="accordion-v2__content ">
126- < div id ="previewOutput " class ="tool-starter__preview " role ="img " aria-label ="SFX envelope and waveform preview ">
137+ < div id ="previewOutput " class ="tool-starter__preview audio-sfx__preview " role ="img " aria-label ="SFX envelope and waveform preview ">
127138 < p > No preview rendered yet.</ p >
128139 </ div >
129140 </ div >
130141 </ section >
131- </ section >
132142
133- < aside class ="tool-starter__panel tool-starter__panel--right " aria-label ="SFX output ">
134143 < section class ="accordion-v2 tool-starter__accordion is-open " data-accordion-v2-open ="true ">
135144 < button class ="accordion-v2__header " type ="button " aria-expanded ="true " aria-controls ="inspectorContent ">
136145 < span > Output Summary</ span >
0 commit comments