Skip to content

Conversation

alvarosabu
Copy link
Member

No description provided.

- Removed useLogger imports from various composables and directives.
- Introduced logError and logWarning functions from the new logger utility.
- Updated relevant code to utilize the new logging methods for improved clarity and maintainability.
…#960)

BREAKING CHANGE: Tres is now ESM only

- Removed UMD build configuration from package.json and adjusted exports to only include ES module.
- Updated vite.config.ts to specify the output format as ES, enhancing compatibility with modern module systems.
Copy link

pkg-pr-new bot commented Mar 22, 2025

Open in StackBlitz

npm i https://pkg.pr.new/@tresjs/core@965

commit: 1983350

Copy link

netlify bot commented Mar 22, 2025

Deploy Preview for tresjs-docs ready!

Name Link
🔨 Latest commit 1983350
🔍 Latest deploy log https://app.netlify.com/projects/tresjs-docs/deploys/68cece2256134c0008d69beb
😎 Deploy Preview https://deploy-preview-965--tresjs-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

alvarosabu and others added 21 commits March 22, 2025 10:29
- Added export for the logger utility from './utils/logger' to enhance logging capabilities across the ecosystem
- Changed import statements in various files to directly import specific utility functions from './utils/is' instead of importing the entire module.
- This improves clarity and reduces potential namespace conflicts, ensuring that only the necessary functions are imported for use.
- Updated related logic in composables and core operations to utilize the new import structure for better maintainability.
* feat: integrate devtools setup for performance monitoring

- Added a new `setupDevtools` function to manage performance metrics such as FPS and memory usage.
- Integrated the `setupDevtools` function into the `useTresContextProvider` to enhance the development experience.
- Updated the `index.vue` page to utilize the `useControls` for FPS graphing.
- Cleaned up unused performance-related code to streamline the context provider logic.

* Update src/devtools/setupDevtools.ts

Co-authored-by: Damien Montastier <[email protected]>

* Update src/devtools/setupDevtools.ts

Co-authored-by: Damien Montastier <[email protected]>

* refactor: improve readability in setupDevtools.ts

- Adjusted indentation and formatting in the `setupDevtools` function to enhance code clarity.
- Ensured consistent use of braces for conditional statements to improve maintainability and readability.

* refactor: added boundedPush util

- Introduced a new utility function `boundedPush` in `perf.ts` to streamline the logic for maintaining a fixed-length array for performance metrics.
- Updated `setupDevtools.ts` to utilize `boundedPush` for both FPS and memory usage tracking, enhancing code clarity and reducing redundancy.

---------

Co-authored-by: Damien Montastier <[email protected]>
…#977)

- Upgraded @vue/devtools-api from version 6.6.3 to 7.7.2 for improved functionality.
- Updated @Tresjs/cientos dependency to a specific version hosted at a new URL for better version control.
- Enabled Vue DevTools in the Vite configuration for enhanced development experience.
- Adjusted the homepage link in the devtools plugin for accurate documentation reference.
* feat(loader): introduce useLoader composable and documentation

- Added `useLoader` composable for loading resources with THREE.js, supporting single and multiple resource loading, loading state tracking, and error handling.
- Created comprehensive documentation for `useLoader`, detailing its features, usage examples, and API reference.
- Updated various playground components to utilize the new `useLoader` composable for loading GLTF and FBX models.
- Added new demo pages for loading multiple models and using the `UseLoader` component in templates.

* feat(loader)!: introduce useLoader composable and documentation

BREAKING CHANGE: useLoader no longer returns the plain obj, it now returns and object with reactive data (resource|s), isLoading, error) and a load method, can be used both sync and async (suspense)

- Added `useLoader` composable for loading resources with THREE.js, supporting single and multiple resource loading, loading state tracking, and error handling.
- Created comprehensive documentation for `useLoader`, detailing its features, usage examples, and API reference.
- Updated various playground components to utilize the new `useLoader` composable for loading GLTF and FBX models.
- Added new demo pages for loading multiple models and using the `UseLoader` component in templates.

* chore(loader): simplify useLoader implementation and clean up imports

- Updated the `UseLoader` component in documentation to remove unnecessary destructuring of the slot props.
- Cleaned up imports in `BlenderCube.vue`, `Suzanne.vue`, and `TheExperience.vue` by removing unused types.
- Added eslint-disable comments for console logging in `Suzanne.vue` and `TheExperience.vue` to improve code readability while debugging.

* feat: useGraph to generate named object material collections

* feat: useAsyncState for useLoader

- Added documentation for the `useLoader` composable, detailing its features, usage examples, and API reference.
- Updated the navigation in the VitePress configuration to include a link to the new `useLoader` documentation.
- Enhanced the `useLoader` composable to support better type safety and resource management.
- Removed the `Suzanne.vue` component as part of the cleanup process.

* feat: enhance useLoader and useGraph composables

- Updated the `useLoader` composable to improve type safety and support loading textures alongside models.
- Refactored the `useGraph` composable to accept both Object3D and TresObject types, enhancing its flexibility.
- Added new examples and documentation for loading multiple models and textures, including progress tracking.
- Cleaned up and organized playground components to demonstrate the new features effectively.

* refactor(useLoader.test): clean up imports by removing unused `nextTick` import

- Removed the unused `nextTick` import from the `useLoader.test.ts` file to streamline the code and improve readability.

* docs: remove trailing spaces in team.md for consistency

- Cleaned up trailing spaces in the `team.md` file to improve code consistency and readability.

* fix(graph): export also types from graph utils

* refactor(index.ts): remove unused export of buildGraph

- Removed the unused `buildGraph` export from `index.ts` to streamline the code and improve maintainability.

* feat: enhance resources loading with progress tracking

- Enhanced the `useLoader` composable to return progress information, allowing for better user feedback during model loading.
- Updated `TheModel.vue` to utilize the new progress tracking feature from the `useLoader` composable.
- Removed the unused `LoadingManager` and integrated progress updates directly into the component's state.
- Updated docs

* feat: added tests to load and progress
* added typecheck script

* added typecheck to ci

* ts error fixes

* fixed import

* docs: added cientos next to docs to fix build

* merged lint and typecheck workflow

* added eol

* removed shit added by ai

* improved workflow dependencies

* lint fix

* made pkg.pr.new dependent on lint and typecheck

* added branch filters to workflow_run triggers in pkg.pr.new.yml and test.yml

* trying to get workflow to run

* merged workflows

* adjusted triggers for ci

* restored pkg.pr.new.yml

* trying again

* restored pkg.pr.new.yml again

---------

Co-authored-by: alvarosabu <[email protected]>
* refactor: reorganize devtools setup and imports

- Moved the `registerTresDevtools` import in `TresCanvas.vue` to improve clarity and ensure proper registration of devtools.
- Renamed `setupDevtools` to `setupTresDevtools` in `setupDevtools.ts` for consistency with the new naming convention.
- Updated the `registerTresDevtools` function in `plugin.ts` to call the renamed `setupTresDevtools`, ensuring proper integration of the devtools setup.
- Removed the unused `setupDevtools` call from `useTresContextProvider` to streamline the context provider logic.

* refactor: remove unused setupDevtools import from useTresContextProvider

- Eliminated the unused `setupDevtools` import from `useTresContextProvider` to streamline the context provider logic and improve code clarity.
* feat!: deprecate useSeek composable and update documentation

BREAKING CHANGE: `useSeek` is deprecated

- Marked the `useSeek` composable as deprecated in the documentation, indicating its removal in v5.0.0.
- Removed the `useSeek` composable implementation and its associated tests from the codebase to streamline the composables directory.
- Updated the documentation to reflect the deprecation status and provide guidance for users.

* Update docs/api/composables.md

Co-authored-by: Tino Koch <[email protected]>

---------

Co-authored-by: Tino Koch <[email protected]>
* chore: fix some stuff for playground on next

