\r\n \u003CTresMeshNormalMaterial />\r\n \u003CHtml\r\n center\r\n transform\r\n :distance-factor=\"4\"\r\n :position=\"[0, 0, 0.65]\"\r\n :scale=\"[0.75, 0.75, 0.75]\"\r\n >\r\n \u003Cdiv>\r\n \u003Cp>This should not scroll\u003C/p>\r\n \u003C/div>\r\n \u003C/Html>\r\n \u003C/TresMesh>\r\n```\r\nI expect the first element to scroll, and the second to stay.\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: Linux 5.15 Ubuntu 22.04.3 LTS 22.04.3 LTS (Jammy Jellyfish)\r\n CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\r\n Memory: 3.82 GB / 11.69 GB\r\n Container: Yes\r\n Shell: 3.6.1 - /usr/bin/fish\r\n Binaries:\r\n Node: 21.5.0 - ~/.local/share/nvm/v21.5.0/bin/node\r\n Yarn: 1.22.19 - /usr/bin/yarn\r\n npm: 10.2.4 - ~/.local/share/nvm/v21.5.0/bin/npm\r\n pnpm: 8.14.1 - ~/.local/share/pnpm/pnpm\r\n bun: 1.0.7 - ~/.bun/bin/bun\r\n```\r\n\r\n\r\n### Used Package Manager\r\n\r\npnpm\r\n\r\n### Code of Conduct\r\n\r\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\r\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://tresjs.org/guide).\r\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2884,2887],{"name":2885,"color":2886},"pending-triage","97A4FE",{"name":2888,"color":2889},"waiting for author","B145BC",507,"Native html scroll and @tresjs/cientos Html component behaviour","2024-03-30T15:37:07Z","https://github.com/Tresjs/tres/issues/507",0.7694733,{"description":2896,"labels":2897,"number":2901,"owner":2863,"repository":2902,"state":2865,"title":2903,"updated_at":2904,"url":2905,"score":2906},"### Describe the bug\r\n\r\nMaybe you can take a look @hawk86104 ?\r\n\r\nhttps://cientos.tresjs.org/guide/staging/environment.html#lightformer\r\nThe import says `Enviroment` but should be `Environment`\r\nFor the import for LightFormer i get an error\r\n```console\r\nSyntaxError: The requested module '/node_modules/.vite/deps/@tresjs_cientos.js?v=486ac0ac' does not provide an export named 'LightFormer'\r\n```\r\n\r\nAlso no mater what i use LightFormer or Lightformer i get the error.\r\n\r\n### Reproduction\r\n\r\nhttps://github.com/Tresjs/cientos/blob/main/docs/guide/staging/environment.md\r\n\r\n### Steps to reproduce\r\n\r\n_No response_\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 14.3.1\r\n CPU: (10) arm64 Apple M1 Pro\r\n Memory: 129.17 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.18.0 - ~/.nvm/versions/node/v18.18.0/bin/node\r\n Yarn: 1.22.21 - ~/.nvm/versions/node/v18.18.0/bin/yarn\r\n npm: 9.8.1 - ~/.nvm/versions/node/v18.18.0/bin/npm\r\n Browsers:\r\n Chrome: 126.0.6478.62\r\n```\r\n\r\n\r\n### Used Package Manager\r\n\r\nnpm\r\n\r\n### Code of Conduct\r\n\r\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/cientos/blob/main/CODE_OF_CONDUCT.md)\r\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/cientos/blob/main/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://cientos.tresjs.org/guide).\r\n- [X] Check that there isn't [already an issue](https://github.com/Tresjs/cientos/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2898],{"name":2899,"color":2900},"PR Welcome","2D76B0",442,"cientos","Docs are incomplete and example is not working - Lightformer","2024-09-03T12:59:41Z","https://github.com/Tresjs/cientos/issues/442",0.77916545,{"description":2908,"labels":2909,"number":2910,"owner":2863,"repository":2902,"state":2911,"title":2912,"updated_at":2913,"url":2914,"score":2915},"### Describe the bug\n\n[`CameraControls`](https://cientos.tresjs.org/guide/controls/camera-controls.html) component ignores `mouseButtons` and `touches` properties.\n\n### Reproduction\n\nhttps://play.tresjs.org/#eNqdVttu2zgQ/RVCwSIPa1NynGS72nTh2r0gi80FtZ8a9YGWGIsJRRIk5dgI/O8dkr5IbpA6TQTDnDkzc3jIGfk5mmhqPiiF5zWN0ujC5Jopiwy1tUKciNn7LLImi/7NBKuU1BY9oyExLB+XpJBPV0R10Pjrl+FIcqnHiuS0g67lRAoKLsXEDK3QvZYVOralpvT4n0YeV3pExJyYLWhgwfZg4lzqNnZEKqrJSAqrJX8Bz6iw0jRCRqM1JPeR3Xwd6iCZgJWxaMbRe/ScCYRyTon2e0jR8dG7k4/D0dlxx3mM36dJkdU19RbCVUlSdE+4CYYAgf1Oloqm+/I4hKytqu1Oo3RfMweyO9HStobgXgHtizicDpwFLCytFCeWwgqhi4aW8+6UiQLObcb9uSH48/5bqo2iuWVzGuREqZKGWSYFoO/+7iD3fM8iFG/C9mRPK1kb2p3WFsgaCHpGnN7bFNTGH0aTy5tr/O3m5gqtmjlc6Stqyna17kkHwZO4cqmWlmwcSQddEVvi28vgXafZ7BFU+UJlRa1eopTomWNx1+ugHj7roH6TfKP0REoBSalmhKPcyQ5R62NuUo03Aa9zB4ruccVyYmw3XIB22aFcvMDTkdx8vInr6Wf3/xtcQWMn9c9KjlVJ9U7Lg5l8Hg6T/vCXTD4y7a6aFIT/z2al/UlBIHXqD58JSwW4luDo4ZO2qOsqoUa44GC4iBu3H5bGLrn7WtqKQ7NMZbEMfV2B8kykKIH2QUiRovDdFZYldcRS1EuSP7zhiRW23K5XmTiC/guJfoFFaEryx5mWtShg1Pg5cpQkrg6kgcb1BKNOFKZTtyIKPxgpYOT69NnaAZM2DQWdrTkNnSOLSmuVSeM4LwTEF5SzucaC2lioKm7CB318jntxwYyNnRnQWeTHTCtxGJtvyR0iIP1fONmlX5vbVewTJY+KiEO4b7GDU5xsiW+MuGIuppnbvU0OyetwA8h4ngDfP6mpmjLASw/m2cH6NuCDXoLPICNMWrrAVVvdNQ5usKbFGxKHgNdSA7Bb0IodkHQDdZs/xecxZ9MXU+69Hw/IvBcxOMHvcD+c2J4LV7Ko+e74XE3ohxU0gjUAumezvTbIZaUYp/pGuVHRbgfCuXz6z9u2L2MfU9L88QX7g1mE3dzCDaV6Dme8uz8wGKgN7k/ja7qA71tnYP2q8ys1kteOY4ANofGBdgPn2V76roaZMzGfFn7MrTfVImrhd4O33m1m8PaCB8N3L5zH+zswekWl3c76uL8VfPUDB9Q/3Q==\n\n### Steps to reproduce\n\n1. Add `PerspectiveCamera` to a scene\r\n2. Add `CameraControls` from `@tresjs/cientos`\r\n3. Pass `mouseButtons` prop using `camera-controls`' `ACTION` enum:\r\n ```\r\n import CC from 'camera-controls';\r\n ...\r\n \u003CCameraControls :mouse-buttons=\"{ left: CC.ACTION.ZOOM }\" />\r\n ```\r\n4. The camera should zoom on drag when left mouse button is pressed, but instead the camera rotates (default behavior)\r\n\r\n_Note:_ The same applies to `touches` as both of the props are discarded when turning props into refs, and aren't passed down to the extended component: https://github.com/Tresjs/cientos/blob/main/src/core/controls/CameraControls.vue#L331C1-L357C18\r\n\r\nI prepared a fix for that, will submit a PR shortly 😉 \r\n\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 14.4.1\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 4.18 GB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node\r\n npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm\r\n pnpm: 8.15.4 - ~/Library/pnpm/pnpm\r\n bun: 1.0.27 - ~/.bun/bin/bun\r\n Browsers:\r\n Chrome: 124.0.6367.61\r\n Safari: 17.4.1\r\n npmPackages:\r\n @tresjs/cientos: ^3.8.0 => 3.8.0 \r\n @tresjs/core: ^3.8.1 => 3.8.1 \r\n @tresjs/leches: ^0.14.0 => 0.14.0 \r\n @tresjs/post-processing: ^0.7.1 => 0.7.1 \r\n vite: ^5.1.5 => 5.1.6\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Code of Conduct\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/cientos/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/cientos/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://cientos.tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/Tresjs/cientos/issues) that reports the same bug to avoid creating a duplicate.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],384,"closed","CameraControls component doesn't support mouseButtons and touches props","2024-04-22T19:21:04Z","https://github.com/Tresjs/cientos/issues/384",0.7384788,{"description":2917,"labels":2918,"number":104,"owner":2863,"repository":2864,"state":2911,"title":2923,"updated_at":2924,"url":2925,"score":2926},"Something similar to \r\n\r\n- [x] Transform Controls https://github.com/pmndrs/drei#pivotcontrols\r\n- [x] Make default",[2919,2922],{"name":2920,"color":2921},"good first issue","7057ff",{"name":2857,"color":2858},"Transform Controls","2022-12-30T15:13:38Z","https://github.com/Tresjs/tres/issues/3",0.75331026,{"description":2928,"labels":2929,"number":2938,"owner":2863,"repository":2864,"state":2911,"title":2939,"updated_at":2940,"url":2941,"score":2942},"### Description\n\nAs a developer using TresJS, I would like to have an Event Management solution with the following features:\r\n\r\n- Support for:\r\n - onClick\r\n - onContextMenu (rightClick)\r\n - onDoubleClick\r\n - onWheel\r\n - onPointerDown\r\n - onPointerUp\r\n - onPointerLeave\r\n - onPointerMove\r\n - onPointerCancel\r\n - onLostPointerCapture\r\n- Event prioritization \r\n- primitive pointer events\r\n- Event bubbling and propagation #501 #426 \r\n\r\n# Propagation through intersected objects\r\n\r\nRaycasting-Based Interaction: Tres should use Three.js's raycasting to determine which objects are interacted with. A ray is cast from the camera through the mouse position into the 3D space, and intersections with objects are calculated.\r\n\r\nSimulated Bubbling: When an event occurs, Tres might propagate it through objects based on their spatial arrangement (like from child to parent), but this is based on the raycast hits and not a strict parent-child hierarchy as in the DOM.\r\n\r\nMeaning that stop propagation is based on occlusion\r\n\r\n\r\n\r\nIf the object is a Group or a model consistent with several meshes, the same concept applies, the closest mesh to the camera stops the propagation\r\n\r\n\r\n\n\n### Suggested solution\n\n# Current solution uses:\r\n\r\n- `useRaycaster` https://github.com/Tresjs/tres/blob/main/src/composables/useRaycaster/index.ts\r\n- `usePointerEventHandler` https://github.com/Tresjs/tres/tree/main/src/composables/usePointerEventHandler\r\n\r\nRegister of events is being done here \r\nhttps://github.com/Tresjs/tres/blob/main/src/composables/usePointerEventHandler/index.ts#L57-L62\r\n\r\n```ts\r\nconst registerObject = (object: Object3D & EventProps) => {\r\n const { onClick, onPointerMove, onPointerEnter, onPointerLeave } = object\r\n\r\n if (onClick) objectsWithEventListeners.click.set(object, onClick)\r\n if (onPointerMove) objectsWithEventListeners.pointerMove.set(object, onPointerMove)\r\n if (onPointerEnter) objectsWithEventListeners.pointerEnter.set(object, onPointerEnter)\r\n if (onPointerLeave) objectsWithEventListeners.pointerLeave.set(object, onPointerLeave)\r\n}\r\n\r\n // to make the registerObject available in the custom renderer (nodeOps), it is attached to the scene\r\n scene.userData.tres__registerAtPointerEventHandler = registerObject\r\n scene.userData.tres__deregisterAtPointerEventHandler = deregisterObject\r\n\r\n scene.userData.tres__registerBlockingObjectAtPointerEventHandler = registerBlockingObject\r\n scene.userData.tres__deregisterBlockingObjectAtPointerEventHandler = deregisterBlockingObject\r\n```\r\n\r\nThese are then used on the renderer by saving them on the `userData` of the scene object\r\n\r\n```ts\r\ninsert(child, parent) {\r\n if (parent && parent.isScene) scene = parent as unknown as TresScene\r\n\r\n const parentObject = parent || scene\r\n\r\n if (child?.isObject3D) {\r\n if (\r\n child && supportedPointerEvents.some(eventName => child[eventName])\r\n ) {\r\n if (!scene?.userData.tres__registerAtPointerEventHandler)\r\n throw 'could not find tres__registerAtPointerEventHandler on scene\\'s userData'\r\n\r\n scene?.userData.tres__registerAtPointerEventHandler?.(child as Object3D)\r\n }\r\n }\r\n```\r\n\r\nhttps://github.com/Tresjs/tres/blob/main/src/core/nodeOps.ts#L102\r\n\r\n# Desired solution\r\n\r\nA state/store to manage the events\r\n\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.",[2930,2931,2934,2937],{"name":2857,"color":2858},{"name":2932,"color":2933},"v4","7980EA",{"name":2935,"color":2936},"p3-significant","2C78E3",{"name":2874,"color":2875},515,"Pointer EventManager state","2024-05-30T06:32:45Z","https://github.com/Tresjs/tres/issues/515",0.75382334,{"description":2944,"labels":2945,"number":2949,"owner":2863,"repository":2864,"state":2911,"title":2950,"updated_at":2951,"url":2952,"score":2953},"**Describe the bug**\r\nI update the new TresJs beta version, and each canvas throw a problem with the onPointerEvent\r\n\r\nNote: I Don't have onPointerEvent, in any canvas, but I do have one PointerMove event in the \r\nhttps://serene-mousse-562782.netlify.app/MouseShaderEffect \r\nWhich is not working properly (do not update the uniforms) but also is the only page that don't throw a pointer error\r\n\r\nThe other experiments (you can navigate using the navbar) all have the onPointerEvent error\r\n\r\n**Reproduction**\r\nFollow the steps\r\n\r\n**Steps**\r\nSteps to reproduce the behavior:\r\n1. Go to [my-tresJs-playground](https://serene-mousse-562782.netlify.app/)\r\n2. Move the mouse through the canvas\r\n3. Each canvas on the routes contain this problem (except /MouseShaderEffect which do not update the uniforms)\r\n4. You can go to a different site to see\r\n\r\n\r\n**System Info**\r\nOutput of `npx envinfo --system --npmPackages '{vite,@tresjs/*, three, vue}' --binaries --browsers` \r\n\r\n\r\n**Additional context**\r\nIf I'm doing something wrong, please let me know\r\n",[2946],{"name":2947,"color":2948},"bug","d73a4a",189,"Problems with pointerevents","2023-04-12T14:07:01Z","https://github.com/Tresjs/tres/issues/189",0.75554067,{"description":2955,"labels":2956,"number":2961,"owner":2863,"repository":2902,"state":2911,"title":2962,"updated_at":2963,"url":2964,"score":2965},"Blank page and possible memory leak",[2957,2958],{"name":2947,"color":2948},{"name":2959,"color":2960},"v2","FEE22D",14,"[v2] - Transform controls are completely broken","2023-03-23T18:53:26Z","https://github.com/Tresjs/cientos/issues/14",0.758971,{"description":2967,"labels":2968,"number":2970,"owner":2863,"repository":2971,"state":2911,"title":2972,"updated_at":2973,"url":2974,"score":2975},"## Description\r\n\r\n[In Cientos docs](https://cientos.tresjs.org/guide/abstractions/lensflare.html), when navigating *back to* a page with Leches controls, the controls are duplicated – and reduplicated on every subsequent visit until the page is reloaded.\r\n\r\nhttps://github.com/Tresjs/leches/assets/20469369/88e6e989-8e86-4e87-bda6-d7368d59a78a\r\n\r\n## Reproduction\r\n\r\nSteps to reproduce the behavior:\r\n\r\n1. Go to [Lensflare](https://cientos.tresjs.org/guide/abstractions/lensflare.html)\r\n2. See 1 control for scale\r\n3. Click on 'MouseParallax' in the left-hand menu\r\n4. Click on 'Lensflare' in the left-hand menu\r\n5. See 2 controls for scale\r\n6. Click on 'MouseParallax' in the left-hand menu\r\n7. Click on 'Lensflare' in the left-hand menu\r\n8. See 3 controls for scale\r\n\r\n## Expected behavior\r\n\r\nThe controls should not be duplicated.",[2969],{"name":2947,"color":2948},62,"leches","Leches controls multiply when page is revisited in Cientos docs","2023-11-03T13:52:32Z","https://github.com/Tresjs/leches/issues/62",0.7689615,["Reactive",2977],{},["Set"],["ShallowReactive",2980],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f4jsRiGmaN1aN5Mx6WUeZZWS9y0OhxgHSPcysBbXbln8":-1},"/Tresjs/tres/64"]