Optimise re-renders (#1355)

Co-authored-by: Uriel <imurx@proton.me>
This commit is contained in:
lucas lelievre
2025-04-23 14:58:19 +02:00
committed by GitHub
parent 0dc073ca48
commit ca8d75e749
36 changed files with 346 additions and 297 deletions

49
pnpm-lock.yaml generated
View File

@@ -32,9 +32,12 @@ importers:
'@hookform/resolvers':
specifier: ^3.6.0
version: 3.6.0(react-hook-form@7.53.0(react@18.3.1))
'@react-hookz/deep-equal':
specifier: ^3.0.3
version: 3.0.3
'@react-three/drei':
specifier: ^9.114.3
version: 9.114.5(@react-three/fiber@8.17.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0))(@types/react@18.3.11)(@types/three@0.163.0)(immer@9.0.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0)
version: 9.114.5(@react-three/fiber@8.17.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0))(@types/react@18.3.11)(@types/three@0.163.0)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0)
'@react-three/fiber':
specifier: ^8.17.10
version: 8.17.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0)
@@ -83,6 +86,9 @@ importers:
ip-num:
specifier: ^1.5.1
version: 1.5.1
jotai:
specifier: ^2.12.2
version: 2.12.2(@types/react@18.3.11)(react@18.3.1)
prompts:
specifier: ^2.4.2
version: 2.4.2
@@ -819,6 +825,10 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
'@react-hookz/deep-equal@3.0.3':
resolution: {integrity: sha512-SLy+NmiDpncqc2d9TR4Y4R7f8lUFOQK9WbnIq02A6wDxy+dTHfA2Np0dPvj0SFp6i1nqERLmEUe9MxPLuO/IqA==}
engines: {node: '>=18.0.0'}
'@react-spring/animated@9.6.1':
resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==}
peerDependencies:
@@ -2556,8 +2566,8 @@ packages:
immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
immer@9.0.21:
resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
immer@10.1.1:
resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==}
immutable@4.3.6:
resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==}
@@ -2793,6 +2803,18 @@ packages:
resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
hasBin: true
jotai@2.12.2:
resolution: {integrity: sha512-oN8715y7MkjXlSrpyjlR887TOuc/NLZMs9gvgtfWH/JP47ChwO0lR2ijSwBvPMYyXRAPT+liIAhuBavluKGgtA==}
engines: {node: '>=12.20.0'}
peerDependencies:
'@types/react': '>=17.0.0'
react: '>=17.0.0'
peerDependenciesMeta:
'@types/react':
optional: true
react:
optional: true
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -5049,6 +5071,8 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
'@react-hookz/deep-equal@3.0.3': {}
'@react-spring/animated@9.6.1(react@18.3.1)':
dependencies:
'@react-spring/shared': 9.6.1(react@18.3.1)
@@ -5083,7 +5107,7 @@ snapshots:
'@react-spring/types@9.6.1': {}
'@react-three/drei@9.114.5(@react-three/fiber@8.17.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0))(@types/react@18.3.11)(@types/three@0.163.0)(immer@9.0.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0)':
'@react-three/drei@9.114.5(@react-three/fiber@8.17.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0))(@types/react@18.3.11)(@types/three@0.163.0)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.163.0)':
dependencies:
'@babel/runtime': 7.24.7
'@mediapipe/tasks-vision': 0.10.8
@@ -5107,7 +5131,7 @@ snapshots:
three-mesh-bvh: 0.7.8(three@0.163.0)
three-stdlib: 2.30.3(three@0.163.0)
troika-three-text: 0.49.1(three@0.163.0)
tunnel-rat: 0.1.2(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)
tunnel-rat: 0.1.2(@types/react@18.3.11)(immer@10.1.1)(react@18.3.1)
utility-types: 3.11.0
uuid: 9.0.1
zustand: 3.7.2(react@18.3.1)
@@ -6983,7 +7007,7 @@ snapshots:
immediate@3.0.6: {}
immer@9.0.21:
immer@10.1.1:
optional: true
immutable@4.3.6: {}
@@ -7219,6 +7243,11 @@ snapshots:
jiti@1.21.6: {}
jotai@2.12.2(@types/react@18.3.11)(react@18.3.1):
optionalDependencies:
'@types/react': 18.3.11
react: 18.3.1
js-tokens@4.0.0: {}
js-yaml@4.1.0:
@@ -8817,9 +8846,9 @@ snapshots:
tslib: 1.14.1
typescript: 4.8.2
tunnel-rat@0.1.2(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1):
tunnel-rat@0.1.2(@types/react@18.3.11)(immer@10.1.1)(react@18.3.1):
dependencies:
zustand: 4.5.2(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1)
zustand: 4.5.2(@types/react@18.3.11)(immer@10.1.1)(react@18.3.1)
transitivePeerDependencies:
- '@types/react'
- immer
@@ -9145,12 +9174,12 @@ snapshots:
optionalDependencies:
react: 18.3.1
zustand@4.5.2(@types/react@18.3.11)(immer@9.0.21)(react@18.3.1):
zustand@4.5.2(@types/react@18.3.11)(immer@10.1.1)(react@18.3.1):
dependencies:
use-sync-external-store: 1.2.0(react@18.3.1)
optionalDependencies:
'@types/react': 18.3.11
immer: 9.0.21
immer: 10.1.1
react: 18.3.1
zwitch@2.0.4: {}