Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Koota migration - #33

Merged
k9p5 merged 216 commits into
mainfrom
koota-migration
Aug 27, 2026
Merged

Koota migration#33
k9p5 merged 216 commits into
mainfrom
koota-migration

Conversation

@k9p5

@k9p5 k9p5 commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

No description provided.

k9p5 added 30 commits July 20, 2026 22:41
…ota-solid

Added entries for the koota package and the @diffusionstudio/koota-solid package, specifying their versions, licenses, and peer dependencies. This update ensures that the project has the necessary dependencies for enhanced functionality and compatibility.
Introduced a new package, @diffusionstudio/runtime, with version 0.1.0, including its dependencies and devDependencies. Updated package-lock.json to reflect this addition.
Added 'mediabunny' as a dependency in both package-lock.json and package.json. Expanded trait exports in the runtime package to include new modules for capture, traits, and timing, improving the overall functionality and organization of the codebase.
Expanded the runtime package by adding new exports for world creation and singleton traits, including Project, Mode, ActiveScene, Camera, and more. Introduced font utilities and updated the utils index to include live-mounts, improving the structure and functionality of the codebase.
Introduced a new module for world serialization in the runtime package, including the `serializeEntity` function and the `EntityRecord` interface. Updated the index file to export the new serialization module, enhancing the capabilities for entity management and persistence in the application.
Added new exports for query predicates, hierarchy, and timeline indexing in the runtime package. Removed the deprecated overlap query file and updated the utils index to include sorting utilities. This refactor improves the organization and functionality of query handling within the application.
Added new exports for math primitives and deterministic systems in the runtime package. Introduced the transform system with functions for computing local and world transforms, as well as world bounds. Updated the createRuntimeWorld function to initialize necessary traits, improving the overall functionality and organization of the codebase.
…lities

Introduced a comprehensive motion system for keyframe interpolation and animation, leveraging the animejs library. Added new utilities for text animations, including functions for revealing words and characters, and scrambling text. Updated the runtime's world and queries to integrate the new document root trait, improving the structure and functionality of the animation system.
…ncies

Added new asset actions for managing in-memory metadata, including allocation, appending, and removing assets. Introduced clipboard functionality for copying and pasting entity subtrees. Enhanced folder management with unique naming and moving capabilities. Updated package dependencies to include 'sqids' for unique ID generation, improving asset handling and organization within the runtime package.
…entity management

Introduced a new `observers.ts` module to handle runtime invariants through koota event subscriptions, including cache upkeep, authored-to-computed mirrors, and time-range reactions. Updated `createRuntimeWorld` to register observers, ensuring proper entity management during lifecycle events. Refactored actions to leverage observer-driven behavior, enhancing performance and maintainability. Adjusted cache rebuilding logic to exclude entities during updates, improving efficiency in hierarchy changes.
Added new media-related exports and traits, including audio, video, and caption handling. Introduced the 'colord' dependency for color manipulation and '@webgpu/types' for WebGPU support. Enhanced text rendering capabilities with improved text style management and layout functions. Updated the observer pattern to manage media resources effectively during entity lifecycle events, ensuring proper disposal and resource management.
… media synchronization

Added a comprehensive playback system that advances root playheads, manages local time and visibility for entities, and synchronizes audio and video decoders. The system supports looping and handles audio playback state transitions. Updated the index files to export the new playback module and integrated it into the existing systems structure, enhancing media handling capabilities within the runtime package.
…g capabilities

Added a new encoder package (`@diffusionstudio/encoder`) for handling media encoding, separating it from the main runtime. Updated the migration documentation to reflect the new encoder structure and its integration with the runtime. Enhanced the render system to support hit regions and callback-less interactions, improving the rendering process. Updated various system modules to ensure proper integration and functionality within the runtime package.
…audio sync features

Added exports for the new `contact-sheet` module in the encoder package and included `audio-sync` in the runtime media index. Updated migration documentation to reflect these changes, ensuring better organization and functionality for media handling within the application.
…ine class to manage running state with listeners
…nd-drop event handling; enhance HomePage with KootaEngineProvider for improved project management.
…e distinction between in-memory snapshots and persisted formats. Adjusted `EntityRecord` description to reflect its role in cloning and entity management without backward compatibility constraints.
Updated imports in cli-client and sidebar-left components to reference the new DAPI context instead of the deprecated editor-api. Removed the editor-api module and its associated files, streamlining the codebase and improving maintainability. This change enhances the overall architecture by consolidating API interactions under the new DAPI structure.
Eliminated the `compile-project.ts` and `open-folder.ts` files from the CLI, streamlining the codebase. Updated the README to reflect changes in CLI commands, including the removal of outdated examples. Adjusted the API to enhance clarity and maintainability by consolidating asset handling functions and removing unused types. This refactor improves the overall architecture and reduces complexity in the CLI interactions.
… improve background color management

Updated the BackgroundSettings component to replace the deprecated engine context with the new Koota trait system for background management. Adjusted color assignment logic to use the new trait API, enhancing maintainability and performance. Additionally, modified the use-trait and use-trait-effect hooks to improve type inference and support for relation pairs, ensuring better integration with the entity and world systems.
- Eliminated references to IndexedDB in asset and folder management, including removal of database-related code in `assets.ts` and `folders.ts`.
- Updated `restoreAssets` and `restoreFolders` functions to use in-memory placeholders instead of database retrieval.
- Adjusted `initAssets` and `initFolders` to remove database initialization, reflecting a shift towards in-memory project handling.
- Removed unused migration and project database files to streamline the codebase.
- Bumped version numbers for all packages to 0.132.1 in package-lock.json.
- Introduced new project management channels in main-channels.ts for creating, listing, and compiling projects.
- Enhanced main.ts to handle new project-related requests.
- Updated dashboard projects view to support project creation, deletion, and duplication with improved UI interactions.
- Integrated project management functionality into the file menu for easier access.
- Added a new reconciler package to manage project content on disk.
- Improved project ID handling in use-project-id.ts to ensure valid folder names.
- Replaced HomePage with DashboardPage as the main entry point in app.tsx.
- Introduced ProjectPage for project-specific routes.
- Updated routing logic to utilize useParams for project identification.
- Removed deprecated dashboard component files and adjusted related imports.
- Enhanced project management features in the dashboard, including navigation and project handling.
- Updated context imports to use dapi instead of editor-api for consistency.
- Added new project channels in main-channels.ts for retrieving, renaming, duplicating, and deleting projects.
- Updated main.ts to handle new project-related requests, enhancing the project lifecycle management.
- Improved ProjectInfo type to include displayName and updated related functions for better project metadata handling.
- Enhanced dashboard and file menu components to support new project operations with improved UI interactions.
- Refactored project management logic in projects.ts to streamline package.json handling and ensure consistency across project operations.
- Renamed the default export function in the starter template from Scene to Project for clarity.
- Updated StageProps interface to include a background property for customizable canvas color.
- Removed redundant project-related UI elements from the dashboard view to streamline the user experience.
- Simplified the ProjectLoader component by eliminating unused camera fitting logic and related comments.
- Enhanced the RuntimeDocument class to better manage the stage and rect entities, including background handling.
- Commented out the SceneInitOverlay in Canvas component to streamline rendering.
- Integrated useProject hook in EditorPage for improved project context handling.
- Removed ProjectLoader from ProjectPage to simplify project management.
- Updated project exports to include use-project instead of loader.
- Deleted the unused ProjectLoader component to clean up the codebase.
- Introduced new JSX_VERSION and SOLID_VERSION constants for better version management in package.json.
- Updated package.json to use @diffusionstudio/jsx for JSX support, ensuring compatibility with the latest features.
- Added jsxImportSource to tsconfig for improved JSX handling.
- Removed outdated TYPES definition and integrated StageProps into the JSX namespace for better type management.
k9p5 added 28 commits August 25, 2026 16:52
- Introduced `getClipFallbackName` function to provide meaningful names for unnamed clips based on their type, improving clarity in the timeline.
- Updated the `NodeLayer` component to utilize the new fallback naming logic, ensuring clips display appropriate names when no explicit name is set.
- Adjusted the `renderClip` function to incorporate fallback names, enhancing user experience by reducing ambiguity in clip identification.
- Updated the canvas creation in `createCapture` to ensure it remains within the viewport, preventing issues with cached paints and blank captures.
- Enhanced the `AnimeTimeline` component to use alpha colors instead of opacity for better rendering during animations, avoiding subtree blanking.
- Introduced a `WeakSet` in `render.ts` to track failed HTML roots, preventing console flooding by logging errors only once per root.
- Clarified documentation regarding nested opacity effects on captures to improve user understanding of rendering limitations.
- Added `Source` import to `export.tsx` for better trait handling.
- Updated `settings` computation in `ExportPanel` to ensure it reacts to changes in the source.
- Clarified documentation in `project-config.ts` regarding the export settings retrieval process, improving understanding of reactive behavior.
- Updated the canvas creation in `createCapture` to ensure it remains within the viewport and utilizes `will-change:opacity` for better performance.
- Modified the `AnimeTimeline` component to use `opacity` for text dimming while clarifying the limitations of using fractional opacity on painted boxes in captures.
- Enhanced documentation in `html.md` to provide clearer guidance on the effects of nested opacity on rendering and captures.
- Replaced direct queries for `SourceError` and `Generating` with utility functions `getSourceFailure` and `isGenerating` to streamline error handling and improve code readability.
- Updated the `drawHeader`, `renderClip`, and `renderGenerating` functions to utilize the new utility functions, enhancing consistency across the rendering logic.
- Improved the `isGenerating` and `getSourceFailure` functions to check both the entity and its fills for generation status and source failure, ensuring comprehensive error reporting.
- Introduced `resultExtension` function to determine the appropriate file extension for generated assets based on MIME type and URL, improving file identification accuracy.
- Updated the `store` method in `EditorGenAi` to utilize the new extension logic, ensuring generated files are named correctly based on their content.
- Enhanced `detectMimeType` function to include image type sniffing, allowing for better handling of files without explicit extensions, thus improving overall asset processing reliability.
- Added comprehensive documentation for new functions to clarify their purpose and usage in the asset management workflow.
- Updated the `LayoutPanel` component to improve aspect ratio management by introducing a `lockedRatio` function, which determines the aspect ratio based on the current dimensions or authored values.
- Simplified the `resize` function to utilize the new `lockedRatio` for enforcing aspect ratios during resizing operations.
- Enhanced the `toggleAspectRatio` function to directly edit the `keepAspectRatio` property, streamlining the locking mechanism.
- Added documentation for the `keepAspectRatio` property in relevant types and reference materials, clarifying its purpose and usage in the editor.
…neration

- Modified the `useGenerateImage` and `useGenerateVideo` hooks to include the `keepAspectRatio` property in the `Rect` components, ensuring consistent aspect ratio handling for generated assets.
- Updated the `insertAsset` function to apply the `keepAspectRatio` property for both video and image assets, enhancing layout integrity during asset insertion.
- Replaced direct handling of the `keepAspectRatio` property with a dedicated `syncAspectLock` method to streamline aspect ratio management.
- Updated logic to ensure the aspect ratio lock is consistently applied based on node properties, enhancing the integrity of resizing operations.
- Added documentation for the new `syncAspectLock` method to clarify its role in maintaining authored bounds during resizing.
- Updated the `insertGenerated` function to accept an array of asset references, allowing for dynamic naming of generated entities based on their corresponding assets.
- Modified the `useGenerateAudio`, `useGenerateImage`, `useGenerateVideo`, and `useGenerateVoice` hooks to pass asset references during insertion, ensuring generated elements are appropriately named.
- Introduced a new `nameAfterGeneration` function to handle the naming process asynchronously, improving the clarity and organization of the codebase.
- Updated the `attachAi` function to accept an optional `dir` parameter, allowing for better project folder management during AI attachment.
- Modified the `EditorGenAi` constructor to incorporate the `dir` parameter, facilitating improved asset transcription handling based on the project's directory.
- Adjusted the `createCapture` function call to utilize the new `dir` property, ensuring accurate source compilation during audio capture processes.
- Updated the label assignment logic to use an else-if structure for better clarity and to prevent unnecessary evaluations when checking for text entities.
- Ensured that the label is correctly derived from captions or text entities, improving the overall readability and maintainability of the code.
- Modified the `sceneSpan` function to calculate frames based on `computed.duration` for improved accuracy.
- Enhanced the `insertFresh` function to include a unique seed for each caption insertion, ensuring fresh transcriptions.
- Refactored the seed management logic to utilize `Date.now()` for generating new seeds, streamlining the re-transcription process.
- Cleaned up the `CaptionSettings` component by removing unused alignment logic and context menu, simplifying the UI and improving maintainability.
- Adjusted the `EditorGenAi` class to ensure proper key management for generated assets, preventing unnecessary re-transcriptions.
- Updated the `CaptionSettings` component to clarify the relationship between caption presets and authored styles, enhancing user understanding.
- Simplified the `Inspector` component by removing unnecessary checks for caption targets, streamlining the rendering logic.
- Wrapped the "Grow" control in the `TextPanel` with a conditional display to ensure it only appears when text is selected, improving UI responsiveness.
- Introduced new constants for caption preset styles and fills, centralizing style management and ensuring consistency across different caption types.
- Enhanced the `applyStyles` method in various caption decoders to utilize the new preset styles, improving the overall styling process and ensuring authored properties are correctly applied.
- Removed the `sceneSpan` function from the `useAutoCaptions` hook to simplify caption insertion logic.
- Updated the `insertFresh` function to streamline caption creation by removing unnecessary parameters.
- Introduced new functions in the `timing.ts` file to manage transcript duration and caption source handling, improving accuracy in timing calculations.
- Added caching for transcript lengths in `utils.ts`, allowing for synchronous access to transcript durations after initial reading.
- Enhanced the overall caption handling process to ensure better integration with the timing system and improve performance.
- Revised the description of the `assets/` directory in `projects.ts` to clarify its role in the library and the handling of media files.
- Expanded the `media.md` documentation to include instructions on adding assets to the library, detailing the process for importing files and managing image sequences.
- Updated the `README.md` to reflect changes in the `media.md` section, ensuring consistency in documentation across the project.
- Introduced a new command `dapi check` to analyze a node's subtree for structural issues, including black frames, never-visible nodes, and source errors.
- Implemented types for check requests and results, detailing the structure of issues found during analysis.
- Added a new `check.ts` file to handle the logic for checking nodes, including coverage calculations and issue reporting.
- Updated the `README.md` and reference documentation to include usage instructions and details about the new command.
- Enhanced the CLI with a new command option for checking node integrity without rendering, providing instant feedback on potential issues in the project.
- Updated the `listEntries` function in `projects.ts` to include support for symbolic links, ensuring they are treated as valid entries.
- Revised the `media.md` documentation to clarify the handling of symlinks in the asset library, emphasizing the benefits of linking over copying files.
- Improved the description of the `assets/` directory in `module.md` to reflect the inclusion of symlinks and their role in the asset management process.
- Added console error logging for compile, render, and load failures in the EditorPage component to enhance debugging capabilities.
- Refactored the loadProject function call into a separate load function to handle errors more gracefully during project loading.
- Updated the motion system to use getLocalWindow instead of getSourceWindow for improved accuracy in local frame calculations.
- Replaced references to GSAP with anime.js in the JSX documentation, ensuring consistency with the current animation framework.
- Updated code examples to reflect the new anime.js syntax and functionality, enhancing clarity for users transitioning from GSAP.
- Improved explanations regarding timeline creation and usage, emphasizing the benefits of using anime.js for frame-accurate animations.
- Added a new channel `PROJECTS_FS_REAL_PATH` to resolve the real path of a given source, accommodating symbolic links.
- Updated the `listEntries` function to include a `link` property for entries that are symbolic links, improving asset management.
- Introduced the `realPathEntry` function to handle symlink resolution, ensuring accurate path retrieval.
- Enhanced the `removeEntry` function to prevent deletion of files outside the project directory, maintaining project integrity.
- Updated documentation to clarify symlink handling and the implications of linked assets in the project.
- Modified the `capture` command to render single frames of a scene instead of a node, ensuring the output matches the export's encoding.
- Updated command descriptions and argument details to reflect the new functionality, including changes to the time reference and scene handling.
- Enhanced documentation for the `capture` command and related references to clarify usage and expected behavior.
- Improved error messages for invalid scene captures, guiding users to capture the correct scene id.
- Bumped version numbers for the editor, CLI, desktop, and web applications to 0.132.2 in package.json and package-lock.json.
- Updated the dashboard feature labels in the web application to better reflect current offerings, enhancing clarity for users.
- Removed outdated features and added new ones to align with the latest capabilities of the platform.
…description

- Removed the global flag from the installation command for the skills package to simplify usage.
- Revised the project description to emphasize the unique coding aspect of video editing in Diffusion Studio.
- Improved clarity in the documentation regarding the desktop app's functionality and command line capabilities.
- Changed the default development script to run the desktop version instead of the web version.
- Updated the README.md to clarify the functionality of Diffusion Studio, emphasizing the bidirectional editing capabilities and the structure of compositions as SolidJS modules.
- Improved command descriptions and examples in the documentation to better reflect the current functionality and usage.
- Updated the README.md to enhance clarity regarding the structure of compositions as SolidJS modules.
- Improved explanations on how elements carry IDs for bidirectional editing, ensuring users understand the write-back mechanism for canvas interactions.
- Bumped version numbers for the editor, CLI, desktop, web applications, and JSX package to 0.200.0 in package.json and package-lock.json.
- Ensured consistency in versioning across all related packages to reflect the latest updates and improvements.
- Updated the JSX version assignment in `projects.ts` to dynamically retrieve the app version, enhancing maintainability.
- Deleted the `use-running.ts` hook as it was no longer needed, streamlining the codebase.
@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
editor-web Error Error Aug 27, 2026 12:03pm

@k9p5
k9p5 merged commit 853f3af into main Aug 27, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants