-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
next solid-three
#12
base: main
Are you sure you want to change the base?
next solid-three
#12
Commits on Jun 14, 2023
-
Switched from universal renderer to context and T proxy
This commit discards Nikhil Saraf's older architecture based on the SolidJS universal renderer, in favor of his newer approach that looks more like Threlte: https://github.com/nksaraf/react-three-fiber/blob/chess-solid-three/solid-example/src/components/ModernPiece.tsx This approach uses context to maintain the scene graph, thus avoiding the need for the universal renderer, which adds build-time complexity and a layer (or two) of abstraction. It also uses a "T" proxy object to instantiate the three.js objects and add them to the scene appropriately. Issues: The example seems to leave the canvas at some default size, rather than filling the viewport. This approach still has a dependency on "scheduler", an NPM package apparently created as a reusable React internal package. We might consider replacing that.
Configuration menu - View commit details
-
Copy full SHA for 2ebd36f - Browse repository at this point
Copy the full SHA 2ebd36fView commit details
Commits on Jul 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d21e331 - Browse repository at this point
Copy the full SHA d21e331View commit details -
(fix) comment out the resetting of raycasters
unclear why this is being done in the first place.
Configuration menu - View commit details
-
Copy full SHA for b39ca50 - Browse repository at this point
Copy the full SHA b39ca50View commit details -
(fix) extend state.events with events(store) instead of overwriting
in core/events.ts the raycasting was checking for state.events.enabled, but this was being overwritten with events().
Configuration menu - View commit details
-
Copy full SHA for 52a0c9f - Browse repository at this point
Copy the full SHA 52a0c9fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 408f92e - Browse repository at this point
Copy the full SHA 408f92eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0635783 - Browse repository at this point
Copy the full SHA 0635783View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb43d12 - Browse repository at this point
Copy the full SHA bb43d12View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5286bc6 - Browse repository at this point
Copy the full SHA 5286bc6View commit details -
refactor Subscription.ref as Callback instead of MutableRefObject<Cal…
…lback> remove artefact from original useRef
Configuration menu - View commit details
-
Copy full SHA for 97f08e0 - Browse repository at this point
Copy the full SHA 97f08e0View commit details -
refactor store.internal.lastEvent as DomEvent | null instead of Mutab…
…leRefObject<DomEvent | null> remove artefact from original useRef
Configuration menu - View commit details
-
Copy full SHA for b7eb31c - Browse repository at this point
Copy the full SHA b7eb31cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e35ec9a - Browse repository at this point
Copy the full SHA e35ec9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9638500 - Browse repository at this point
Copy the full SHA 9638500View commit details -
Configuration menu - View commit details
-
Copy full SHA for 627b044 - Browse repository at this point
Copy the full SHA 627b044View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1ec34a - Browse repository at this point
Copy the full SHA c1ec34aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a128701 - Browse repository at this point
Copy the full SHA a128701View commit details -
Configuration menu - View commit details
-
Copy full SHA for e56cb37 - Browse repository at this point
Copy the full SHA e56cb37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b02d6e - Browse repository at this point
Copy the full SHA 5b02d6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 88c861d - Browse repository at this point
Copy the full SHA 88c861dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8005d0f - Browse repository at this point
Copy the full SHA 8005d0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e951c8 - Browse repository at this point
Copy the full SHA 3e951c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4695314 - Browse repository at this point
Copy the full SHA 4695314View commit details
Commits on Jul 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 465b32d - Browse repository at this point
Copy the full SHA 465b32dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8bc371 - Browse repository at this point
Copy the full SHA f8bc371View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ac7857 - Browse repository at this point
Copy the full SHA 5ac7857View commit details -
Configuration menu - View commit details
-
Copy full SHA for e603e86 - Browse repository at this point
Copy the full SHA e603e86View commit details -
Configuration menu - View commit details
-
Copy full SHA for b94981e - Browse repository at this point
Copy the full SHA b94981eView commit details -
Configuration menu - View commit details
-
Copy full SHA for bef8dc0 - Browse repository at this point
Copy the full SHA bef8dc0View commit details -
add get()-back to get back typings for rootState
circular dependency was causing type-errors
Configuration menu - View commit details
-
Copy full SHA for 5854874 - Browse repository at this point
Copy the full SHA 5854874View commit details -
(fix)
RangeError: Maximum Call Stack Size Exceeded
-bugAn endless effect was created by calling `props.onCreated` inside a useIsomorphicLayoutEffect. In the original r3f-code it is an IsomorphicLayoutEffect with empty dependency-array, but using onMount did not render any image.
Configuration menu - View commit details
-
Copy full SHA for c190f3c - Browse repository at this point
Copy the full SHA c190f3cView commit details -
Remove useIsomorphicLayoutEffect in Provider
I believe we can actually just remove the effect all together, since it originally in r3f never wanted to be re-run anyway.
Configuration menu - View commit details
-
Copy full SHA for 9118b9f - Browse repository at this point
Copy the full SHA 9118b9fView commit details -
refactor src/index to src/renderer.ts
`core/renderer` was containing code from the deleted `core/reconcile.ts` and a lot of unused code that we deleted in an earlier commit. The code responsible for rendering the THREE-scene was before this commit located in `solid/index.ts`. This commit - moves the types to three-types, - the rendering-code to `solid/renderer.ts`, - the empty `core/renderer.ts` is deleted and - `solid/index.ts` is now only responsible for exporting.
Configuration menu - View commit details
-
Copy full SHA for e0c058d - Browse repository at this point
Copy the full SHA e0c058dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ea1f33f - Browse repository at this point
Copy the full SHA ea1f33fView commit details -
Configuration menu - View commit details
-
Copy full SHA for c5686e4 - Browse repository at this point
Copy the full SHA c5686e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for afe1ddd - Browse repository at this point
Copy the full SHA afe1dddView commit details -
(fix) rollback updated types Instance and InstanceProps
I had updated `Instance` and `InstanceProps` in commit e0c058d when refactoring with the types of r3f v9 but they substantially changed the typings of Instance.
Configuration menu - View commit details
-
Copy full SHA for d6adc65 - Browse repository at this point
Copy the full SHA d6adc65View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca2f1fc - Browse repository at this point
Copy the full SHA ca2f1fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 195d567 - Browse repository at this point
Copy the full SHA 195d567View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2da6da7 - Browse repository at this point
Copy the full SHA 2da6da7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b275b6 - Browse repository at this point
Copy the full SHA 1b275b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a6409f7 - Browse repository at this point
Copy the full SHA a6409f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7bb666a - Browse repository at this point
Copy the full SHA 7bb666aView commit details -
Configuration menu - View commit details
-
Copy full SHA for feb8ccf - Browse repository at this point
Copy the full SHA feb8ccfView commit details -
.prettierrc before commit was containing the following line "plugins": ["prettier-plugin-tailwindcss"] this was causing prettier to not work when the plugin was not present, causing formatting errors throughout the code. I noticed we were using a different .prettierrc then r3f, this would cause unnecessary differences between the two codebases. To unify the codestyle of both, I copy+pasted r3f's .prettierrc and ran `prettier --write ./src` from root
Configuration menu - View commit details
-
Copy full SHA for e06a5b8 - Browse repository at this point
Copy the full SHA e06a5b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a8ce78 - Browse repository at this point
Copy the full SHA 0a8ce78View commit details -
replace our custom typing of the three-jsx with r3f's typing
Our branch had custom typing of the jsx-nodes, but since then r3f implemented their own version of it, slightly more streamlined. To unify the codebases I replaced our typing with r3f's.
Configuration menu - View commit details
-
Copy full SHA for 64a9b62 - Browse repository at this point
Copy the full SHA 64a9b62View commit details -
remove applyProps from
core/utils
in favor ofsolid/renderer
Before commit there were two applyProps-implementations, one custom made and one from the original r3f-file. This commit adjusts the custom applyProps function by removing the call to `useThree` and replacing it with `getRootState()`. This way that function can also in the code before the Provider and we can remove r3f's implementation.
Configuration menu - View commit details
-
Copy full SHA for feb7727 - Browse repository at this point
Copy the full SHA feb7727View commit details -
(cleanup) renamed Klass to TSource and defaultProxy to T
and re-written and moved the jsdoc comment for T
Configuration menu - View commit details
-
Copy full SHA for 28e5b91 - Browse repository at this point
Copy the full SHA 28e5b91View commit details -
Configuration menu - View commit details
-
Copy full SHA for abb2239 - Browse repository at this point
Copy the full SHA abb2239View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4164a25 - Browse repository at this point
Copy the full SHA 4164a25View commit details -
re-write
useHelper
withAccessor
instead ofcreateRef
and remove `createRef` (I don't really know what useHelper is supposed to be doing tbh)
Configuration menu - View commit details
-
Copy full SHA for a61ccc4 - Browse repository at this point
Copy the full SHA a61ccc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a41df0 - Browse repository at this point
Copy the full SHA 8a41df0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ef64a4 - Browse repository at this point
Copy the full SHA 0ef64a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fbe8b0 - Browse repository at this point
Copy the full SHA 9fbe8b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed684bf - Browse repository at this point
Copy the full SHA ed684bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f4c30e - Browse repository at this point
Copy the full SHA 2f4c30eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f7aa65 - Browse repository at this point
Copy the full SHA 1f7aa65View commit details -
rename
core/components
tocore/proxy
a bit of a subjective commit, but imo it reflects better the content and is a better parallel with r3f's `core/reconciler` what this file a replacement is off.
Configuration menu - View commit details
-
Copy full SHA for 75aadb5 - Browse repository at this point
Copy the full SHA 75aadb5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c936cd2 - Browse repository at this point
Copy the full SHA c936cd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50209e7 - Browse repository at this point
Copy the full SHA 50209e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc7b3f5 - Browse repository at this point
Copy the full SHA fc7b3f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5733199 - Browse repository at this point
Copy the full SHA 5733199View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b980a3 - Browse repository at this point
Copy the full SHA 6b980a3View commit details -
Instead of `createRenderEffect(() => applyProps(instanceProps))` we now do `createRenderEffect(mapArray(() => Object.keys(instanceProps), ...)`. This way we don't have to loop and re-create effects every single time a prop changes. We also check if a prop has a getter or is a function. If they aren't we only set the property, otherwise we wrap it in an effect.
Configuration menu - View commit details
-
Copy full SHA for d2455e9 - Browse repository at this point
Copy the full SHA d2455e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96f040d - Browse repository at this point
Copy the full SHA 96f040dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 719d593 - Browse repository at this point
Copy the full SHA 719d593View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e87f48 - Browse repository at this point
Copy the full SHA 8e87f48View commit details
Commits on Jul 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 42ed46a - Browse repository at this point
Copy the full SHA 42ed46aView commit details -
(cleanup) remove unused
const store
and tidy upuse full names and use similar names as r3f remove DEBUG-logs
Configuration menu - View commit details
-
Copy full SHA for da80462 - Browse repository at this point
Copy the full SHA da80462View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90eb26e - Browse repository at this point
Copy the full SHA 90eb26eView commit details -
Configuration menu - View commit details
-
Copy full SHA for bfb542e - Browse repository at this point
Copy the full SHA bfb542eView commit details -
(fix) automatic resizing of canvas
r3f's code had a `store.subscribe(...)` in which they did a diff to check if they should update the camera. With solid we can just place them into a createEffect and let reactivity figure it out. Creates a flickering when resizing, idk if this is a regression or not.
Configuration menu - View commit details
-
Copy full SHA for 8574968 - Browse repository at this point
Copy the full SHA 8574968View commit details -
Configuration menu - View commit details
-
Copy full SHA for 88d765f - Browse repository at this point
Copy the full SHA 88d765fView commit details -
Set cache to result instead of callback. In the original code the cache was set to the data and then directly afterwards to the async callback. onProgress is passed through.
Configuration menu - View commit details
-
Copy full SHA for 9a6291c - Browse repository at this point
Copy the full SHA 9a6291cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e0d9ec - Browse repository at this point
Copy the full SHA 7e0d9ecView commit details -
(refactor) our code to look more like v9 branch
I copied the contents of r3f's `packages/fiber/src` and used the vscode-extension `Diff Folders` to compare the two directories and made changes so that these two directories look more alike. Maybe this could be a way forward: have a r3f-directory which contains a clone of `packages/fiber/src` and we manually update them.
Configuration menu - View commit details
-
Copy full SHA for 2435313 - Browse repository at this point
Copy the full SHA 2435313View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae0c42a - Browse repository at this point
Copy the full SHA ae0c42aView commit details
Commits on Jul 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7e31608 - Browse repository at this point
Copy the full SHA 7e31608View commit details -
Update Instance-type to r3f's current v9 branch
r3f refactored their internal typings of Instance during pmndrs/react-three-fiber#2465 - before: Instance represented a THREE-object with additional parameters: __r3f: LocalState, children, remove, add and raycast - now: Instance: LocalState with additional parameter: object, props and children - object: is the THREE-object with additional parameter __r3f ( = a circular reference back to this Instance) - props contains the props of the component, without children and ref - children contain all the children of the component (before children only contained the attached children)
Configuration menu - View commit details
-
Copy full SHA for 631dd4c - Browse repository at this point
Copy the full SHA 631dd4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d7293a - Browse repository at this point
Copy the full SHA 2d7293aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b509093 - Browse repository at this point
Copy the full SHA b509093View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd27d13 - Browse repository at this point
Copy the full SHA cd27d13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8451164 - Browse repository at this point
Copy the full SHA 8451164View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9794c76 - Browse repository at this point
Copy the full SHA 9794c76View commit details -
(fix) set .needsUpdate to true if necessary
if key is included in NEEDS_UPDATE and it changed from falsey to truthy or vice versa. NEEDS_UPDATE is possibly incomplete.
Configuration menu - View commit details
-
Copy full SHA for 43f3b40 - Browse repository at this point
Copy the full SHA 43f3b40View commit details -
Configuration menu - View commit details
-
Copy full SHA for a72587f - Browse repository at this point
Copy the full SHA a72587fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bc91ef - Browse repository at this point
Copy the full SHA 0bc91efView commit details -
Configuration menu - View commit details
-
Copy full SHA for acf8a4e - Browse repository at this point
Copy the full SHA acf8a4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fded89 - Browse repository at this point
Copy the full SHA 3fded89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2632891 - Browse repository at this point
Copy the full SHA 2632891View commit details -
(refactor) update repo to pnpm workspace
repo is now a pnpm workspace - packages: `@solid-three/fiber` and `@solid-three/drei` (just an empty folder for now) - apps: `@solid-three/playground`, we could add other apps later one if we want to the react-three-fiber directory is now moved to `references` and another git-submodule has been added there: `@react-three/drei`
Configuration menu - View commit details
-
Copy full SHA for 318ed9a - Browse repository at this point
Copy the full SHA 318ed9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d3435b8 - Browse repository at this point
Copy the full SHA d3435b8View commit details
Commits on Jul 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 83387e6 - Browse repository at this point
Copy the full SHA 83387e6View commit details -
(playground) update Tests and added Noop
Noop displays a flaw in our current design: ``` const Noop = () => { const box = <T.Mesh>...</T.Mesh> return <></> } ``` will add box to its parent context even if it's not returning the jsx.
Configuration menu - View commit details
-
Copy full SHA for 023908c - Browse repository at this point
Copy the full SHA 023908cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c034bd7 - Browse repository at this point
Copy the full SHA c034bd7View commit details -
a utility function to wrap children in context without having to use JSX. see solidjs-community/solid-primitives#464
Configuration menu - View commit details
-
Copy full SHA for ba231d3 - Browse repository at this point
Copy the full SHA ba231d3View commit details -
fiber: create tree with
props.children
instead ofgetParent()
-con……text Our previous architecture had a design flaw as described 023908c ``` const Noop = () => { const box = <T.Mesh>...</T.Mesh> return <></> } ``` would add box to its parent, with or without returning the actual jsx. This was due to the fact that parent-child relationships were established from the child to the parent with context through the `getParent()`-hook. This commit changes the mechanism from child-to-parent to parent-to-child: By walking the children from the parent and then attaching/connecting these childs, with a function called `parentChildren`. This function is used when initializing scene too, the props.children are attached to the THREE.Scene with `parentChildren(() => instance, props)` Since this would mean that props
Configuration menu - View commit details
-
Copy full SHA for b6cbde4 - Browse repository at this point
Copy the full SHA b6cbde4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55f5025 - Browse repository at this point
Copy the full SHA 55f5025View commit details -
fiber: returntype of
<T.Mesh/>
is nowAccessor<THREE.Mesh>
Before `<T.Mesh/>` return `Accessor<Instance<THREE.Mesh>>` but I think for userland it would be handier if it returned `Accessor<THREE.Mesh>` instead. That way you could do ``` const mesh = <T.Mesh /> useFrame(() => mesh().rotation.x += 0.1) return mesh ``` if you don't mind the type-error of `mesh()`
Configuration menu - View commit details
-
Copy full SHA for d63be7e - Browse repository at this point
Copy the full SHA d63be7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5db765c - Browse repository at this point
Copy the full SHA 5db765cView commit details -
remove
reference/drei
and add new sub-module inpackages/drei
this sub-module is a reference to `https://github.com/bigmistqke/drei`. Once there is some progress in drei-port we could move it to `solid-community` too.
Configuration menu - View commit details
-
Copy full SHA for 21c0e85 - Browse repository at this point
Copy the full SHA 21c0e85View commit details -
utility-type-imports were causing issues when used in another directory inside the monorepo
Configuration menu - View commit details
-
Copy full SHA for 91f8388 - Browse repository at this point
Copy the full SHA 91f8388View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70a5db1 - Browse repository at this point
Copy the full SHA 70a5db1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dc1c02 - Browse repository at this point
Copy the full SHA 8dc1c02View commit details -
Configuration menu - View commit details
-
Copy full SHA for 133333f - Browse repository at this point
Copy the full SHA 133333fView commit details -
Configuration menu - View commit details
-
Copy full SHA for cb0e27f - Browse repository at this point
Copy the full SHA cb0e27fView commit details
Commits on Aug 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6eb0be0 - Browse repository at this point
Copy the full SHA 6eb0be0View commit details -
Configuration menu - View commit details
-
Copy full SHA for fff24b5 - Browse repository at this point
Copy the full SHA fff24b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for d2743c8 - Browse repository at this point
Copy the full SHA d2743c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f2c5c5 - Browse repository at this point
Copy the full SHA 7f2c5c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for db5e2aa - Browse repository at this point
Copy the full SHA db5e2aaView commit details -
fiber: pass <Provider/> straight to children
the memo was causing children to resolve each time it changed.
Configuration menu - View commit details
-
Copy full SHA for d20186a - Browse repository at this point
Copy the full SHA d20186aView commit details -
fiber:
SolidThree
namespace, removeCatalogue
In favor for `SolidThree` namespace. r3f extends the global namespace of JSX.IntrinsicElements. In `solid-three` we do not extend the JSX-namespace, but `SolidThree` instead.
Configuration menu - View commit details
-
Copy full SHA for e36e435 - Browse repository at this point
Copy the full SHA e36e435View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ba0820 - Browse repository at this point
Copy the full SHA 4ba0820View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bcdd7e - Browse repository at this point
Copy the full SHA 1bcdd7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 41a7684 - Browse repository at this point
Copy the full SHA 41a7684View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e28948 - Browse repository at this point
Copy the full SHA 3e28948View commit details -
Configuration menu - View commit details
-
Copy full SHA for a93ba8e - Browse repository at this point
Copy the full SHA a93ba8eView commit details
Commits on Aug 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 43a1395 - Browse repository at this point
Copy the full SHA 43a1395View commit details -
Configuration menu - View commit details
-
Copy full SHA for e98207a - Browse repository at this point
Copy the full SHA e98207aView commit details -
Configuration menu - View commit details
-
Copy full SHA for eca5618 - Browse repository at this point
Copy the full SHA eca5618View commit details -
fiber: pass
context.Provider
directly intoparentChildren
instead of using `withContext`
Configuration menu - View commit details
-
Copy full SHA for b41519c - Browse repository at this point
Copy the full SHA b41519cView commit details -
fiber: delay
useFrame
with 1 framethis way 99% of all refs will be resolved by then.
Configuration menu - View commit details
-
Copy full SHA for 3e88fd8 - Browse repository at this point
Copy the full SHA 3e88fd8View commit details
Commits on Aug 13, 2023
-
fiber:
T.Suspense
andcreateThreeResource
Inconsistencies between `Suspense` implementation of `react` and `solid` caused `Suspense` to behave differently between `r3f` and `solid-three`: - in `r3f` a resource throws a promise, this way it is able to defer creation of three-elements until all resources were resolved - in `solid-three` only `createEffect` and `onMount` are deferred by suspense, and all elements are eagerly created Besides that `Suspense` was not behaving as expected, where each resource needed to be dealt with on a component-level too. This commit fixes `Suspense` and creates a custom `T.Suspense` and `createThreeResource`. The jsx-graph is walked eagerly, and resource-accesses trigger suspenses. This way waterfalls are prevented. When using `T.Suspense` and `createThreeResource` creation of three-elements are deferred until all resources are resolved. `createLoader`, and hereby all of `drei`'s loaders too, use `createThreeResource`
Configuration menu - View commit details
-
Copy full SHA for 3c4aac3 - Browse repository at this point
Copy the full SHA 3c4aac3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5517cec - Browse repository at this point
Copy the full SHA 5517cecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 546a309 - Browse repository at this point
Copy the full SHA 546a309View commit details
Commits on Aug 16, 2023
-
fiber: update
inject
in Portal to be more in line with v8Before this commit we were only setting a handful of parameters in inject and letting the rest be set by `rootState`. This was causing bugs, p.ex in `GizmoHelperStories` from `drei`, where the camera of the `Portal` was being set by the `rootState`. We were missing a couple of loc to filter out the correct keys to inject. There is for sure a more performant, more solid-like way to merge the `rootState` and the `portalState`, which I will explore in a later commit.
Configuration menu - View commit details
-
Copy full SHA for 5339214 - Browse repository at this point
Copy the full SHA 5339214View commit details -
fiber:
AllConstructorParameters
-typehelper to include overloaded Co……nstructorParameters `ConstructorParameters` does not include overloaded constructors see microsoft/TypeScript#37079 and pmndrs/react-three-fiber#581 `r3f`s solution is to special-case Color in v8 and solve it later for v9, because they faced some problems with the solution/hack described in the typescript github-issue The hack didn't seem to cause the same issues with us, so I implemented that instead. It's a manual union of overloaded methods, going up to 7 overloads, which is probably a bit of overkill.
Configuration menu - View commit details
-
Copy full SHA for 526497a - Browse repository at this point
Copy the full SHA 526497aView commit details -
fiber: seperate
IntrinsicElements
andIntrinsicComponents
Before commit we mirrored `r3f` `JSX.IntrinsicElements` with `SolidThree.IntrinsicElements` `IntrinsicElements` is an interface with the props as values. An earlier commit added `T.Suspense` and `T.Primitive` to the interface with `Primitive: Parameters<typeof Primitive<T>>[0]` but this didn't work nicely with the generic. To solve this I added `IntrinsicComponents` to the `SolidThree`-namespace, `Primitive: typeof Primitive` and then in `SolidThreeElements = { ...SolidThree.IntrinsicElements } & { ... SolidThree.IntrinsicComponents
Configuration menu - View commit details
-
Copy full SHA for 51fa152 - Browse repository at this point
Copy the full SHA 51fa152View commit details -
fiber: use
onMount
instead ofuseEffect
inuseFrame
the subscription-function should only be called once, after suspension is resolved: `onMount` prevents accidental re-subscriptions.
Configuration menu - View commit details
-
Copy full SHA for 56991db - Browse repository at this point
Copy the full SHA 56991dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for f500d14 - Browse repository at this point
Copy the full SHA f500d14View commit details -
Configuration menu - View commit details
-
Copy full SHA for d010084 - Browse repository at this point
Copy the full SHA d010084View commit details -
fiber: rename
constructors
andcomponents
tointrinsicElements
……and `intrinsicComponents`
Configuration menu - View commit details
-
Copy full SHA for b9ae938 - Browse repository at this point
Copy the full SHA b9ae938View commit details
Commits on Aug 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for eb017ee - Browse repository at this point
Copy the full SHA eb017eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4598af7 - Browse repository at this point
Copy the full SHA 4598af7View commit details -
Introduce an initial `inspect`-run in which we resolve children and props, but do not yet create the three-element, attach/connect the children or apply the props. This way any resource that is present in the new tree gets accessed and their respective `Suspense`s are activated. The children are resolved depth-first and are then created from the leafs back to the root, until they are finally added to the rest of the scene. see #12 (comment) for a more detailed description of the timeline of the components.
Configuration menu - View commit details
-
Copy full SHA for aa6ac70 - Browse repository at this point
Copy the full SHA aa6ac70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 44a51a6 - Browse repository at this point
Copy the full SHA 44a51a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 408be4f - Browse repository at this point
Copy the full SHA 408be4fView commit details -
A regression happened with extending the SolidThree-namespace where it didn't recognize the newly added T-components. This was caused bc the type of `ThreeElements` was resolved when the namespace is empty.
Configuration menu - View commit details
-
Copy full SHA for a3c208f - Browse repository at this point
Copy the full SHA a3c208fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 581c2e8 - Browse repository at this point
Copy the full SHA 581c2e8View commit details
Commits on Aug 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 17ec25c - Browse repository at this point
Copy the full SHA 17ec25cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0826bd5 - Browse repository at this point
Copy the full SHA 0826bd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 46fb498 - Browse repository at this point
Copy the full SHA 46fb498View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2db16aa - Browse repository at this point
Copy the full SHA 2db16aaView commit details -
fiber:
getObject()?.dispose?.()
was creating issues with drei's `<OrbitControls/>`
Configuration menu - View commit details
-
Copy full SHA for 4bbd1ea - Browse repository at this point
Copy the full SHA 4bbd1eaView commit details
Commits on Aug 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 73e650a - Browse repository at this point
Copy the full SHA 73e650aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f3374cf - Browse repository at this point
Copy the full SHA f3374cfView commit details
Commits on Aug 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 53f1bba - Browse repository at this point
Copy the full SHA 53f1bbaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 918b655 - Browse repository at this point
Copy the full SHA 918b655View commit details -
fiber: add
get
back to RootStatea bit of a silly property, since with solid-store we can just access the store directly, but handy when porting.
Configuration menu - View commit details
-
Copy full SHA for 9060ea1 - Browse repository at this point
Copy the full SHA 9060ea1View commit details -
fiber: preserve reactivity in props passed to configure
Use solid's utility functions `mergeProps` and `splitProps` to compose arguments, instead of de-structuring and spreading. This way reactivity is preserved.
Configuration menu - View commit details
-
Copy full SHA for 5a97dac - Browse repository at this point
Copy the full SHA 5a97dacView commit details -
fiber: pass
Accessor<JSX.Element>
to root.render instead of `{ chil……dren: JSX.Element }`
Configuration menu - View commit details
-
Copy full SHA for c5a6dfe - Browse repository at this point
Copy the full SHA c5a6dfeView commit details -
fiber: eagerly create Portal instead of waiting for mount.
still remnant of experiment with suspending creation in case of Suspense
Configuration menu - View commit details
-
Copy full SHA for 1ee349d - Browse repository at this point
Copy the full SHA 1ee349dView commit details
Commits on Aug 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for eb7df9a - Browse repository at this point
Copy the full SHA eb7df9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d3271d - Browse repository at this point
Copy the full SHA 4d3271dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e8d951 - Browse repository at this point
Copy the full SHA 4e8d951View commit details -
workspace: add
pnpm:devPreinstall
bc npm lifecycles are the worst.
Configuration menu - View commit details
-
Copy full SHA for cece2b4 - Browse repository at this point
Copy the full SHA cece2b4View commit details -
workspace: add
build:packages
andinstall:packages
and add complex git-command copy+pasted from https://stackoverflow.com/a/62192503/4366929 otherwise submodule's head would be detached after `git submodule update --remote --rebase`
Configuration menu - View commit details
-
Copy full SHA for 785d163 - Browse repository at this point
Copy the full SHA 785d163View commit details -
Configuration menu - View commit details
-
Copy full SHA for c2ea975 - Browse repository at this point
Copy the full SHA c2ea975View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e2f607 - Browse repository at this point
Copy the full SHA 6e2f607View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec73d4e - Browse repository at this point
Copy the full SHA ec73d4eView commit details -
workspace: rename
pnpm:devPreinstall
toprepare
devPreinstall still created a bug where `apps/playground` would error bc it wasn't able to read the package.json of drei (although the submodule was already cloned)
Configuration menu - View commit details
-
Copy full SHA for 8de30a3 - Browse repository at this point
Copy the full SHA 8de30a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe73a7b - Browse repository at this point
Copy the full SHA fe73a7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7115094 - Browse repository at this point
Copy the full SHA 7115094View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba5d6d2 - Browse repository at this point
Copy the full SHA ba5d6d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a9c6c22 - Browse repository at this point
Copy the full SHA a9c6c22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10b64cd - Browse repository at this point
Copy the full SHA 10b64cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for b5316b7 - Browse repository at this point
Copy the full SHA b5316b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2211e4c - Browse repository at this point
Copy the full SHA 2211e4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for dffbb32 - Browse repository at this point
Copy the full SHA dffbb32View commit details