- Updated `@Tresjs/cientos` and `@tresjs/leches` dependencies to specific versions in `pnpm-lock.yaml` and `package.json`.
- Refactored `BlenderCube.vue` to utilize computed properties for model handling and removed unused controls.
- Replaced `GraphPane.vue` with `TresLeches` for rendering performance metrics in `OnDemandRendering.vue` and `experience.vue`.
- Introduced `BrownianDistribution.vue` for a new demo showcasing Brownian distribution.
- Cleaned up unused state management code and removed `GraphPane.vue` and `state.ts` to streamline the codebase.
- Updated routing to reflect new component structure and added a route for the new Brownian distribution demo.

* chore: remove unused import from index.vue

- Eliminated the unused `useControls` import from `index.vue` to streamline the code and improve clarity.
…renderer 2 (#993)

* added typecheck script

* added typecheck to ci

* ts error fixes

* fixed import

* moved render state stuff to useRenderer

* chore!: stripped unnecessarily returned elements from useRenderer

BREAKING CHANGE:

- useRenderer now returns invalidate and advance
- useTresContextProvider no longer contains render state

* chore: removed internal renderer ref

* refactor!: the renderer instance is now returned from useRenderer, made renderer being wrapped inside the context

BREAKING CHANGE:

- invalidate, advance, canBeInvalidated and the renderer instance are now accessed through the context via `renderer`
- the renderer instance in the context is now readonly

* refactor: removed one emit dependency

* tofo cleanup

* merge fix

* refactor: updated other parts to match structural changes

* worked around loop errors

* fixes concerning changes in playground

* updated english docs

* fix: wrong render mode in docs

* removed obsolete todo

* fix: added null check

* fix: removed deprecated toValue import

* chore: restored renderer tyope in LoopCallbackWithCtx

* refactor: renamed useRenderer

* fix: test

* fix: lint fix

---------

Co-authored-by: Alvaro Saburido <[email protected]>
…#999)

* added typecheck script

* added typecheck to ci

* ts error fixes

* fixed import

* moved render state stuff to useRenderer

* chore!: stripped unnecessarily returned elements from useRenderer

BREAKING CHANGE:

- useRenderer now returns invalidate and advance
- useTresContextProvider no longer contains render state

* chore: removed internal renderer ref

* refactor!: the renderer instance is now returned from useRenderer, made renderer being wrapped inside the context

BREAKING CHANGE:

- invalidate, advance, canBeInvalidated and the renderer instance are now accessed through the context via `renderer`
- the renderer instance in the context is now readonly

* refactor: removed one emit dependency

* tofo cleanup

* merge fix

* refactor: updated other parts to match structural changes

* worked around loop errors

* fixes concerning changes in playground

* updated english docs

* fix: wrong render mode in docs

* removed obsolete todo

* fix: added null check

* fix: removed deprecated toValue import

* feat: remove emit from useTresEventManager

* renamed type

* chore: got rid of emit concerning TresReady

* refactor!: removed emit from useTresContextProvider and useTresEventManager

BREAKING CHANGE:

- the type `EmitEventName` is no longer exported from @Tresjs/core
- the type `EmitEventFn` is no longer exported from @Tresjs/core

* chore: restored renderer tyope in LoopCallbackWithCtx

* refactor: renamed useRenderer

* fix: test

* cleanup

---------

Co-authored-by: Alvaro Saburido <[email protected]>
#1000)

* refactor!: removed useTresReady, added isReady to the renderer in the context

BREAKING CHANGE:

- useTresReady is no longer available, it has been replaced by isReady in the renderer in the context
- onTresReady is no longer available. renderer.isReady should be leveraged instead

* chore: removed playground files concerning useTresReady

* chore: removed ready pages from playground routes

* feature: made isReady dependency clearer by leveraging triggerRef
* fix: add initial value support to useLoader

- Enhanced the `useLoader` composable to accept an `initialValue` option, allowing users to provide a default state while resources are loading.
- Updated documentation to reflect the new `initialValue` feature, improving user experience by preventing null states during loading.
- Modified examples in the documentation and playground to demonstrate the usage of `initialValue` with textures and models.

* fix: update import order in use-loader documentation for consistency

- Adjusted the import order of `Texture` and `TextureLoader` from 'three' to maintain a consistent style across documentation examples.
- Minor formatting change in the example code for better readability.

* fix: ensure initialValue in useLoader defaults to null

- Updated the `useLoader` composable to default the `initialValue` option to `null` if not provided, enhancing robustness and preventing potential undefined states during loading.
- This change improves the composable's usability by ensuring a consistent default behavior.
* feat!: remove useTexture composable and update documentation

BREAKING CHANGE: `useTexture` composable has been refactored and moved to `@Tresjs/cientos` package

- Deleted the `useTexture` composable and its associated files as it has been refactored and moved to the `@Tresjs/cientos` package.
- Updated documentation to reflect the changes, including a warning about the deprecation and a link to the new `cientos` documentation for `useTexture`.
- Adjusted examples in the cookbook to utilize the new `useTexture` from `@Tresjs/cientos`, ensuring users are directed to the correct implementation.

* fix: clean up texture loading examples in documentation

- Removed unnecessary line breaks and improved formatting in the `load-textures.md` documentation.
- Streamlined the example code for `TresMeshStandardMaterial` to enhance readability and maintain consistency with coding standards.

* docs: update composables documentation to reflect removal of useTexture

- Removed deprecated `useTexture` section from the documentation, indicating its refactor to the `@Tresjs/cientos` package.
- Added a warning about the deprecation and provided a link to the new `cientos` documentation for user guidance.
- Ensured that the remaining documentation is clear and concise, maintaining consistency with the latest changes in the codebase.
* refactor!: context camera is now a state

BREAKING CHANGE: camera ctx property is now an object with the camera manager instead of the active camera

* fix: remove camera manual check

* chore: remove reset onUnmounted

Co-authored-by: Tino Koch <[email protected]>

* chore: remove unused comment

Co-authored-by: Tino Koch <[email protected]>

* chore: omit previous reordering of cameras

Co-authored-by: Tino Koch <[email protected]>

* refactor: update camera handling to use Three.js Camera type

- Replaced instances of TresCamera with Three.js Camera type across the codebase for better compatibility and consistency.
- Updated camera management logic in useCamera composable and related components to reflect the new type.
- Simplified currentCamera logic to use computed properties instead of watch.

* refactor: enhance orthographic camera setup and controls

- Updated the orthographic camera initialization to correctly calculate frustum dimensions based on the aspect ratio.
- Introduced zoom functionality for the orthographic camera.
- Simplified the useControls setup by removing unnecessary properties and focusing on essential controls.
- Adjusted the camera update logic to reflect the new control structure, ensuring proper projection matrix updates.

* chore(playground): streamline camera implementation with TresJS components

- Removed manual camera initialization in favor of using TresJS components for perspective and orthographic cameras.
- Updated the template to conditionally render the appropriate camera based on the selected camera type.
- Enhanced readability and maintainability by leveraging TresJS's built-in camera properties and methods.

* refactor(playground): remove unused camera imports in index.vue

- Eliminated unused imports for OrthographicCamera and PerspectiveCamera from Three.js to streamline the code.
- This change enhances code clarity and reduces unnecessary dependencies, aligning with the recent updates to utilize TresJS components for camera management.

* refactor(useCamera): improve camera management logic (#1009)

---------

Co-authored-by: Tino Koch <[email protected]>
…t ESLint auto-imports

- Updated the @Tresjs/cientos dependency in package.json and pnpm-lock.yaml to the latest version (14afe95).
- Added Slot and Slots to ESLint auto-imports for improved type support in Vue components.
- Removed the Textures.vue component as it is no longer needed in the project.
- Simplified the Text3D component by using useLoader for font loading and updated the template to reflect the new structure.
- Cleaned up the basic routes by removing the reference to the deleted Textures.vue component.
alvarosabu and others added 2 commits July 28, 2025 19:30
* fix: enhance header link activation state in useNavigation composable

- Updated the `_useHeaderLinks` function to include an `active` property for each header link, utilizing the current route path to determine the active state.
- Removed unnecessary blank lines for cleaner code structure.

* refactor: lint

- Removed trailing commas from the header link definitions in the `_useHeaderLinks` function for improved consistency and readability.
- Ensured that the `active` property for each header link is correctly formatted, enhancing the overall clarity of the navigation logic.

* fix: default github magic link to normal link when criteria is not met

* docs: upgrade guide

* chore: update ESLint configuration to ignore markdown files

- Added an `ignores` entry to both `eslint.config.js` and `docs/eslint.config.mjs` to exclude markdown files from linting, improving the focus on relevant code files.
- Ensured consistent handling of file types across configurations.

* docs: typo on warning

Co-authored-by: Copilot <[email protected]>

* docs: improve what changed part on useLoader, reasons vs features

* docs: update upgrade guide for pointer events changes

- Clarified that pointer events now follow native DOM event names, replacing dash-case with camelCase (e.g., '@pointer-down' to '@pointerdown').
- Added migration steps to assist users in adapting to the new event naming convention.
- Emphasized consistency with web standards and the pmndrs ecosystem.

* docs: clarify migration steps in upgrade guide

- Updated the language in the migration steps to specify that for most use cases, changing `useTresContext` to `useTres` is likely sufficient.
- Aimed to enhance clarity and user understanding of the migration process.

* docs: update upgrade guide with breaking changes and new composable usage

- Removed deprecated composables: `useTresReady`, `useSeek`, `useTresEventManager`, `useRaycaster`, `useRenderLoop`, and `useLogger`.
- Added detailed migration steps for replacing `useRenderLoop` with `useLoop`, including usage examples and warnings about component hierarchy.
- Enhanced clarity on the architectural improvements in TresJS v5, focusing on a simplified API surface.

* docs: update upgrade guide with TresCanvas props reactivity changes

- Added a section detailing the reactivity changes for several TresCanvas props, marking them as `@readonly` to improve WebGL context initialization.
- Included migration steps for setting context initialization props as static values and updating dynamic renderer options.
- Emphasized the architectural improvements in TresJS v5 and the rationale behind these changes.

* docs: ignore markdown files for linting due incorrect linting of code snippets

* docs: grammar

Co-authored-by: Tino Koch <[email protected]>

* docs: update docs/content/1.getting-started/4.upgrade-guide.md

Co-authored-by: Tino Koch <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Tino Koch <[email protected]>
- Upgraded TypeScript and various dependencies in `pnpm-lock.yaml` and `package.json` to ensure compatibility with the latest features and improvements.
- Enhanced the `AppHeader.vue` component for better responsive design by adding a class to control visibility on different screen sizes.
- Updated documentation links and metadata in `index.md` to reflect new features and improve user navigation.
- Refactored the `useTres` composable documentation to clarify its usage context within the TresCanvas component, enhancing user understanding.
Tinoooo and others added 24 commits August 11, 2025 17:49
* refactor: reorganize HTML tag handling and utility functions

- Moved the `HTML_TAGS` constant and `isHTMLTag` function from `src/utils/index.ts` to `src/utils/is.ts` for better modularity.
- Removed the `makeMap` function from `index.ts` and imported it in `is.ts`, enhancing code clarity and separation of concerns.
- Cleaned up unused code in `index.ts` to streamline the utility functions.

* fix: fixed import

* refactor: made use of radashis type guards and removed unused ones.

* refactor: structured type guards and made them smaller and more readable

* refactor: remove unused type guard tests and consolidate exports in utility files

* refactor: Refactor utility functions and improve equality checks in node operations, removed unused methods

* refactor: removed more unused code; added string util

* refactor: moved noop

* refactor: moved pixelRatio stuff

* refactor: replaced shuffle

* refactor: separated getObjectByUuid

* refactor: removed unused highlight material methods, moved used one

* chore: removed unused dependency

* refactor: moved filterInPlace

* moved extractBindingPosition

* refactor: moved hasMap

* chore: removed comment

* Add exports for three and tres utility modules

Export utility functions from utils/is/three and utils/is/tres to make them available for external use.

* fix: added null check

* chore: made use of isMesh in docs

* made use of type guards

* chore: beautified code a bit

* docs: added type guard docs

---------

Co-authored-by: alvarosabu <[email protected]>
- Introduced a new "Quick Start" section in the installation documentation, detailing the recommended approach using the interactive CLI wizard.
- Included commands for creating a new TresJS project with npm, yarn, and pnpm, along with an overview of the wizard's features such as template selection, ecosystem packages, TypeScript support, and ESLint integration.
- Emphasized the benefits of using the CLI for new projects, ensuring users have a streamlined setup experience.
* fix: avoid pierced props to setScalar when numerical

- Fixed `nodeOps` to directly assign pierced props with number values, ensuring proper handling of vector properties and added tests for verifying the integrity of node operations.
- Improved test coverage for `patchProp` to ensure that properties remain unchanged when not explicitly modified.

* refactor: clean up comments in nodeOps

- Removed redundant comments in `nodeOps` regarding the handling of pierced props with number values, streamlining the code for better readability while maintaining functionality.
- Modified the usage section to reflect that the `useTexture` composable now returns a reactive state along with a loading state, enhancing clarity for users.
- Updated the import statement to align with the new structure of the TresJS core library.
* feat: integrate Tres DevTools messaging system

- Added a new `DevtoolsMessenger` class for handling communication with Tres DevTools, allowing for asset loading events and performance metrics to be sent to the devtools.
- Updated the `useLoader` composable to send asset loading progress and completion messages to the devtools.
- Implemented a subscription mechanism in the `gltf-loader` component to log asset load messages from the devtools.
- Enhanced the `setupTresDevtools` function to initialize the devtools messenger if it doesn't already exist on the window object, ensuring seamless integration with the Tres ecosystem.

* refactor: remove unused onMounted subscription in gltf-loader component playground

* fix: enhance asset loading progress reporting in useLoader composable

- Updated the `useLoader` function to improve the reporting of asset loading progress to Tres DevTools.
- Consolidated progress calculation and messaging logic, ensuring accurate tracking of loading status.
- Removed redundant progress event handling code for cleaner implementation.

* fix: simplify DevtoolsMessenger type reference in env.d.ts

- Updated the type reference for `__TRES__DEVTOOLS__` in the Window interface to directly use `DevtoolsMessenger`, improving clarity and reducing import complexity.

* chore: remove development type exports from package.json

- Eliminated the development type exports for `types`, `import`, and `default` in the package.json file, streamlining the export structure and focusing on the production-ready output.

* feat: add devtools export for enhanced integration

- Introduced export for `DevtoolsMessenger` in the devtools module, allowing for improved communication with Tres DevTools.
- Updated the main index file to include the new devtools export, streamlining the overall export structure.

* feat: enhance DevtoolsMessenger with message queuing and flushing

- Implemented message queuing in the `DevtoolsMessenger` class to handle scenarios where no subscribers are available, preventing message loss.
- Added a `flushQueue` method to deliver queued messages to new subscribers immediately upon subscription.
- Introduced a maximum queue size to prevent memory leaks, ensuring only the most recent messages are retained.
- Updated the `useLoader` composable to improve asset loading progress reporting, consolidating progress calculation and messaging logic for better clarity and accuracy.
- Added unit tests for `DevtoolsMessenger` to verify queuing behavior and message delivery.

* feat: refine message queuing in DevtoolsMessenger

- Updated the `DevtoolsMessenger` to queue only specific message types ('asset-load') when no subscribers are available, preventing unnecessary message accumulation.
- Enhanced unit tests to verify that non-queueable messages ('performance' and 'context') are not queued when no subscribers exist.
- Improved documentation within the code to clarify the queuing behavior and message handling logic.

* feat: enhance useLoader composable with total size tracking

- Added a `totalSize` variable to track the total size of assets being loaded, improving the accuracy of asset loading progress reporting.
- Updated the progress reporting logic to utilize the tracked `totalSize` instead of the previous method, ensuring more reliable completion event data.
- Enhanced inline comments for better understanding of the changes made to the loading progress logic.

* fix: update size reporting in useLoader composable

- Changed the `sizeKB` property to `size` in the `useLoader` composable to directly reflect the total size of the loaded asset, improving clarity in asset loading data.
- This adjustment enhances the accuracy of the asset loading progress reporting by providing the actual size instead of a converted value.

* feat: enhance asset load messaging in useLoader and DevtoolsMessenger

- Introduced a new `AssetLoadData` interface in `DevtoolsMessenger` to standardize asset loading messages sent to Tres DevTools.
- Updated the `useLoader` composable to send the actual loader constructor and improved the asset load message structure, enhancing clarity and consistency in reporting.
- Refined the `setupTresDevtools` function to utilize type annotations for context and performance messages, ensuring type safety and better integration with the devtools system.

* refactor: remove unused imports from setupDevtools.ts

* refactor: removed useLoader devtools communication since will be performed in a different way

* fix: add TODO comment for future implementation in AssetLoadData interface
* fix: update build publish path and command in netlify.toml

* fix: update publish path and command in netlify.toml

* fix: update publish path and command in netlify.toml

* fix: update build command and publish path in netlify.toml

* fix: update redirect path in netlify.toml to target docs directory

* fix: update redirect path in netlify.toml to handle all routes

* fix: refine error handling for missing page in [...slug].vue

* fix: remove 404 error handling for missing page in [...slug].vue

* fix: add error handling for missing page in [...slug].vue

* fix: add strict routing options in nuxt.config.ts and reorganize netlify.toml

* fix: add TypeScript error suppression for glitchStrength variable in HologramCube.vue
* feat: add model animation examples and documentation

* fix: remove unused watch on animations and update thumbnail path in model animation documentation

* fix: add type annotation for TresObject in HologramCube component
* docs: add Tweakpane integration for interactive 3D controls

* chore: update Tweakpane installation instructions and add core dependency

- Enhanced documentation for Tweakpane integration by providing installation commands for npm, yarn, and pnpm.
- Added a note for TypeScript users to install the @tweakpane/core package as a development dependency.
- Included a new image asset for Tweakpane in the recipes directory.

* refactor: simplify reset logic in TweakpaneDemo component

- Replaced individual property assignments with Object.assign for resetting control values, improving code readability and maintainability.
- This change enhances the clarity of the reset functionality while adhering to best practices for object manipulation in JavaScript.
- Updated pnpm-lock.yaml and docs/package.json to include @tweakpane/core version 2.0.5 as a development dependency, ensuring proper integration for Tweakpane features in the project.
- Added a navigation link to the "Getting Started" section for improved user experience.
- Included a badge for the Tres v5 announcement to highlight the new version.
- Enhanced the overall structure of the documentation for better clarity and accessibility.
* docs: basic animations recipe

* docs: add advanced GSAP animations examples and documentation

* docs: update lighting components and correct snippets

* fix: add type annotations for positions array in GSAP examples

* docs: correct arrow function syntax and add missing commas in GSAP examples

* doc: frame-rate typo

Co-authored-by: Colin S. <[email protected]>

* docs: cookbook animations typo

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Colin S. <[email protected]>
Co-authored-by: Copilot <[email protected]>
- Updated Discord link in the app configuration to the new invite.
- Changed version display in AppHeader to 'v5'.
- Added new community navigation section with links to Discord and resources.
- Updated description in the Awesome Resources page for clarity.
- Changed the hardcoded version 'v5' to dynamically display the version from the runtime configuration, enhancing maintainability and accuracy of version representation.
- Upgraded pnpm from version 10.6.3 to 10.17.0 for improved package management.
- Updated @types/three from version 0.179.0 to 0.180.0 to ensure compatibility with the latest Three.js features.
- Upgraded jsdom from version 26.1.0 to 27.0.0 for enhanced testing capabilities.
- Updated three from version 0.179.1 to 0.180.0 to leverage the latest improvements and bug fixes.
- Upgraded vite from version 7.1.4 to 7.1.6 for better performance and stability.
- Adjusted pnpm-lock.yaml to reflect the updated package versions and dependencies.
- Replaced `timerGlobal()` with `time` for consistency and improved performance in the vertex shader calculations.
- Adjusted the calculation of `stripes` to use `time` instead of `timerGlobal(0.02)` for better synchronization with the animation loop.
- These changes enhance the rendering efficiency and maintainability of the HologramCube component.
@alvarosabu alvarosabu merged commit 190d8f7 into main Sep 20, 2025
9 checks passed
@alvarosabu alvarosabu deleted the next branch September 20, 2025 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants