@nice2dev/ui-audio 1.1.7 → 1.1.10

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.
Files changed (264) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +12 -14
  3. package/dist/config/noteSoundSets.d.ts +2 -2
  4. package/dist/core/audioIcons.d.ts +1 -1
  5. package/dist/dmx/DmxEditor.d.ts +1 -1
  6. package/dist/editor/panels/LayerTrack.d.ts +1 -1
  7. package/dist/effects/noteShapes.d.ts +12 -0
  8. package/dist/index.cjs +44 -43
  9. package/dist/index.mjs +7978 -7910
  10. package/dist/karaoke/rendering/karaokeDisplaySettings.d.ts +2 -2
  11. package/dist/karaoke/rendering/karaokeSettings.d.ts +6 -6
  12. package/dist/karaoke/rendering/textureCatalog.d.ts +1 -1
  13. package/dist/karaokeEditor/KaraokePhaserRenderer.d.ts +7 -0
  14. package/dist/lighting/NiceDMXTimeline.d.ts +1 -1
  15. package/dist/playlist/tagIcons.d.ts +30 -0
  16. package/dist/ui-audio.css +1 -1
  17. package/dist/utils/colorResolver.d.ts +2 -1
  18. package/dist/utils/latencyEstimate.d.ts +1 -1
  19. package/package.json +9 -53
  20. package/dist/__benchmarks__/audio-latency.bench.d.ts.map +0 -1
  21. package/dist/config/noteSoundSets.d.ts.map +0 -1
  22. package/dist/constants/audioColors.d.ts.map +0 -1
  23. package/dist/constants/debugKaraoke.d.ts.map +0 -1
  24. package/dist/constants/index.d.ts.map +0 -1
  25. package/dist/constants/karaokeScoringConfig.d.ts.map +0 -1
  26. package/dist/constants/playerColors.d.ts.map +0 -1
  27. package/dist/constants/ui.d.ts.map +0 -1
  28. package/dist/core/NiceAudioErrorBoundary.d.ts.map +0 -1
  29. package/dist/core/audioIcons.d.ts.map +0 -1
  30. package/dist/core/i18n.d.ts.map +0 -1
  31. package/dist/dmx/DmxChannelControls.d.ts.map +0 -1
  32. package/dist/dmx/DmxEditor.d.ts.map +0 -1
  33. package/dist/dmx/dmxService.d.ts.map +0 -1
  34. package/dist/editor/AudioClipBox.d.ts.map +0 -1
  35. package/dist/editor/AudioClipInfo.d.ts.map +0 -1
  36. package/dist/editor/AudioEditorPianoRoll.d.ts.map +0 -1
  37. package/dist/editor/AudioEditorPianoRollContainer.d.ts.map +0 -1
  38. package/dist/editor/AudioLayerDetails.d.ts.map +0 -1
  39. package/dist/editor/AudioLayerDetailsContainer.d.ts.map +0 -1
  40. package/dist/editor/AudioLayersNavContainer.d.ts.map +0 -1
  41. package/dist/editor/AudioMiniMap.d.ts.map +0 -1
  42. package/dist/editor/AudioMiniMapContainer.d.ts.map +0 -1
  43. package/dist/editor/AudioSourceDetails.d.ts.map +0 -1
  44. package/dist/editor/AudioStudio.d.ts.map +0 -1
  45. package/dist/editor/AudioTimeline.d.ts.map +0 -1
  46. package/dist/editor/AudioTimelineContainer.d.ts.map +0 -1
  47. package/dist/editor/AudioTimelineNavContainer.d.ts.map +0 -1
  48. package/dist/editor/CCLane.d.ts.map +0 -1
  49. package/dist/editor/CCLaneSelector.d.ts.map +0 -1
  50. package/dist/editor/NiceSampleBrowser.d.ts.map +0 -1
  51. package/dist/editor/PianoRoll.d.ts.map +0 -1
  52. package/dist/editor/Waveform.d.ts.map +0 -1
  53. package/dist/editor/editorDisplayModes.d.ts.map +0 -1
  54. package/dist/editor/editorIO.d.ts.map +0 -1
  55. package/dist/editor/hooks/index.d.ts.map +0 -1
  56. package/dist/editor/hooks/useAutoSave.d.ts.map +0 -1
  57. package/dist/editor/hooks/usePlaybackEngine.d.ts.map +0 -1
  58. package/dist/editor/hooks/useProjectCRUD.d.ts.map +0 -1
  59. package/dist/editor/hooks/useRecording.d.ts.map +0 -1
  60. package/dist/editor/nav/AudioLayersNav.d.ts.map +0 -1
  61. package/dist/editor/nav/AudioProjectSectionNav.d.ts.map +0 -1
  62. package/dist/editor/nav/AudioTimelineNav.d.ts.map +0 -1
  63. package/dist/editor/nav/SaveLoadControls.d.ts.map +0 -1
  64. package/dist/editor/panels/AdvancedEditingPanel.d.ts.map +0 -1
  65. package/dist/editor/panels/ArpeggiatorPanel.d.ts.map +0 -1
  66. package/dist/editor/panels/CCAutomationLaneEditor.d.ts.map +0 -1
  67. package/dist/editor/panels/DisplayModeSelector.d.ts.map +0 -1
  68. package/dist/editor/panels/EditorPanels.d.ts.map +0 -1
  69. package/dist/editor/panels/LFOPanel.d.ts.map +0 -1
  70. package/dist/editor/panels/LayerTrack.d.ts.map +0 -1
  71. package/dist/editor/panels/ProjectPanel.d.ts.map +0 -1
  72. package/dist/editor/panels/SectionPanel.d.ts.map +0 -1
  73. package/dist/editor/panels/StepSequencerPanel.d.ts.map +0 -1
  74. package/dist/editor/useEditorRecording.d.ts.map +0 -1
  75. package/dist/editor/useEditorTrack.d.ts.map +0 -1
  76. package/dist/effects/NoteParticles.d.ts.map +0 -1
  77. package/dist/effects/NoteRiver.d.ts.map +0 -1
  78. package/dist/effects/noteThemeColors.d.ts.map +0 -1
  79. package/dist/engine/NiceAudioEffects.d.ts.map +0 -1
  80. package/dist/engine/NiceAudioEffectsRack.d.ts.map +0 -1
  81. package/dist/engine/NiceAudioWorklet.d.ts.map +0 -1
  82. package/dist/engine/NiceMultitrackExport.d.ts.map +0 -1
  83. package/dist/engine/audioContext.d.ts.map +0 -1
  84. package/dist/engine/audioKeyboard.d.ts.map +0 -1
  85. package/dist/engine/audioLayerDetails.d.ts.map +0 -1
  86. package/dist/engine/audioPlaybackEngine.d.ts.map +0 -1
  87. package/dist/engine/audioProject.d.ts.map +0 -1
  88. package/dist/engine/audioSource.d.ts.map +0 -1
  89. package/dist/engine/audioTimeline.d.ts.map +0 -1
  90. package/dist/engine/audioUtils.d.ts.map +0 -1
  91. package/dist/engine/daw-core.d.ts.map +0 -1
  92. package/dist/engine/effects-pro.d.ts.map +0 -1
  93. package/dist/engine/generate-pitch-points.d.ts.map +0 -1
  94. package/dist/engine/instrumentPresets.d.ts.map +0 -1
  95. package/dist/engine/karaoke-pro.d.ts.map +0 -1
  96. package/dist/engine/midi-pro.d.ts.map +0 -1
  97. package/dist/engine/notation.d.ts.map +0 -1
  98. package/dist/engine/pitch-worklet-processor.d.ts.map +0 -1
  99. package/dist/engine/pitch_client.d.ts.map +0 -1
  100. package/dist/engine/recording.d.ts.map +0 -1
  101. package/dist/engine/simpleSynth.d.ts.map +0 -1
  102. package/dist/engine/sound-design.d.ts.map +0 -1
  103. package/dist/hooks/useCCAutomation.d.ts.map +0 -1
  104. package/dist/hooks/useStepSequencer.d.ts.map +0 -1
  105. package/dist/index.d.ts.map +0 -1
  106. package/dist/input/AudioInputPicker.d.ts.map +0 -1
  107. package/dist/input/VocalEffectsRack.d.ts.map +0 -1
  108. package/dist/karaoke/AudioPitchAnalyzer.d.ts.map +0 -1
  109. package/dist/karaoke/BarFillEditor.d.ts.map +0 -1
  110. package/dist/karaoke/KaraokeLyrics.d.ts.map +0 -1
  111. package/dist/karaoke/KaraokeManager.d.ts.map +0 -1
  112. package/dist/karaoke/KaraokeSelectionMode.d.ts.map +0 -1
  113. package/dist/karaoke/KaraokeSessionJoin.d.ts.map +0 -1
  114. package/dist/karaoke/KaraokeSetupPanel.d.ts.map +0 -1
  115. package/dist/karaoke/KaraokeSongBrowser.d.ts.map +0 -1
  116. package/dist/karaoke/KaraokeSummaryOverlay.d.ts.map +0 -1
  117. package/dist/karaoke/KaraokeTimeline.d.ts.map +0 -1
  118. package/dist/karaoke/KaraokeUploader.d.ts.map +0 -1
  119. package/dist/karaoke/LatencyCalibrator.d.ts.map +0 -1
  120. package/dist/karaoke/PadKaraokeOverlay.d.ts.map +0 -1
  121. package/dist/karaoke/VocalPerformanceReport.d.ts.map +0 -1
  122. package/dist/karaoke/karaokeTimelineTypes.d.ts.map +0 -1
  123. package/dist/karaoke/rendering/fontCatalog.d.ts.map +0 -1
  124. package/dist/karaoke/rendering/glossyBarCaps.d.ts.map +0 -1
  125. package/dist/karaoke/rendering/glossyBarPatterns.d.ts.map +0 -1
  126. package/dist/karaoke/rendering/glossyBarRenderer.d.ts.map +0 -1
  127. package/dist/karaoke/rendering/karaokeAnimations.d.ts.map +0 -1
  128. package/dist/karaoke/rendering/karaokeDisplaySettings.d.ts.map +0 -1
  129. package/dist/karaoke/rendering/karaokeLyrics.d.ts.map +0 -1
  130. package/dist/karaoke/rendering/karaokeNoteParsing.d.ts.map +0 -1
  131. package/dist/karaoke/rendering/karaokeSettings.d.ts.map +0 -1
  132. package/dist/karaoke/rendering/karaokeTimeline.d.ts.map +0 -1
  133. package/dist/karaoke/rendering/karaokeTimelineRenderer.d.ts.map +0 -1
  134. package/dist/karaoke/rendering/karaokeTimelineTypes.d.ts.map +0 -1
  135. package/dist/karaoke/rendering/padNotePlayer.d.ts.map +0 -1
  136. package/dist/karaoke/rendering/textureCache.d.ts.map +0 -1
  137. package/dist/karaoke/rendering/textureCatalog.d.ts.map +0 -1
  138. package/dist/karaoke/useKaraokePitch.d.ts.map +0 -1
  139. package/dist/karaoke/useKaraokeScoring.d.ts.map +0 -1
  140. package/dist/karaokeEditor/KaraokeEditorManager.d.ts.map +0 -1
  141. package/dist/karaokeEditor/KaraokePhaserRenderer.d.ts.map +0 -1
  142. package/dist/library/MusicLibraryExplorer.d.ts.map +0 -1
  143. package/dist/lighting/NiceDMXTimeline.d.ts.map +0 -1
  144. package/dist/midi/midiSeedGenerator.d.ts.map +0 -1
  145. package/dist/midi/oxygen25Profile.d.ts.map +0 -1
  146. package/dist/midi/useMidiLearn.d.ts.map +0 -1
  147. package/dist/midi/useOxygen25.d.ts.map +0 -1
  148. package/dist/midi/useWebMidi.d.ts.map +0 -1
  149. package/dist/models/editor/audioTypes.d.ts.map +0 -1
  150. package/dist/models/editor/fxTypes.d.ts.map +0 -1
  151. package/dist/models/editor/midiTypes.d.ts.map +0 -1
  152. package/dist/models/editor/timelineTypes.d.ts.map +0 -1
  153. package/dist/models/game/modelsGame.d.ts.map +0 -1
  154. package/dist/models/index.d.ts.map +0 -1
  155. package/dist/models/modelsAiAudio.d.ts.map +0 -1
  156. package/dist/models/modelsAiVideo.d.ts.map +0 -1
  157. package/dist/models/modelsAudio.d.ts.map +0 -1
  158. package/dist/models/modelsDmx.d.ts.map +0 -1
  159. package/dist/models/modelsEditor.d.ts.map +0 -1
  160. package/dist/models/modelsKaraoke.d.ts.map +0 -1
  161. package/dist/models/modelsMusicPlatform.d.ts.map +0 -1
  162. package/dist/models/modelsPlatforms.d.ts.map +0 -1
  163. package/dist/models/modelsPlaylistManager.d.ts.map +0 -1
  164. package/dist/models/modelsPlaylists.d.ts.map +0 -1
  165. package/dist/player/GenericPlayer.d.ts.map +0 -1
  166. package/dist/player/GenericPlayerControls.d.ts.map +0 -1
  167. package/dist/player/GenericPlayerStage.d.ts.map +0 -1
  168. package/dist/player/GenericPlayerStageVisualizer.d.ts.map +0 -1
  169. package/dist/player/GenericPlayerTrackList.d.ts.map +0 -1
  170. package/dist/player/YouTubePlayer.d.ts.map +0 -1
  171. package/dist/player/nowPlayingAdapter.d.ts.map +0 -1
  172. package/dist/player/visualizer/ModeSwitcher.d.ts.map +0 -1
  173. package/dist/player/visualizer/StageVisualizer.d.ts.map +0 -1
  174. package/dist/player/visualizer/VuOverlay.d.ts.map +0 -1
  175. package/dist/player/visualizer/modes/BarsMode.d.ts.map +0 -1
  176. package/dist/player/visualizer/modes/BlobFlowMode.d.ts.map +0 -1
  177. package/dist/player/visualizer/modes/ColorRipplesMode.d.ts.map +0 -1
  178. package/dist/player/visualizer/modes/CoverMode.d.ts.map +0 -1
  179. package/dist/player/visualizer/modes/CozyFireplaceMode.d.ts.map +0 -1
  180. package/dist/player/visualizer/modes/EqualizerCircleMode.d.ts.map +0 -1
  181. package/dist/player/visualizer/modes/GridMode.d.ts.map +0 -1
  182. package/dist/player/visualizer/modes/ImageTornadoMode.d.ts.map +0 -1
  183. package/dist/player/visualizer/modes/LavaLampMode.d.ts.map +0 -1
  184. package/dist/player/visualizer/modes/NeonTrianglesMode.d.ts.map +0 -1
  185. package/dist/player/visualizer/modes/OrbitalsMode.d.ts.map +0 -1
  186. package/dist/player/visualizer/modes/PaletteMode.d.ts.map +0 -1
  187. package/dist/player/visualizer/modes/ParticlesMode.d.ts.map +0 -1
  188. package/dist/player/visualizer/modes/PlasmaBallMode.d.ts.map +0 -1
  189. package/dist/player/visualizer/modes/RadialMode.d.ts.map +0 -1
  190. package/dist/player/visualizer/modes/RaysMode.d.ts.map +0 -1
  191. package/dist/player/visualizer/modes/RiftMode.d.ts.map +0 -1
  192. package/dist/player/visualizer/modes/RingsMode.d.ts.map +0 -1
  193. package/dist/player/visualizer/modes/SpectrumMode.d.ts.map +0 -1
  194. package/dist/player/visualizer/modes/StarfieldMode.d.ts.map +0 -1
  195. package/dist/player/visualizer/modes/WaveformMode.d.ts.map +0 -1
  196. package/dist/player/visualizer/types.d.ts.map +0 -1
  197. package/dist/player/visualizer/useLocalStorageState.d.ts.map +0 -1
  198. package/dist/playlist/DynamicRuleEditor.d.ts.map +0 -1
  199. package/dist/playlist/GenericPlaylist.d.ts.map +0 -1
  200. package/dist/playlist/GenericPlaylistItem.d.ts.map +0 -1
  201. package/dist/playlist/PlaylistBrowser.d.ts.map +0 -1
  202. package/dist/playlist/PlaylistDualPane.d.ts.map +0 -1
  203. package/dist/playlist/PlaylistGridView.d.ts.map +0 -1
  204. package/dist/playlist/PlaylistImportWizard.d.ts.map +0 -1
  205. package/dist/playlist/PlaylistList.d.ts.map +0 -1
  206. package/dist/playlist/PlaylistOverview.d.ts.map +0 -1
  207. package/dist/playlist/PlaylistSearchBar.d.ts.map +0 -1
  208. package/dist/playlist/PlaylistSidebar.d.ts.map +0 -1
  209. package/dist/playlist/PlaylistTagEditor.d.ts.map +0 -1
  210. package/dist/playlist/PlaylistTrackList.d.ts.map +0 -1
  211. package/dist/playlist/useLocalPlaylists.d.ts.map +0 -1
  212. package/dist/radio/NiceRadioPlayer.d.ts.map +0 -1
  213. package/dist/streaming/NiceStreamingVisualizer.d.ts.map +0 -1
  214. package/dist/streaming/NiceVoiceChatOverlay.d.ts.map +0 -1
  215. package/dist/streaming/index.d.ts.map +0 -1
  216. package/dist/streaming/liveStreamManager.d.ts.map +0 -1
  217. package/dist/streaming/useLiveStream.d.ts.map +0 -1
  218. package/dist/streaming/webrtcAudio.d.ts.map +0 -1
  219. package/dist/utils/BaseStreamClient.d.ts.map +0 -1
  220. package/dist/utils/arpeggiator.d.ts.map +0 -1
  221. package/dist/utils/articulationEngine.d.ts.map +0 -1
  222. package/dist/utils/audioDragDrop.d.ts.map +0 -1
  223. package/dist/utils/audioEditorUtils.d.ts.map +0 -1
  224. package/dist/utils/audioFxUtils.d.ts.map +0 -1
  225. package/dist/utils/audioMidiUtils.d.ts.map +0 -1
  226. package/dist/utils/audioPitchAlgorithms.d.ts.map +0 -1
  227. package/dist/utils/audioPitchAnalyzeFile.d.ts.map +0 -1
  228. package/dist/utils/audioTimelineUtils.d.ts.map +0 -1
  229. package/dist/utils/ccAutomation.d.ts.map +0 -1
  230. package/dist/utils/chordScale.d.ts.map +0 -1
  231. package/dist/utils/clipLauncher.d.ts.map +0 -1
  232. package/dist/utils/colorResolver.d.ts.map +0 -1
  233. package/dist/utils/crepeStreaming.d.ts.map +0 -1
  234. package/dist/utils/drawTool.d.ts.map +0 -1
  235. package/dist/utils/envelopeFollower.d.ts.map +0 -1
  236. package/dist/utils/gameAudio.d.ts.map +0 -1
  237. package/dist/utils/grooveTemplates.d.ts.map +0 -1
  238. package/dist/utils/index.d.ts.map +0 -1
  239. package/dist/utils/karaokeHelpers.d.ts.map +0 -1
  240. package/dist/utils/karaokeMetadata.d.ts.map +0 -1
  241. package/dist/utils/karaokeScoring.d.ts.map +0 -1
  242. package/dist/utils/latencyEstimate.d.ts.map +0 -1
  243. package/dist/utils/lfoEngine.d.ts.map +0 -1
  244. package/dist/utils/librosaStreaming.d.ts.map +0 -1
  245. package/dist/utils/logger.d.ts.map +0 -1
  246. package/dist/utils/macroSystem.d.ts.map +0 -1
  247. package/dist/utils/midiCCMapping.d.ts.map +0 -1
  248. package/dist/utils/musicPlayerUtils.d.ts.map +0 -1
  249. package/dist/utils/padKaraokeSession.d.ts.map +0 -1
  250. package/dist/utils/pianoRollUtils.d.ts.map +0 -1
  251. package/dist/utils/sanitize.d.ts.map +0 -1
  252. package/dist/utils/shortcutManager.d.ts.map +0 -1
  253. package/dist/utils/songDataHelpers.d.ts.map +0 -1
  254. package/dist/utils/stepSequencer.d.ts.map +0 -1
  255. package/dist/utils/undoRedoUtils.d.ts.map +0 -1
  256. package/dist/utils/vocalEffectsEngine.d.ts.map +0 -1
  257. package/dist/utils/vocalPerformanceMetrics.d.ts.map +0 -1
  258. package/dist/workers/audioWorkletProcessor.d.ts.map +0 -1
  259. package/dist/workers/pitchWorker.d.ts.map +0 -1
  260. package/dist/workers/scoringWorker.d.ts.map +0 -1
  261. package/dist/workers/useAudioWorklet.d.ts.map +0 -1
  262. package/dist/workers/usePitchWorker.d.ts.map +0 -1
  263. package/dist/workers/useScoringWorker.d.ts.map +0 -1
  264. package/dist/workers/useWorker.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,151 @@
1
1
  # @nice2dev/ui-audio — Changelog
2
2
 
3
+ ## 1.1.10
4
+
5
+ ### Patch Changes
6
+
7
+ - The package description on npm shows a dash instead of the mis-encoded "—".
8
+ - 1.1.10 — the additive part of OmniVerk's 1.2.0 list: ui-audio builds without optional packages, one
9
+ i18n context, dictionaries per language, data props optional. No breaking changes.
10
+
11
+ **`@nice2dev/ui-audio` no longer breaks the consumer's build.** It imported `react-bootstrap`,
12
+ `recharts`, `react-window`, `react-youtube` and `pitchy` statically while declaring none of them
13
+ (only optional entries in `peerDependenciesMeta`), so a Vite app without them failed with "failed to
14
+ resolve import". Loading them with `import()` is no way out: Vite 8 (Rolldown) resolves dynamic
15
+ imports at build time and fails the same way, which made `hls.js` and `phaser` mandatory too.
16
+ `react-bootstrap`, `recharts`, `react-window` and `phaser` are now gone from the code
17
+ (`NiceBarFillEditor` uses Nice controls, `NiceVocalPerformanceReport` uses `NiceChart` /
18
+ `NicePieChart`, the karaoke editor list uses `NiceVirtualScroller`, `NiceKaraokePhaserRenderer`
19
+ renders with the DOM and keeps its name); `pitchy`, `react-youtube` and `hls.js` are regular
20
+ `dependencies`. Found on the way: in live mode the vocal performance report subtracted UltraStar note
21
+ numbers from MIDI pitch, so every singer got thousands of cents of deviation and 0 % accuracy — it now
22
+ compares pitch within the octave, as the scoring does; `NiceBarFillEditor` put a colour into a
23
+ percentage slider.
24
+
25
+ **Every package declares what its bundle imports.** A new CI gate checks every `import`, `import()`
26
+ and `require()` in the published `dist` against `dependencies` and non-optional `peerDependencies`.
27
+ To reach zero: `@nice2dev/licensing` no longer has `require('webpack')` in its main bundle (the webpack
28
+ plugin uses `compiler.webpack`; webpack 4 gets a warning instead of feature flags) and `react` is a
29
+ required peer; `@nice2dev/erp-adapter` lists `@microsoft/signalr` in `dependencies` (still loaded on
30
+ first use); `@nice2dev/icons-cursor` declares its `react-dom` peer; `@nice2dev/ui-printing` treats
31
+ `@nice2dev/ui` as a required peer.
32
+
33
+ **One copy of each package, one i18n context.** `@nice2dev/ui` carried its own copy of
34
+ `@nice2dev/ui-core` and `@nice2dev/i18n`, and `ui-forms`, `ui-api`, `ui-bi`, `ui-designers`, `ui-math`
35
+ and `ui-video` each carried a copy of all of `@nice2dev/ui` (about 4.4 MB each). Every copy had its own
36
+ React contexts: a `NiceI18nProvider` imported from `@nice2dev/i18n` did not reach the controls of
37
+ `@nice2dev/ui`, which kept their English defaults and `lang` `'en'`, and the dictionaries ended up in
38
+ an app several times. These packages now import `@nice2dev/*` instead (`ui-forms` 4.4 MB → 82 kB).
39
+ Keep every `@nice2dev/*` package on the same version.
40
+
41
+ **Dictionaries per language.** `NiceI18nLazyProvider` takes the same props as `NiceI18nProvider`
42
+ (`t`, `lang`, `overrides`, plus `fallback` and `onError`) but loads only the active language's
43
+ dictionary, with `import()`; until it arrives the controls show their built-in English (or
44
+ `fallback`), and with `t` nothing is loaded at all. Also `loadNiceDictionary(lang)`, to start in a
45
+ language without a flash of English, and `getLoadedNiceDictionary(lang)`. Exported from
46
+ `@nice2dev/i18n`, `@nice2dev/ui-core` and `@nice2dev/ui`; in the `i18n` build every language is its own
47
+ file. `NiceI18nProvider` and `NICE_I18N_DICTIONARIES` are unchanged and still bring all 30 dictionaries.
48
+ `NiceTestWrapper` (ui-core) and `NiceShowcase` (ui) use the lazy provider now, so they no longer pull
49
+ every dictionary into the apps that bundle them.
50
+
51
+ **Data props are optional.** These controls threw a `TypeError` without data and now render empty:
52
+ `NiceTreeView.nodes`, `NiceAccordion.items`, `NiceCascadeSelect.options`, `NiceAutocomplete.options`,
53
+ `NiceAuditLog.entries`, `NiceDocumentVersionList.versions`, `NicePermissionMatrix.roles` / `actions`,
54
+ `WizardStep.content`, `NiceDiagramViewer.document`, `NiceOrgChartVisualizer.data`,
55
+ `NiceSpatialViewer.document`, and in `@nice2dev/events` the lists of `NiceGiftRegistry`,
56
+ `NiceParticipantList`, `NiceExpenseSplit`, `NiceSeatingChart`, `NiceMediaCollage` and `NiceEventMedia`.
57
+ `NiceMap` without `center` centres on its markers (the whole world without markers), `NiceCountdown`
58
+ without `targetDate` shows zero and never calls `onComplete`, `NiceChat` without `onSend` is read-only
59
+ (no input), and `NiceInvitationDesigner` gains `defaultTemplate`. A CI ratchet counts the required
60
+ array props that remain.
61
+
62
+ **Smaller fixes.** `NicePieChart` draws a 100 % slice as a full circle instead of nothing. In
63
+ development `NiceThemeProvider` warns when `--nice-primary` / `--nice-color-primary` (or another linked
64
+ pair) resolves to nothing on `:root` — usually an alias cycle in the app's CSS; the theming guides say
65
+ which side to set. `@nice2dev/game-engine` exports `createAnimationClip`, `AnimatorController` and
66
+ `createAnimatorController` (two modules exported each name, so `export *` dropped all three); the other
67
+ implementations are `StateMachineAnimatorController`, `createStateMachineAnimatorController`,
68
+ `createTimelineAnimationClip` and `createRetargetingAnimationClip`.
69
+
70
+ Nothing was renamed or removed.
71
+
72
+ ## 1.1.9
73
+
74
+ ### Patch Changes
75
+
76
+ - 1.1.9 — themes reach the controls again, every control has a rendered demo, no breaking changes.
77
+
78
+ **Theming.** `NiceThemeProvider`, `applyTheme` and `NiceThemePreview` write the `--nice-*` tokens
79
+ again, so a theme recolours the controls and not only the app's own CSS — since 1.1.7 only
80
+ light/dark switched. The provider's scope wins over values set on `:root`, as it did before 1.1.7:
81
+ put a brand colour into the theme rather than on `<html>`. Alias tokens are computed in the theme
82
+ scope, not only on `:root`. About 1,600 places that used a text token as a background or border, or
83
+ a surface token as text colour, now use the token of the right role. `--nice-warning-light` and
84
+ `--nice-danger-light` are the light shade of the status colour, like `--nice-success-light`
85
+ (new: `--nice-color-warning-light`, `--nice-color-error-light`); backgrounds use `--nice-*-bg`.
86
+
87
+ **Styles that never shipped.** Six stylesheets in `@nice2dev/ui` were unreachable from its entry
88
+ point, so `NiceLiveDataGrid`, `NiceTaskInbox`, `NiceBPMNDesigner`, `NiceInstanceMonitor`,
89
+ `NiceIntegrationHub`, `NiceRulesEngine` and `NiceVideoEditor` rendered unstyled; eleven more
90
+ components had no stylesheet at all; `workflow.css` read its spacing scale as pixels; and
91
+ `NiceModuleGrid` was styled for a `<table>` it does not render.
92
+
93
+ **Language.** `useNiceTranslation()` returns `{ t, lang }` and dates are formatted in the interface
94
+ language rather than the browser's (`ui-presentations` adds `useNiceLang()`). `NiceInvoiceLineEditor`
95
+ takes its currency and units from the active language unless you pass them. `NiceAuditLog`,
96
+ `NiceRecordingPanel`, the four game-engine editors and `NiceTemplateEditor` are translated, the
97
+ game-engine dictionary is actually registered, and 136 ui-audio strings have English defaults
98
+ instead of rendering raw keys.
99
+
100
+ **Canvas and document colours.** Canvas never resolves `var()`: the QR and barcode generators drew a
101
+ black rectangle, the whiteboard lost its colours and light presets parsed to `NaN`. Data colours are
102
+ resolved first now. Colours stored in documents — slide templates, theme presets, brand kits,
103
+ exports — are literals, so a saved document looks the same in every theme.
104
+
105
+ **Fixes found by the new demos.** All 895 controls now have a rendered showcase demo, and roughly
106
+ every third new demo exposed a bug. `ui-platform`: the service worker re-registered on every
107
+ render, a screen permission prompt appeared on mount, reconnects and start-up tasks ran twice,
108
+ valid EAN-13 codes were rejected. `ui-ai`: `createProviderFromConfig` dropped the endpoint path —
109
+ OpenAI, Anthropic and Groq were called without `/v1` and Azure always threw — and the theme
110
+ generator failed on every request. `ui-communication`: the local participant appeared twice in a
111
+ conference and `activeConversationId` was ignored. `ui-buildings`: automation days were saved as
112
+ indices (both forms are read now), the row toggle changed the selected rule instead of the clicked
113
+ one, and floor-plan devices were drawn in the corner. `ui-mobile`: `NiceTouchTable` rendered invalid
114
+ table markup. `ui-diagrams`: arrowheads grew with the stroke width and transition clicks never fired.
115
+ `ui-3d`: opening a code editor before the 3D view broke the whole app. `ui-presentations`: the editor
116
+ clipped slides in columns narrower than 800 px.
117
+
118
+ **Additive API only.** `@nice2dev/ui-platform` now exports its hooks, provider aliases and Props / Ref
119
+ types. Nothing was renamed or removed.
120
+
121
+ ## 1.1.8
122
+
123
+ ### Patch Changes
124
+
125
+ - 1.1.8 — old problems closed, no breaking changes.
126
+
127
+ **English-first UI.** Text that was hardcoded Polish now goes through `t()` with an English
128
+ default: the planning views, the whole of `@nice2dev/ui-printing`, smart home, backup, the
129
+ navigation and settings panels, `@nice2dev/ui-buildings` end to end, the photo editor and the
130
+ presentation Q&A panel. The dictionary gains 566 keys in en, pl, de, fr, es and uk, so an app
131
+ with `locale="pl"` reads as before. Three prop defaults changed with it:
132
+ `NiceInvoiceLineEditor` (`currencySymbol` `'zł'` → `'$'`, `units` → English) and
133
+ `NiceTimeoutFeedback`'s two messages.
134
+
135
+ **Icons.** No emoji, unicode glyphs or inline `<svg>` are used as icons any more — not in JSX,
136
+ not in `icon:` data fields, not on canvas. Ten icons in `icons-business` / `icons-education`
137
+ that drew their artwork as `<text>` use paths now, and the behaviour-tree palette names resolve
138
+ to real `NiceIcon` builtins (`shield` and `repeat` are new; 176 in total).
139
+
140
+ **Fixes.** The shadcn adapter reads the host's `--primary` / `--accent` again instead of
141
+ producing invalid `hsl(#hex)`; `ui-diagrams` ships the 21 translation keys its components were
142
+ already asking for; `--nice-font-size-2xl` is declared; `NiceScheduler` warns in development
143
+ when it ignores a `currentDate`, `view` or `events` change; `ui-buildings` typechecks clean and
144
+ `DeviceProtocol` accepts `'mqtt'`.
145
+
146
+ **Docs.** `doc.json` no longer lists CSS variables no component implements; eleven components
147
+ document the tokens their stylesheets really read.
148
+
3
149
  ## 1.1.7
4
150
 
5
151
  ### Patch Changes
package/README.md CHANGED
@@ -24,22 +24,20 @@ npm install @nice2dev/ui-audio
24
24
  - `@nice2dev/ui` — design-system components used by the higher-level controls (setup panel, song browser, studio, vocal-FX rack, audio-input picker, …)
25
25
  - `@nice2dev/icons` — all iconography (`Ntd*` icons). This library uses **no emoji or foreign icons** — every icon comes from `@nice2dev/icons`.
26
26
 
27
- **Optional** (enable specific features):
27
+ Nothing else has to be installed. Every module the build imports is declared, so an app
28
+ builds whether or not it uses the karaoke, chart or YouTube parts.
29
+
30
+ ### Dependencies
31
+
32
+ Installed with the package:
28
33
 
29
- - `react-youtube` — YouTube player integration
30
- - `react-window` — virtualized playlist rendering
31
- - `hls.js` — HLS streaming support
32
34
  - `pitchy` — real-time pitch detection
33
- - `recharts` — charts in `NiceVocalPerformanceReport`
34
- - `phaser` — Phaser-based karaoke renderer
35
- - `framer-motion` — animated transitions
36
- - `@fortawesome/react-fontawesome` + icon packages — icons
37
- - `music-metadata-browser` — audio file metadata parsing
38
- - `fflate` — compression utilities
39
- - `@ffmpeg/ffmpeg` — audio format conversion
40
- - `@monaco-editor/react` — code editor integration
41
- - `react-bootstrap` — Bootstrap UI components
42
- - `wav-decoder` — WAV file decoding
35
+ - `react-youtube` — YouTube sources in the players
36
+ - `hls.js` — HLS streams, loaded on first use in browsers without native HLS
37
+
38
+ Charts (`NiceVocalPerformanceReport`) are `NiceChart` / `NicePieChart` and virtual lists are
39
+ `NiceVirtualScroller`, all from `@nice2dev/ui`; the karaoke text preview
40
+ (`NiceKaraokePhaserRenderer`) is plain DOM and no longer needs Phaser.
43
41
 
