0.9.1 Update

Vitamins

Vitamins is a free control parameter scripting software that targets Live2d. It can help drive Live2d model in a accurate and creative way.

[h1]0.9.1[/h1] [h2]General:[/h2] This update refactors the UI implementation. The UI's memory and CPU usage have been reduced compared to version 0.8.x. In addition, some UI components have been optimized to improve interaction intuitiveness and reduce comprehension difficulty. New Capture Device: The new IOS capture software support has been implemented, allowing USB connection. Prefix: Prefix-related operations are now only allowed after connecting to the capture device. Adjusting default values manually is now allowed. Built-in saves: Newly added built-in saves cannot be overwritten, but can be saved as regular save [b]Attention, Do not run old github builds after run this version. This may cause prefix save lost.[/b] [h2]Code[/h2] 1. Refactored the entire UI using Solid-js. 2. Refactored the communication methods between the frontend and backend. 3. Optimized the thread communication model for capturing data. 4. Removed unnecessary UI communication. 5. Changed the packaging method, reducing the number of files by 1k+. [h1]Updates[/h1] Capture Input: Overall: 1. When selecting a capture device, the supported devices and connection types will be displayed. 2. Three connection statuses are now displayed: Connected, Running, and Disconnected. 3. The capture input data will use higher raw precision. VTS Nvidia Face Capture: 1. When no available camera is found, the camera selection dropdown will correctly display "No Camera" instead of "camera". Shiori Capture: 1. Added support for Shiori (IOS) in the capture methods, including both WIFI and USB communication. Output (VTS) Connection: 1. No longer uses input port to create a connection with VTS. Vitamins will now automatically detect the running VTS, and clicking the connect button will connect to the corresponding VTS client. Prefix: 1. Added the option to manually adjust default values, which can be enabled within the prefix panel. 2. Double-clicking the slider now quickly restores it to the initial value. 3. Prefix operations are now only allowed after connecting to the capture device. 4. Input parameters that can undergo prefix operations are now marked with an underscore. 5. Opening the prefix panel now simultaneously opens the panel and demonstration animation for the corresponding parameters. 6. Prefix operations can now be applied to mirror parameters. This feature is enabled by default in new prefix saves, and for old saves, each parameter can be manually enabled. Zero Calibration: 1. Added "Calibrate Now" and "Cancel" buttons in the calibration countdown page. 2. Right-clicking no longer triggers "Calibrate Now". 3. Zero calibration is now only allowed after connecting to the capture device. Manual Control: 1. All on/off controls are no longer controlled by the right-click button. The overall on/off control has been moved to a separate group of buttons. - Individual sliders can still be controlled by right-clicking. 2. Added a reset button that resets all sliders to their initial values. Input Simulation Animation: 1. The simulation animation no longer closes when clicking anywhere. 2. Switching between simulation animations no longer reloads the model, which should effectively reduce waiting time for prefix model loading during prefix operations. 3. Input parameter names and value bars are now displayed below the animation. 4. In the simulation animations for the eight Blendshapes related to eye look, the eyeballs now move with the skin. 5. The simulation animation now plays in a back-and-forth loop instead of a one-way loop. 6. Considering the demo model lacks a tongue, right-clicking "Tongue out" will no longer display an animation. Input Monitor (formerly "Face Model"): 1. Reduced the range of horizontal (↑↓) eye movement to avoid completely hiding the pupils. Script Editor: 1. When creating a new parameter, the required data will be automatically filled in. This can be useful when creating multiple parameters. 2. Drag-and-drop sorting no longer requires holding the "Shift" key. Visual representation and performance of drag-and-drop have also been optimized. 3. Parameters that trigger fatal errors are now prominently marked. 4. The "Signal" button now displays explanatory text. 5. The "Signal" button is now displayed with a dark, low opacity when closed. 6. Most unused code autocompletion has been removed. However, native JS API is still included. 7. Autocompletion now recognizes variables declared using "this". 8. Added a delete confirmation. 9. The editor height can now be adjusted. 10. Added a simple Bezier curve function using VPlugin.CubicBezier to obtain the constructor. Hover to view specific parameters. Details can be found in the wiki. A curve editor for post-processing output is planned to be included in the next version. Built-in Script saves: 1. Starting from this version, newly added built-in saves will begin with "__" (two underscores). 2. Changes to built-in saves cannot be saved. However, temporary modifications can still be made to built-in saves for testing/learning purposes. 3. Built-in saves can be "Saved As" to make copies, which are not restricted. 4. Built-in saves may be updated in the future. Therefore, if you need to use built-in saves in production or live scenes, it is recommended to make a copy and use it. 5. My personal save "Buno.vps" will no longer be distributed as a built-in save. (1) (1) In previous versions, I intended to distribute my personal saves as a reference material, but I noticed that it easily led users to drive their models using this save. My personal savecontains a large number of parameter scripts for non-standard and experimental Live2D parameters. Using my save on other models may result in undesirable performance. save Management: 1. Split the prefix save and script save management. The corresponding save management can now be opened below the input panel and on the right side of the editor. 2. Improved the speed of opening the save folder using the resource manager. Prefix save Management : 1. prefix saves are now bound to a single capture device. If you have used previous versions of Vitamins, your prefix saves will be automatically copied to all capture devices. 2. When connecting a capture device, it will automatically switch to the corresponding prefix save . 3. When creating a newprefix save , you can choose to create it based on another save as a template. The purpose of the changes to prefix saves is to strengthen the connection between prefix and capture devices. Top-right Corner Notification: 1. Added a delete button. [h2]Bug FIX[/h2] VTS Nvidia Face Capture: 1. Used OSF Tracker, which VTS uses, to obtain camera information, resolving the issue of displaying unsupported cameras. This may also resolve the problem of insufficient permissions to access camera information. Script and VTS Output: 1. Fixed the issue of unstable calculation and communication intervals in certain cases. Memory: 1. Fixed a memory leak issue. [h2]Multi Languages:[/h2] 1. Organized the translation texts for multiple languages. 2. Created a translation tool to make translating into other languages easier. - If you would like to provide language support for Vitamins other than Simplified Chinese, please contact me. [h1]QA:[/h1] [h2]Why choose to refactor the UI:[/h2] During the initial development of Vitamins, the UI implementation was not based on Electron but started with a browser and later transitioned to Tauri before finally moving to Electron for a more stable client performance. Throughout this process, Vitamins accumulated unnecessary code to accommodate different containers. The main purpose of the refactoring is to remove this portion of the code, avoid performance waste, and improve code maintainability. The framework used for this refactoring is Solid-js, which is known for its performance and fine-grained reactive UI updates. For applications like Vitamins with frequent UI component updates, using Solid as the framework can effectively reduce the performance overhead of redundant component rendering. [h2]Is the new connection device need to pay:[/h2] No, but you need to download the free application from the iOS App Store. Please note that this application is not developed by the author of Vitamins. Many thanks to the Shiori development team for releasing it as a free application. [h2]Will Vitamins be paid in the future:[/h2] Vitamins will remain free. [h2]Next stage of development:[/h2] In the coming period, I will focus on fixing any possible bugs in the current version and further improving the onboarding experience. After reevaluating based on community feedback, I realized that the existing documentation does not allow different roles to quickly understand, access, and learn the content that suits their needs. I will design and build various aspects for each role: in-app guidance, learning resources such as documentation, and more. Once the above updates are completed, I will publicly share my Task Board on Notion. At that time, you can check my development progress and direction on Notion. ## [h2]Community[/h2] I welcome any type of feedback. If you have bugs, improvement suggestions, feature requests, etc., you can mention me and leave a message on KOOK or Discord. Kook: [b]https://kook.top/aQn4aE[/b] Discord: [b]https://discord.gg/g5qvSbJEsr[/b]