44
42
  ## Usage
45
43
 
@@ -11,8 +11,8 @@ export interface NoteSoundSet {
11
11
  name: string;
12
12
  /** Short description */
13
13
  description: string;
14
- /** Emoji icon */
15
- emoji: string;
14
+ /** Icon key: an @nice2dev/icons name without the Ntd prefix, e.g. "music". */
15
+ icon: string;
16
16
  /**
17
17
  * Subdirectory name under /assets/soundfonts/notes/.
18
18
  * null = no audio (silent mode).
@@ -6,4 +6,4 @@
6
6
  * one place keeps the `@nice2dev/icons` peer-dependency boundary explicit and
7
7
  * makes the icon set easy to audit.
8
8
  */
9
- export { NtdPlay, NtdPause, NtdStop, NtdSkipBack, NtdSkipForward, NtdMicrophone, NtdVolume, NtdVolumeMute, NtdMegaphone, NtdPhone, NtdMusic, NtdFolder, NtdFolderOpen, NtdUpload, NtdDownload, NtdWave, NtdTrophy, NtdMedal, NtdCrown, NtdHome, NtdStar, NtdGamepad, NtdDice, NtdRepeat, NtdShuffle, NtdArrowRight, NtdChevronDown, NtdChevronUp, NtdSearch, NtdMoon, NtdLightning, NtdStopwatch, NtdMagicWand, NtdPlus, NtdMinus, NtdClose, NtdEdit, NtdSettings, NtdFilter, NtdLock, NtdCheck, NtdSave, NtdClipboard, NtdPalette, NtdPin, NtdTrash, NtdCursor, NtdMove, NtdGrid, NtdClock, NtdRobot, NtdGhost, NtdSkull, NtdMountain, NtdSparkle, NtdBarChart, NtdPieChart, NtdCircle, NtdPrint, NtdCode, } from '@nice2dev/icons';
9
+ export { NtdPlay, NtdPause, NtdStop, NtdSkipBack, NtdSkipForward, NtdMicrophone, NtdVolume, NtdVolumeMute, NtdMegaphone, NtdPhone, NtdMusic, NtdFolder, NtdFolderOpen, NtdUpload, NtdDownload, NtdWave, NtdTrophy, NtdMedal, NtdCrown, NtdHome, NtdStar, NtdGamepad, NtdDice, NtdRepeat, NtdShuffle, NtdArrowRight, NtdChevronDown, NtdChevronUp, NtdChevronLeft, NtdChevronRight, NtdArrowUp, NtdArrowDown, NtdArrowLeft, NtdMenu, NtdFire, NtdSnowflake, NtdTree, NtdLeaf, NtdLayers, NtdDroplet, NtdTag, NtdLink, NtdCopy, NtdUndo, NtdRedo, NtdHeart, NtdSun, NtdTarget, NtdSearch, NtdMoon, NtdLightning, NtdStopwatch, NtdMagicWand, NtdPlus, NtdMinus, NtdClose, NtdEdit, NtdSettings, NtdFilter, NtdLock, NtdCheck, NtdSave, NtdClipboard, NtdPalette, NtdPin, NtdTrash, NtdCursor, NtdMove, NtdGrid, NtdClock, NtdRobot, NtdGhost, NtdSkull, NtdMountain, NtdSparkle, NtdBarChart, NtdPieChart, NtdCircle, NtdPrint, NtdCode, } from '@nice2dev/icons';
@@ -20,5 +20,5 @@ export interface DmxEditorProps {
20
20
  /** Optional "?" guided tour. Off by default; `true` uses the built-in tour. */
21
21
  tutorial?: import('@nice2dev/ui-core').NiceComponentTutorial;
22
22
  }
23
- export declare function DmxEditor({ service, pollInterval, className, style, channels: _channels, onChannelChange: _onChannelChange, fixtures: _fixtures, tutorial, }: DmxEditorProps): React.JSX.Element;
23
+ export declare function DmxEditor({ service, channels: _channels, onChannelChange: _onChannelChange, fixtures: _fixtures, ...rest }: DmxEditorProps): React.JSX.Element;
24
24
  export default DmxEditor;
@@ -2,7 +2,7 @@ import { default as React } from 'react';
2
2
  import { ClipRegion, LayerSettings } from '../../models/editor/audioTypes';
3
3
  import { MidiCCEvent } from '../../models/editor/midiTypes';
4
4
  import { AudioLayer } from '../../models/modelsEditor';
5
- /** Per-instance props � only data unique to each track */
5
+ /** Per-instance props — only data unique to each track */
6
6
  interface LayerTrackProps {
7
7
  layer: AudioLayer;
8
8
  idx: number;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Music-note shapes drawn as canvas paths. The note effects used to draw font glyphs (the
3
+ * musical-symbols block and ♪ ♫ ♬), which look different on every platform and are not
4
+ * allowed as icons.
5
+ */
6
+ export type NoteShape = 'quarter' | 'eighth' | 'sixteenth' | 'beamed';
7
+ export declare const NOTE_SHAPES: readonly NoteShape[];
8
+ /**
9
+ * Draws a note about `size` px tall around the origin: strokes the outline with the current
10
+ * strokeStyle / lineWidth, then fills it with the current fillStyle.
11
+ */
12
+ export declare function drawNoteShape(ctx: CanvasRenderingContext2D, shape: NoteShape, size: number): void;