feat: added object duplication and group duplication in r3f for task3
This commit is contained in:
parent
8a9d1e83e6
commit
1e6a04b641
@ -17,7 +17,7 @@ The objective was to create a simple 3D scene with two objects in a parent-child
|
|||||||
|
|
||||||
## Thob Page Builder
|
## Thob Page Builder
|
||||||
- Possible: Yes
|
- Possible: Yes
|
||||||
- Notes: Implemented by putting the Earth mesh inside the Sun mesh (parent-child). Changing Sun position/scale also affects Earth as expected (Earth follows position and scale inheritance). However, when Earth position is changed directly, Earth shape appears to distort/stretch as it moves farther from Sun.
|
- Notes: Implemented by putting the Earth mesh inside the Sun mesh (parent-child). Changing Sun position/scale also affects Earth as expected (Earth follows position and scale inheritance). However, when Earth position is changed directly, Earth shape appears to distort/stretch as it moves farther from Sun but when POI controls are added and we move around a bit we can notice that the earth is correct in size and shape it is just appering distorted/stretched from certain positions/angels.
|
||||||
- Builder steps: Create Sun mesh -> add Earth mesh as child of Sun -> test parent transform inheritance by changing Sun position/scale -> test child local transform by changing Earth position.
|
- Builder steps: Create Sun mesh -> add Earth mesh as child of Sun -> test parent transform inheritance by changing Sun position/scale -> test child local transform by changing Earth position.
|
||||||
- Complexity: Easy
|
- Complexity: Easy
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ The objective was to create a simple 3D scene with two objects in a parent-child
|
|||||||
## Workaround
|
## Workaround
|
||||||
- Is there a workaround?
|
- Is there a workaround?
|
||||||
- NO
|
- NO
|
||||||
- No, I tried a lot of different things, like many groupa and flex inside the parent mesh and different ways to place the components.
|
- No, I tried a lot of different things, like grouping and wraping in flex inside the parent mesh and different ways to place the components.
|
||||||
|
|
||||||
## Suggested Improvement
|
## Suggested Improvement
|
||||||
- What should improve in Thob?
|
- What should improve in Thob?
|
||||||
|
|||||||
@ -14,11 +14,6 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
canvas {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|||||||
@ -1,37 +1,95 @@
|
|||||||
# Task: [Feature Name]
|
# Task: Duplicate Object / Duplicate Group
|
||||||
|
|
||||||
## Objective
|
## Objective
|
||||||
What is the feature trying to do?
|
Duplicate an object and, if possible, duplicate a grouped structure.
|
||||||
|
|
||||||
|
## Test File Split
|
||||||
|
- Vanilla object duplication test: `main.js`
|
||||||
|
- Vanilla group duplication test: `group.js`
|
||||||
|
- R3F object duplication test: `src/App.jsx`
|
||||||
|
- R3F group duplication test: `src/Group.jsx`
|
||||||
|
- Run object test: default route
|
||||||
|
- Command (Vanilla object): `npm run dev:object` or `yarn dev:object`
|
||||||
|
- Command (Vanilla group): `npm run dev:group` or `yarn dev:group`
|
||||||
|
|
||||||
## Vanilla three.js
|
## Vanilla three.js
|
||||||
-Possible: Yes / Partial / No
|
- Possible: Yes
|
||||||
- Notes:
|
- Notes:
|
||||||
|
- Object duplication is in `main.js` using mesh clone.
|
||||||
|
- Group duplication is in `group.js` using `THREE.Group()` and group clone.
|
||||||
|
- Transforms preserved: Yes, duplicate keeps copied transform values and can be moved independently after duplication.
|
||||||
|
- Structure preserved: Yes, child hierarchy is preserved when duplicating a group.
|
||||||
|
- Linked or independent: Mostly independent transforms, but geometry and material are shared by default unless explicitly cloned.
|
||||||
|
- UX clean: Yes for developers, but requires code understanding.
|
||||||
- Key concepts:
|
- Key concepts:
|
||||||
-Complexity: Easy / Medium / Hard
|
- Object3D clone behavior
|
||||||
|
- Shared vs cloned geometry and material
|
||||||
|
- Complexity: Easy
|
||||||
|
|
||||||
## R3F
|
## R3F
|
||||||
-Possible: Yes / Partial / No
|
- Possible: Yes
|
||||||
- Notes:
|
- Notes:
|
||||||
|
- Object duplication is in `src/App.jsx` using repeated meshes with shared geometry/material.
|
||||||
|
- Group duplication is in `src/Group.jsx` by rendering the grouped component twice.
|
||||||
|
- Transforms preserved: Yes, each instance has its own position, rotation, and scale.
|
||||||
|
- Structure preserved: Yes, component tree/group structure is preserved.
|
||||||
|
- Linked or independent: Instance transforms are independent; geometry/material may be shared or isolated depending on how props/instances are created.
|
||||||
|
- UX clean: Yes, declarative and easier to scale.
|
||||||
- What R3F abstracted:
|
- What R3F abstracted:
|
||||||
-Complexity: Easy / Medium / Hard
|
- Imperative clone calls become declarative repeated components/instances.
|
||||||
|
- Complexity: Easy
|
||||||
|
|
||||||
## Thob Page Builder
|
## Thob Page Builder
|
||||||
-Possible: Yes / Partial / No
|
- Possible: Yes
|
||||||
- Notes:
|
- Notes:
|
||||||
|
- There is a shortcut to duplicate objects.
|
||||||
|
- Observed behavior: duplicate creates a completely different object that cannot be linked to the original, unlike vanilla and R3F patterns where sharing/linking behavior can be controlled.
|
||||||
|
- Duplicate group behavior: Same as single object duplication, a complete copy is made with no linking.
|
||||||
|
- Transforms preserved: Yes.
|
||||||
|
- Structure preserved: Yes, as copy- paste duplication.
|
||||||
|
- Linked or independent: Independent only, with no linking behavior available.
|
||||||
|
- UX clean: Mixed. Shortcut is quick, but behavior is confusing because linked duplication is not possible.
|
||||||
- Builder steps:
|
- Builder steps:
|
||||||
-Complexity: Easy / Medium / Hard
|
- Create an object
|
||||||
|
- Use duplicate shortcut
|
||||||
|
- Duplicate a grouped structure and verify it is a full independent copy
|
||||||
|
- Complexity: Medium
|
||||||
|
|
||||||
|
## What to Observe
|
||||||
|
- Are transforms preserved?
|
||||||
|
- Vanilla: Yes
|
||||||
|
- R3F: Yes
|
||||||
|
- Thob: Yes
|
||||||
|
- Does duplication preserve structure?
|
||||||
|
- Vanilla: Yes
|
||||||
|
- R3F: Yes
|
||||||
|
- Thob: Yes, as full copy- paste duplication
|
||||||
|
- Does the duplicate remain linked or independent?
|
||||||
|
- Vanilla: Transform- independent, data can be shared by default unless cloned
|
||||||
|
- R3F: Transform- independent, sharing depends on implementation
|
||||||
|
- Thob: Independent only, no linking behavior
|
||||||
|
- Is the UX clean?
|
||||||
|
- Vanilla: Technical but predictable
|
||||||
|
- R3F: Clean and scalable
|
||||||
|
- Thob: Fast shortcut, but ambiguous result for duplication semantics
|
||||||
|
|
||||||
## Comparison Summary
|
## Comparison Summary
|
||||||
-Possible in all 3? Yes / Partial / No
|
- Possible in all 3? Yes
|
||||||
- Main differences:
|
- Main differences:
|
||||||
|
- Vanilla and R3F give clear control over sharing vs independence.
|
||||||
|
- Thob duplicate shortcut creates separate objects and does not support linked behavior.
|
||||||
- Where Thob is better:
|
- Where Thob is better:
|
||||||
|
- Fast editor action for simple duplication
|
||||||
- Where Thob is weaker:
|
- Where Thob is weaker:
|
||||||
|
- No linked duplication model
|
||||||
|
- No linked group duplication model
|
||||||
- What feels awkward or unclear:
|
- What feels awkward or unclear:
|
||||||
|
- No option to keep duplicates linked for synchronized edits
|
||||||
|
|
||||||
## Limitation Type (if any)
|
## Limitation Type (if any)
|
||||||
-[ ] Editor UX limitation
|
- [x] Editor UX limitation
|
||||||
- [ ] Runtime limitation
|
- [ ] Runtime limitation
|
||||||
-[ ] Schema / data model limitation
|
- [x] Schema / data model limitation
|
||||||
- [ ] Component limitation
|
- [ ] Component limitation
|
||||||
- [ ] Event system limitation
|
- [ ] Event system limitation
|
||||||
- [ ] Asset pipeline limitation
|
- [ ] Asset pipeline limitation
|
||||||
@ -39,22 +97,25 @@ What is the feature trying to do?
|
|||||||
|
|
||||||
## Workaround
|
## Workaround
|
||||||
- Is there a workaround?
|
- Is there a workaround?
|
||||||
|
- Yes
|
||||||
- If yes, what is it?
|
- If yes, what is it?
|
||||||
|
- Use reusable components/prefabs and instantiate multiple independent copies.
|
||||||
|
- If linked behavior is required, use explicit shared data/component references where supported.
|
||||||
|
|
||||||
## Suggested Improvement
|
## Suggested Improvement
|
||||||
- What should improve in Thob?
|
- What should improve in Thob?
|
||||||
-Is it:
|
- Add explicit duplicate modes: independent duplicate and linked duplicate.
|
||||||
|
- Add reliable deep group duplication with clear hierarchy preview.
|
||||||
|
- it Is:
|
||||||
- editor
|
- editor
|
||||||
-runtime
|
|
||||||
-component
|
|
||||||
-UX
|
|
||||||
- schema/data
|
- schema/data
|
||||||
|
- UX
|
||||||
|
|
||||||
## Difficulty Estimate
|
## Difficulty Estimate
|
||||||
-Easy / Medium / Hard
|
- Medium
|
||||||
|
|
||||||
## Business Value
|
## Business Value
|
||||||
-Low / Medium / High
|
- High
|
||||||
|
|
||||||
## Recommendation
|
## Recommendation
|
||||||
Should Thob support this better? Why?
|
Yes. Thob should support both independent and linked duplication because currently duplication works as copy-paste only, which limits synchronized workflows.
|
||||||
104
Week-1/Task-3/builder/BuilderNotes.md
Normal file
104
Week-1/Task-3/builder/BuilderNotes.md
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
# Builder Notes (Thob) — Task 3: Duplicate Object / Duplicate Group
|
||||||
|
|
||||||
|
## Thob Observations from Task Notes
|
||||||
|
|
||||||
|
- **Possible:** Yes
|
||||||
|
- **Implementation used:** Duplicate shortcut for both single object and grouped structure.
|
||||||
|
- **What worked as expected:**
|
||||||
|
- Duplicating a single object creates a visible copy.
|
||||||
|
- Duplicating a group also creates a full copied hierarchy.
|
||||||
|
- Transforms are preserved at duplication time.
|
||||||
|
- **Key behavior observed:**
|
||||||
|
- Both object duplicate and group duplicate behave as copy-paste.
|
||||||
|
- Duplicates are independent; no linking/reference relationship is maintained with source.
|
||||||
|
- **UX quality:**
|
||||||
|
- Shortcut-based duplication is fast.
|
||||||
|
- Missing duplicate mode (linked vs independent) makes behavior limiting for synchronized edits.
|
||||||
|
- **Builder flow used:**
|
||||||
|
1. Create base object.
|
||||||
|
2. Duplicate object using editor shortcut.
|
||||||
|
3. Create grouped hierarchy.
|
||||||
|
4. Duplicate the group.
|
||||||
|
5. Verify copied transforms/structure and check whether source and duplicate remain linked.
|
||||||
|
- **Complexity:** Medium
|
||||||
|
- **Main limitation signals:** Editor UX + Schema/Data model.
|
||||||
|
- **Workaround status:** Use independent duplicate copies only; no linked duplication path found.
|
||||||
|
|
||||||
|
## Console Warnings/Errors Seen (Deduplicated) and Probable Meaning
|
||||||
|
|
||||||
|
### warn: `Permissions-Policy header unrecognized feature ('browsing-topics')`
|
||||||
|
- **Type:** Browser/header compatibility warning.
|
||||||
|
- **Probable meaning:** Server sends a policy directive unsupported by current browser runtime.
|
||||||
|
- **Impact:** Usually low for duplication behavior; mostly environmental noise.
|
||||||
|
|
||||||
|
### warn: `GetBindingData... method already registered` (many IDs)
|
||||||
|
- **Type:** Duplicate registration warning.
|
||||||
|
- **Probable meaning:** Binding handlers are re-registered on rerender/reconnect without cleanup.
|
||||||
|
- **Impact:** High log noise, duplicate callback execution risk, and possible unstable editor reactions.
|
||||||
|
|
||||||
|
### warn: `resetPOI method already registered`
|
||||||
|
- **Type:** Duplicate command registration.
|
||||||
|
- **Probable meaning:** Camera/POI command pipeline attached multiple times.
|
||||||
|
- **Impact:** One user action may run multiple times, causing state drift.
|
||||||
|
|
||||||
|
### warn: `update-static-component-prop method already registered`
|
||||||
|
- **Type:** Duplicate update-pipeline registration.
|
||||||
|
- **Probable meaning:** Static prop update handlers are mounted repeatedly.
|
||||||
|
- **Impact:** Duplicate writes and inconsistent property panel behavior.
|
||||||
|
|
||||||
|
### warn: `Component changing from uncontrolled to controlled` (Popover / RadioGroup / undefined)
|
||||||
|
- **Type:** React form-state warning.
|
||||||
|
- **Probable meaning:** Controls mount with unstable/undefined value and later switch to controlled mode.
|
||||||
|
- **Impact:** UI flicker, unstable inspector controls, and harder-to-trust edit state.
|
||||||
|
|
||||||
|
### error: `THREE.GLTFLoader: Invalid plugin found: missing name`
|
||||||
|
- **Type:** Asset loader/plugin configuration error.
|
||||||
|
- **Probable meaning:** GLTF plugin object shape is invalid or missing required metadata.
|
||||||
|
- **Impact:** Import pipeline may partially fail and generate secondary rendering issues.
|
||||||
|
|
||||||
|
### warn: `THREE.MaterialLoader: Undefined texture null`
|
||||||
|
- **Type:** Asset/material reference warning.
|
||||||
|
- **Probable meaning:** Material references missing texture slot(s).
|
||||||
|
- **Impact:** Incorrect materials or degraded visual fidelity; usually non-fatal.
|
||||||
|
|
||||||
|
### info/warn: `ReconnectingWebSocket reconnecting/open/syncing/...`
|
||||||
|
- **Type:** Transport/sync lifecycle logs.
|
||||||
|
- **Probable meaning:** Session reconnect and state sync handshakes are occurring.
|
||||||
|
- **Impact:** Usually informational, but repeated reconnects can amplify duplicate registration side effects.
|
||||||
|
|
||||||
|
### error: `Cannot read properties of null (reading 'contentWindow')`
|
||||||
|
- **Type:** Runtime exception.
|
||||||
|
- **Probable meaning:** Message post attempted against iframe/window not mounted or already disposed.
|
||||||
|
- **Impact:** Preview communication can fail and editor state can desynchronize.
|
||||||
|
|
||||||
|
### warn: `Icon component has been deprecated`
|
||||||
|
- **Type:** Deprecation warning.
|
||||||
|
- **Probable meaning:** Legacy UI API still in use.
|
||||||
|
- **Impact:** Low immediate risk; medium future maintenance risk.
|
||||||
|
|
||||||
|
### error: `R3F: Div is not part of the THREE namespace`
|
||||||
|
- **Type:** Critical render-tree composition error.
|
||||||
|
- **Probable meaning:** DOM node rendered in R3F scene tree without proper bridge/extension.
|
||||||
|
- **Impact:** Scene subtree can fail rendering, affecting reliability of duplication validation.
|
||||||
|
|
||||||
|
### error: `THREE.WebGLRenderer: Context Lost`
|
||||||
|
- **Type:** Graphics runtime error.
|
||||||
|
- **Probable meaning:** WebGL context dropped (resource pressure, repeated remounts, browser/GPU reset).
|
||||||
|
- **Impact:** Canvas interruptions and unreliable editor preview behavior.
|
||||||
|
|
||||||
|
### error: `Failed to load resource: 404`
|
||||||
|
- **Type:** Network/resource error.
|
||||||
|
- **Probable meaning:** Asset/resource path missing or stale.
|
||||||
|
- **Impact:** Missing resources can cascade into loader/material warnings.
|
||||||
|
|
||||||
|
### warn/error: `Konva has no node with type ambientLight/meshStandardMaterial/boxGeometry/mesh` and layer width/height warnings
|
||||||
|
- **Type:** Renderer mismatch/runtime warnings.
|
||||||
|
- **Probable meaning:** Non-Konva scene nodes are being interpreted in a Konva path; invalid layer size updates applied.
|
||||||
|
- **Impact:** Rendering fallback behavior and layout/render correctness risk.
|
||||||
|
|
||||||
|
## Overall Read
|
||||||
|
|
||||||
|
- Task objective is functionally reachable in builder: object and group duplication both produce full copies.
|
||||||
|
- Behavior is strictly independent copy-paste; no linked duplicate mode is currently available.
|
||||||
|
- Transform and structure preservation are acceptable at duplicate time, but advanced synchronized editing workflows are not supported.
|
||||||
|
- Console profile indicates substantial runtime/editor noise (duplicate registrations, state-control warnings, renderer/path mismatches), which can reduce confidence in complex scene editing even though basic duplication works.
|
||||||
@ -1,60 +1,70 @@
|
|||||||
# Task: [Feature Name]
|
# Task: Basic Rotation / Motion
|
||||||
|
|
||||||
## Objective
|
## Objective
|
||||||
What is the feature trying to do?
|
Create simple motion on an object (cube), such as constant rotation, and compare implementation across Vanilla three.js, R3F, and thob page builder.
|
||||||
|
|
||||||
## Vanilla three.js
|
## Vanilla three.js
|
||||||
-Possible: Yes / Partial / No
|
- Possible: Yes
|
||||||
-Notes:
|
- Notes: Implemented a simple cube and animated it in the render loop using `renderer.setAnimationLoop(animate)`. Rotation is updated every frame on X and Y axes.
|
||||||
-Key concepts:
|
- Key concepts: Render loop, frame-time based motion, direct `mesh.rotation` updates.
|
||||||
-Complexity: Easy / Medium / Hard
|
- Complexity: Easy
|
||||||
|
|
||||||
## R3F
|
## R3F
|
||||||
-Possible: Yes / Partial / No
|
- Possible: Yes
|
||||||
-Notes:
|
- Notes: Implemented the same rotating cube using `useFrame`, with per-frame rotation updates matching the Vanilla behavior.
|
||||||
-What R3F abstracted:
|
- What R3F abstracted: Scene/render setup and loop integration are simplified with `Canvas` and `useFrame`, reducing boilerplate.
|
||||||
-Complexity: Easy / Medium / Hard
|
- Complexity: Easy
|
||||||
|
|
||||||
## Thob Page Builder
|
## Thob Page Builder
|
||||||
-Possible: Yes / Partial / No
|
- Possible: Partial
|
||||||
-Notes:
|
- Notes: Basic motion can be added through built-in presets, but custom animation logic cannot be authored.
|
||||||
|
- Custom animation is not possible; only the pre-provided animation can be applied.
|
||||||
- Builder steps:
|
- Builder steps:
|
||||||
-Complexity: Easy / Medium / Hard
|
- Add cube/object in scene.
|
||||||
|
- Select available animation preset from builder controls.
|
||||||
|
- Adjust preset options (like speed).
|
||||||
|
- Complexity: Easy
|
||||||
|
|
||||||
## Comparison Summary
|
## Comparison Summary
|
||||||
-Possible in all 3? Yes / Partial / No
|
- Possible in all 3? Partial
|
||||||
- Main differences:
|
- Main differences:
|
||||||
-Where Thob is better:
|
- Vanilla and R3F support fully custom per-frame animation logic.
|
||||||
-Where Thob is weaker:
|
- Thob supports only preset animation options.
|
||||||
-What feels awkward or unclear:
|
- Where Thob is better: Fast setup for non-technical users with ready-made motion presets.
|
||||||
|
- Where Thob is weaker: No custom animation authoring for specific motion behavior.
|
||||||
|
- What feels awkward or unclear: Limited control when required motion does not match a preset.
|
||||||
|
|
||||||
## Limitation Type (if any)
|
## Limitation Type (if any)
|
||||||
-[ ] Editor UX limitation
|
- [x] Editor UX limitation
|
||||||
-[ ] Runtime limitation
|
- [x] Runtime limitation
|
||||||
- [ ] Schema / data model limitation
|
- [ ] Schema / data model limitation
|
||||||
-[ ] Component limitation
|
- [x] Component limitation
|
||||||
- [ ] Event system limitation
|
- [ ] Event system limitation
|
||||||
- [ ] Asset pipeline limitation
|
- [ ] Asset pipeline limitation
|
||||||
- [ ] Unknown / needs investigation
|
- [ ] Unknown / needs investigation
|
||||||
|
|
||||||
## Workaround
|
## Workaround
|
||||||
- Is there a workaround?
|
- Is there a workaround?
|
||||||
|
- Partial
|
||||||
- If yes, what is it?
|
- If yes, what is it?
|
||||||
|
- Use the closest pre-provided animation preset and tune available settings.
|
||||||
|
|
||||||
|
|
||||||
## Suggested Improvement
|
## Suggested Improvement
|
||||||
- What should improve in Thob?
|
- What should improve in Thob?
|
||||||
-Is it:
|
- Allow combining preset animation with user-defined motion parameters.
|
||||||
|
- it is:
|
||||||
- editor
|
- editor
|
||||||
- runtime
|
- runtime
|
||||||
- component
|
- component
|
||||||
- UX
|
- UX
|
||||||
-schema/data
|
|
||||||
|
|
||||||
## Difficulty Estimate
|
## Difficulty Estimate
|
||||||
-Easy / Medium / Hard
|
- Hard
|
||||||
|
|
||||||
## Business Value
|
## Business Value
|
||||||
-Low / Medium / High
|
- High
|
||||||
|
|
||||||
## Recommendation
|
## Recommendation
|
||||||
Should Thob support this better? Why?
|
Should Thob support this better? Why?
|
||||||
|
- Yes. Motion is core to interactive 3D scenes, and lack of custom animation blocks many use cases beyond simple showcase interactions.
|
||||||
73
Week-1/Task-4/builder/BuilderNotes.md
Normal file
73
Week-1/Task-4/builder/BuilderNotes.md
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
# Builder Notes (Thob) — Task 4: Basic Rotation / Motion
|
||||||
|
|
||||||
|
## Thob Observations from Task Notes
|
||||||
|
|
||||||
|
- **Possible:** Partial
|
||||||
|
- **Implementation used:** Applied available built-in animation presets on a cube/object inside thob builder.
|
||||||
|
- **What worked as expected:**
|
||||||
|
- Preset animation can be applied quickly.
|
||||||
|
- Basic motion effects are visible without writing code.
|
||||||
|
- **Main limitation observed:**
|
||||||
|
- Custom animation is not possible; only pre-provided animation can be applied.
|
||||||
|
- Exact motion parity with Vanilla/R3F frame-loop logic is not achievable from the builder controls.
|
||||||
|
- **Builder flow used:**
|
||||||
|
1. Create/Add cube object in scene.
|
||||||
|
2. Open animation controls.
|
||||||
|
3. Apply available preset animation.
|
||||||
|
4. Tune exposed preset options (for example speed/intensity where available).
|
||||||
|
- **Complexity:** Easy for preset motion, hard for custom motion requirements.
|
||||||
|
- **Main limitation signals:** Editor UX + Runtime + Component concerns.
|
||||||
|
- **Workaround status:** Partial workaround only (use nearest preset); no true custom per-frame animation authoring.
|
||||||
|
|
||||||
|
## Console Warnings/Errors Seen (Deduplicated) and Probable Meaning
|
||||||
|
|
||||||
|
### warn: `Permissions-Policy header unrecognized feature ('browsing-topics')`
|
||||||
|
- **Type:** Browser/header compatibility warning.
|
||||||
|
- **Probable meaning:** Response header includes a policy directive not recognized by the current browser engine.
|
||||||
|
- **Impact:** Usually low for scene editing itself; mostly platform/header noise.
|
||||||
|
|
||||||
|
### error: `GET https://builder.thob.studio/builder/<id> 404 (Not Found)`
|
||||||
|
- **Type:** Network/resource error.
|
||||||
|
- **Probable meaning:** Builder page/resource ID is stale, deleted, or inaccessible for current session.
|
||||||
|
- **Impact:** High for workflow continuity; can block loading expected builder state.
|
||||||
|
|
||||||
|
### warn: `Unchecked runtime.lastError: The message port closed before a response was received`
|
||||||
|
- **Type:** Browser extension/runtime messaging warning.
|
||||||
|
- **Probable meaning:** A background messaging channel closed before callback response (often extension-related).
|
||||||
|
- **Impact:** Usually low for core scene logic; can add debugging noise.
|
||||||
|
|
||||||
|
### warn: `No HydrateFallback element provided to render during initial hydration`
|
||||||
|
- **Type:** Hydration/lifecycle warning.
|
||||||
|
- **Probable meaning:** Initial hydration path expected a fallback UI element but none was configured.
|
||||||
|
- **Impact:** Can produce unstable initial editor/preview rendering behavior.
|
||||||
|
|
||||||
|
### warn: `... changing from uncontrolled to controlled` and `RadioGroup is changing from uncontrolled to controlled`
|
||||||
|
- **Type:** React state-management warning.
|
||||||
|
- **Probable meaning:** Form/editor controls switch value ownership mode across renders.
|
||||||
|
- **Impact:** Property panel behavior may become inconsistent or glitchy.
|
||||||
|
|
||||||
|
### warn: `GetBindingData<id> method already registered` (repeated)
|
||||||
|
- **Type:** Duplicate registration warning.
|
||||||
|
- **Probable meaning:** Binding method handlers are attached multiple times during rerender/remount cycles.
|
||||||
|
- **Impact:** High log noise, risk of duplicated side effects, and potential performance degradation.
|
||||||
|
|
||||||
|
### warn: `resetPOI method already registered`
|
||||||
|
- **Type:** Duplicate command registration warning.
|
||||||
|
- **Probable meaning:** Command/event handler is registered more than once without cleanup.
|
||||||
|
- **Impact:** Risk of repeated command execution and state drift.
|
||||||
|
|
||||||
|
### warn: `camera-controls: verticalDragToForward was removed...`
|
||||||
|
- **Type:** API deprecation/removed option warning.
|
||||||
|
- **Probable meaning:** Legacy camera-controls prop is still being used by some path in the runtime/editor.
|
||||||
|
- **Impact:** Non-fatal now, but indicates outdated control configuration and future fragility.
|
||||||
|
|
||||||
|
### error: `THREE.GLTFLoader: Invalid plugin found: missing name`
|
||||||
|
- **Type:** Asset loader/plugin configuration error.
|
||||||
|
- **Probable meaning:** GLTF loader plugin object does not satisfy required shape/metadata.
|
||||||
|
- **Impact:** Asset loading behavior may be incomplete or fail for some models.
|
||||||
|
|
||||||
|
## Overall Read
|
||||||
|
|
||||||
|
- For Task 4, thob supports only preset motion and does not support custom animation logic, which is the core functional gap compared with Vanilla and R3F.
|
||||||
|
- Console output shows repeated registration and controlled/uncontrolled warnings, which aligns with editor/runtime stability concerns when iterating quickly in builder.
|
||||||
|
- The 404 page load and loader/control warnings suggest platform-level reliability and compatibility issues that can interfere with smooth motion-authoring workflows.
|
||||||
15
Week-1/Task-4/r3f/index.html
Normal file
15
Week-1/Task-4/r3f/index.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Task 4 R3F - Vanilla Match</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
<script type="module" src="/src/main.jsx"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@ -2,11 +2,23 @@
|
|||||||
"name": "week-1-task-4-r3f",
|
"name": "week-1-task-4-r3f",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
|
"type": "module",
|
||||||
"packageManager": "yarn@1.22.22",
|
"packageManager": "yarn@1.22.22",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "echo 'Add your React Three Fiber dev script here'",
|
"dev": "vite",
|
||||||
"build": "echo 'Add your React Three Fiber build script here'",
|
"build": "vite build",
|
||||||
"lint": "echo 'Add your lint script here'",
|
"lint": "echo 'Lint not configured yet'",
|
||||||
|
"preview": "vite preview",
|
||||||
"clean": "rm -rf dist build .next"
|
"clean": "rm -rf dist build .next"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@react-three/fiber": "^9.5.0",
|
||||||
|
"react": "^19.2.4",
|
||||||
|
"react-dom": "^19.2.4",
|
||||||
|
"three": "^0.183.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vitejs/plugin-react": "^6.0.0",
|
||||||
|
"vite": "^8.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
30
Week-1/Task-4/r3f/src/App.jsx
Normal file
30
Week-1/Task-4/r3f/src/App.jsx
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { Canvas, useFrame } from '@react-three/fiber'
|
||||||
|
import { useRef } from 'react'
|
||||||
|
|
||||||
|
function RotatingCube() {
|
||||||
|
const cubeRef = useRef()
|
||||||
|
|
||||||
|
useFrame((state) => {
|
||||||
|
const seconds = state.clock.elapsedTime
|
||||||
|
|
||||||
|
if (!cubeRef.current) return
|
||||||
|
|
||||||
|
cubeRef.current.rotation.x = seconds / 2
|
||||||
|
cubeRef.current.rotation.y = seconds
|
||||||
|
})
|
||||||
|
|
||||||
|
return (
|
||||||
|
<mesh ref={cubeRef}>
|
||||||
|
<boxGeometry args={[1, 1, 1]} />
|
||||||
|
<meshBasicMaterial color={0x00ff00} />
|
||||||
|
</mesh>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function App() {
|
||||||
|
return (
|
||||||
|
<Canvas camera={{ fov: 75, near: 0.1, far: 1000, position: [0, 0, 5] }}>
|
||||||
|
<RotatingCube />
|
||||||
|
</Canvas>
|
||||||
|
)
|
||||||
|
}
|
||||||
8
Week-1/Task-4/r3f/src/index.css
Normal file
8
Week-1/Task-4/r3f/src/index.css
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
html,
|
||||||
|
body,
|
||||||
|
#root {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
background-color: black;
|
||||||
|
}
|
||||||
10
Week-1/Task-4/r3f/src/main.jsx
Normal file
10
Week-1/Task-4/r3f/src/main.jsx
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { StrictMode } from 'react'
|
||||||
|
import { createRoot } from 'react-dom/client'
|
||||||
|
import App from './App.jsx'
|
||||||
|
import './index.css'
|
||||||
|
|
||||||
|
createRoot(document.getElementById('root')).render(
|
||||||
|
<StrictMode>
|
||||||
|
<App />
|
||||||
|
</StrictMode>,
|
||||||
|
)
|
||||||
6
Week-1/Task-4/r3f/vite.config.js
Normal file
6
Week-1/Task-4/r3f/vite.config.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { defineConfig } from 'vite'
|
||||||
|
import react from '@vitejs/plugin-react'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [react()],
|
||||||
|
})
|
||||||
18
Week-1/Task-4/vanilla/index.html
Normal file
18
Week-1/Task-4/vanilla/index.html
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>My first three.js app</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<script type="module" src="/main.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
25
Week-1/Task-4/vanilla/main.js
Normal file
25
Week-1/Task-4/vanilla/main.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import * as THREE from 'three';
|
||||||
|
|
||||||
|
const scene = new THREE.Scene();
|
||||||
|
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
|
||||||
|
|
||||||
|
const renderer = new THREE.WebGLRenderer();
|
||||||
|
renderer.setSize(window.innerWidth, window.innerHeight);
|
||||||
|
renderer.setAnimationLoop(animate);
|
||||||
|
document.body.appendChild(renderer.domElement);
|
||||||
|
|
||||||
|
const geometry = new THREE.BoxGeometry(1, 1, 1);
|
||||||
|
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
|
||||||
|
const cube = new THREE.Mesh(geometry, material);
|
||||||
|
scene.add(cube);
|
||||||
|
|
||||||
|
camera.position.z = 5;
|
||||||
|
|
||||||
|
function animate(time) {
|
||||||
|
|
||||||
|
cube.rotation.x = time / 2000;
|
||||||
|
cube.rotation.y = time / 1000;
|
||||||
|
|
||||||
|
renderer.render(scene, camera);
|
||||||
|
|
||||||
|
}
|
||||||
@ -4,9 +4,15 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"packageManager": "yarn@1.22.22",
|
"packageManager": "yarn@1.22.22",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "echo 'Add your Three.js dev script here'",
|
"dev": "vite",
|
||||||
"build": "echo 'Add your Three.js build script here'",
|
"build": "vite build",
|
||||||
"lint": "echo 'Add your lint script here'",
|
"lint": "echo 'Add your lint script here'",
|
||||||
"clean": "rm -rf dist build"
|
"clean": "rm -rf dist build"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"three": "^0.183.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"vite": "^8.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
307
package-lock.json
generated
307
package-lock.json
generated
@ -13,6 +13,15 @@
|
|||||||
"turbo": "^2.0.0"
|
"turbo": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/runtime": {
|
||||||
|
"version": "7.29.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
|
||||||
|
"integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@emnapi/core": {
|
"node_modules/@emnapi/core": {
|
||||||
"version": "1.9.1",
|
"version": "1.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz",
|
||||||
@ -74,6 +83,54 @@
|
|||||||
"url": "https://github.com/sponsors/Boshen"
|
"url": "https://github.com/sponsors/Boshen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@react-three/fiber": {
|
||||||
|
"version": "9.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.5.0.tgz",
|
||||||
|
"integrity": "sha512-FiUzfYW4wB1+PpmsE47UM+mCads7j2+giRBltfwH7SNhah95rqJs3ltEs9V3pP8rYdS0QlNne+9Aj8dS/SiaIA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.17.8",
|
||||||
|
"@types/webxr": "*",
|
||||||
|
"base64-js": "^1.5.1",
|
||||||
|
"buffer": "^6.0.3",
|
||||||
|
"its-fine": "^2.0.0",
|
||||||
|
"react-use-measure": "^2.1.7",
|
||||||
|
"scheduler": "^0.27.0",
|
||||||
|
"suspend-react": "^0.1.3",
|
||||||
|
"use-sync-external-store": "^1.4.0",
|
||||||
|
"zustand": "^5.0.3"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"expo": ">=43.0",
|
||||||
|
"expo-asset": ">=8.4",
|
||||||
|
"expo-file-system": ">=11.0",
|
||||||
|
"expo-gl": ">=11.0",
|
||||||
|
"react": ">=19 <19.3",
|
||||||
|
"react-dom": ">=19 <19.3",
|
||||||
|
"react-native": ">=0.78",
|
||||||
|
"three": ">=0.156"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"expo": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"expo-asset": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"expo-file-system": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"expo-gl": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react-dom": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react-native": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@rolldown/binding-android-arm64": {
|
"node_modules/@rolldown/binding-android-arm64": {
|
||||||
"version": "1.0.0-rc.12",
|
"version": "1.0.0-rc.12",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz",
|
||||||
@ -361,6 +418,115 @@
|
|||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/react": {
|
||||||
|
"version": "19.2.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
|
||||||
|
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"csstype": "^3.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/react-reconciler": {
|
||||||
|
"version": "0.28.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz",
|
||||||
|
"integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/react": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/webxr": {
|
||||||
|
"version": "0.5.24",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz",
|
||||||
|
"integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@vitejs/plugin-react": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@rolldown/pluginutils": "1.0.0-rc.7"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^20.19.0 || >=22.12.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@rolldown/plugin-babel": "^0.1.7 || ^0.2.0",
|
||||||
|
"babel-plugin-react-compiler": "^1.0.0",
|
||||||
|
"vite": "^8.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@rolldown/plugin-babel": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"babel-plugin-react-compiler": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@vitejs/plugin-react/node_modules/@rolldown/pluginutils": {
|
||||||
|
"version": "1.0.0-rc.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz",
|
||||||
|
"integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/base64-js": {
|
||||||
|
"version": "1.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||||
|
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/buffer": {
|
||||||
|
"version": "6.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||||
|
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/csstype": {
|
||||||
|
"version": "3.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
||||||
|
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/detect-libc": {
|
"node_modules/detect-libc": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
||||||
@ -403,6 +569,38 @@
|
|||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ieee754": {
|
||||||
|
"version": "1.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||||
|
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
|
"node_modules/its-fine": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/react-reconciler": "^0.28.9"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^19.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/lightningcss": {
|
"node_modules/lightningcss": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.0",
|
||||||
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
|
||||||
@ -522,6 +720,42 @@
|
|||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/react": {
|
||||||
|
"version": "19.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
|
||||||
|
"integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-dom": {
|
||||||
|
"version": "19.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
|
||||||
|
"integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"scheduler": "^0.27.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^19.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/react-use-measure": {
|
||||||
|
"version": "2.1.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz",
|
||||||
|
"integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=16.13",
|
||||||
|
"react-dom": ">=16.13"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"react-dom": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/rolldown": {
|
"node_modules/rolldown": {
|
||||||
"version": "1.0.0-rc.12",
|
"version": "1.0.0-rc.12",
|
||||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz",
|
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz",
|
||||||
@ -556,6 +790,12 @@
|
|||||||
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12"
|
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/scheduler": {
|
||||||
|
"version": "0.27.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
|
||||||
|
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/source-map-js": {
|
"node_modules/source-map-js": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
||||||
@ -566,6 +806,15 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/suspend-react": {
|
||||||
|
"version": "0.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
|
||||||
|
"integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=17.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/three": {
|
"node_modules/three": {
|
||||||
"version": "0.183.2",
|
"version": "0.183.2",
|
||||||
"resolved": "https://registry.npmjs.org/three/-/three-0.183.2.tgz",
|
"resolved": "https://registry.npmjs.org/three/-/three-0.183.2.tgz",
|
||||||
@ -615,6 +864,15 @@
|
|||||||
"@turbo/windows-arm64": "2.8.20"
|
"@turbo/windows-arm64": "2.8.20"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/use-sync-external-store": {
|
||||||
|
"version": "1.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
|
||||||
|
"integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "8.0.3",
|
"version": "8.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz",
|
||||||
@ -725,6 +983,35 @@
|
|||||||
"resolved": "Week-1/Task-4/vanilla",
|
"resolved": "Week-1/Task-4/vanilla",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
|
"node_modules/zustand": {
|
||||||
|
"version": "5.0.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.12.tgz",
|
||||||
|
"integrity": "sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.20.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/react": ">=18.0.0",
|
||||||
|
"immer": ">=9.0.6",
|
||||||
|
"react": ">=18.0.0",
|
||||||
|
"use-sync-external-store": ">=1.2.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/react": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"immer": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"use-sync-external-store": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Week-1/Task-1/r3f": {
|
"Week-1/Task-1/r3f": {
|
||||||
"name": "week-1-task-1-r3f",
|
"name": "week-1-task-1-r3f",
|
||||||
"version": "0.0.0"
|
"version": "0.0.0"
|
||||||
@ -755,7 +1042,17 @@
|
|||||||
},
|
},
|
||||||
"Week-1/Task-3/r3f": {
|
"Week-1/Task-3/r3f": {
|
||||||
"name": "week-1-task-3-r3f",
|
"name": "week-1-task-3-r3f",
|
||||||
"version": "0.0.0"
|
"version": "0.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@react-three/fiber": "^9.5.0",
|
||||||
|
"react": "^19.2.4",
|
||||||
|
"react-dom": "^19.2.4",
|
||||||
|
"three": "^0.183.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vitejs/plugin-react": "^6.0.0",
|
||||||
|
"vite": "^8.0.3"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"Week-1/Task-3/vanilla": {
|
"Week-1/Task-3/vanilla": {
|
||||||
"name": "week-1-task-3-vanilla",
|
"name": "week-1-task-3-vanilla",
|
||||||
@ -767,7 +1064,13 @@
|
|||||||
},
|
},
|
||||||
"Week-1/Task-4/vanilla": {
|
"Week-1/Task-4/vanilla": {
|
||||||
"name": "week-1-task-4-vanilla",
|
"name": "week-1-task-4-vanilla",
|
||||||
"version": "0.0.0"
|
"version": "0.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"three": "^0.183.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"vite": "^8.0.3"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
307
yarn.lock
307
yarn.lock
@ -2,26 +2,193 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
|
"@babel/runtime@^7.17.8":
|
||||||
|
version "7.29.2"
|
||||||
|
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz"
|
||||||
|
integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==
|
||||||
|
|
||||||
|
"@napi-rs/wasm-runtime@^1.1.1":
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.2.tgz#e25454b4d44cfabd21d1bc801705359870e33ecc"
|
||||||
|
integrity sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==
|
||||||
|
dependencies:
|
||||||
|
"@tybys/wasm-util" "^0.10.1"
|
||||||
|
|
||||||
"@oxc-project/types@=0.122.0":
|
"@oxc-project/types@=0.122.0":
|
||||||
version "0.122.0"
|
version "0.122.0"
|
||||||
resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz"
|
resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz"
|
||||||
integrity sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==
|
integrity sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==
|
||||||
|
|
||||||
|
"@react-three/fiber@^9.5.0":
|
||||||
|
version "9.5.0"
|
||||||
|
resolved "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.5.0.tgz"
|
||||||
|
integrity sha512-FiUzfYW4wB1+PpmsE47UM+mCads7j2+giRBltfwH7SNhah95rqJs3ltEs9V3pP8rYdS0QlNne+9Aj8dS/SiaIA==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.17.8"
|
||||||
|
"@types/webxr" "*"
|
||||||
|
base64-js "^1.5.1"
|
||||||
|
buffer "^6.0.3"
|
||||||
|
its-fine "^2.0.0"
|
||||||
|
react-use-measure "^2.1.7"
|
||||||
|
scheduler "^0.27.0"
|
||||||
|
suspend-react "^0.1.3"
|
||||||
|
use-sync-external-store "^1.4.0"
|
||||||
|
zustand "^5.0.3"
|
||||||
|
|
||||||
|
"@rolldown/binding-android-arm64@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz#4e6af08b89da02596cc5da4b105082b68673ffec"
|
||||||
|
integrity sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==
|
||||||
|
|
||||||
"@rolldown/binding-darwin-arm64@1.0.0-rc.12":
|
"@rolldown/binding-darwin-arm64@1.0.0-rc.12":
|
||||||
version "1.0.0-rc.12"
|
version "1.0.0-rc.12"
|
||||||
resolved "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz"
|
resolved "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz"
|
||||||
integrity sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==
|
integrity sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==
|
||||||
|
|
||||||
|
"@rolldown/binding-darwin-x64@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.12.tgz#eddf6aa3ed3509171fe21711f1e8ec8e0fd7ec49"
|
||||||
|
integrity sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==
|
||||||
|
|
||||||
|
"@rolldown/binding-freebsd-x64@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.12.tgz#2102dfed19fd1f1b53435fcaaf0bc61129a266a3"
|
||||||
|
integrity sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.12.tgz#b2c13f40e990fd1e1935492850536c768c961a0f"
|
||||||
|
integrity sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.12.tgz#32ca9f77c1e76b2913b3d53d2029dc171c0532d6"
|
||||||
|
integrity sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-arm64-musl@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.12.tgz#f4337ddd52f0ed3ada2105b59ee1b757a2c4858c"
|
||||||
|
integrity sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.12.tgz#22fdd14cb00ee8208c28a39bab7f28860ec6705d"
|
||||||
|
integrity sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.12.tgz#838215096d1de6d3d509e0410801cb7cda8161ff"
|
||||||
|
integrity sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-x64-gnu@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.12.tgz#f7d71d97f6bd43198596b26dc2cb364586e12673"
|
||||||
|
integrity sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-x64-musl@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.12.tgz#a2ca737f01b0ad620c4c404ca176ea3e3ad804c3"
|
||||||
|
integrity sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==
|
||||||
|
|
||||||
|
"@rolldown/binding-openharmony-arm64@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.12.tgz#f66317e29eafcc300bed7af8dddac26ab3b1bf82"
|
||||||
|
integrity sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==
|
||||||
|
|
||||||
|
"@rolldown/binding-wasm32-wasi@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.12.tgz#8825523fdffa1f1dc4683be9650ffaa9e4a77f04"
|
||||||
|
integrity sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==
|
||||||
|
dependencies:
|
||||||
|
"@napi-rs/wasm-runtime" "^1.1.1"
|
||||||
|
|
||||||
|
"@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.12.tgz#4f3a17e3d68a58309c27c0930b0f7986ccabef47"
|
||||||
|
integrity sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==
|
||||||
|
|
||||||
|
"@rolldown/binding-win32-x64-msvc@1.0.0-rc.12":
|
||||||
|
version "1.0.0-rc.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.12.tgz#d762765d5660598a96b570b513f535c151272985"
|
||||||
|
integrity sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==
|
||||||
|
|
||||||
"@rolldown/pluginutils@1.0.0-rc.12":
|
"@rolldown/pluginutils@1.0.0-rc.12":
|
||||||
version "1.0.0-rc.12"
|
version "1.0.0-rc.12"
|
||||||
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.12.tgz"
|
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.12.tgz"
|
||||||
integrity sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==
|
integrity sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==
|
||||||
|
|
||||||
|
"@rolldown/pluginutils@1.0.0-rc.7":
|
||||||
|
version "1.0.0-rc.7"
|
||||||
|
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz"
|
||||||
|
integrity sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==
|
||||||
|
|
||||||
|
"@turbo/darwin-64@2.8.20":
|
||||||
|
version "2.8.20"
|
||||||
|
resolved "https://registry.yarnpkg.com/@turbo/darwin-64/-/darwin-64-2.8.20.tgz#6ebc903fbfe31db85f67b84af69e84822765cbf4"
|
||||||
|
integrity sha512-FQ9EX1xMU5nbwjxXxM3yU88AQQ6Sqc6S44exPRroMcx9XZHqqppl5ymJF0Ig/z3nvQNwDmz1Gsnvxubo+nXWjQ==
|
||||||
|
|
||||||
"@turbo/darwin-arm64@2.8.20":
|
"@turbo/darwin-arm64@2.8.20":
|
||||||
version "2.8.20"
|
version "2.8.20"
|
||||||
resolved "https://registry.npmjs.org/@turbo/darwin-arm64/-/darwin-arm64-2.8.20.tgz"
|
resolved "https://registry.npmjs.org/@turbo/darwin-arm64/-/darwin-arm64-2.8.20.tgz"
|
||||||
integrity sha512-Gpyh9ATFGThD6/s9L95YWY54cizg/VRWl2B67h0yofG8BpHf67DFAh9nuJVKG7bY0+SBJDAo5cMur+wOl9YOYw==
|
integrity sha512-Gpyh9ATFGThD6/s9L95YWY54cizg/VRWl2B67h0yofG8BpHf67DFAh9nuJVKG7bY0+SBJDAo5cMur+wOl9YOYw==
|
||||||
|
|
||||||
|
"@turbo/linux-64@2.8.20":
|
||||||
|
version "2.8.20"
|
||||||
|
resolved "https://registry.yarnpkg.com/@turbo/linux-64/-/linux-64-2.8.20.tgz#51faba95b242731b0beae9811724b3eeee6aa0a1"
|
||||||
|
integrity sha512-p2QxWUYyYUgUFG0b0kR+pPi8t7c9uaVlRtjTTI1AbCvVqkpjUfCcReBn6DgG/Hu8xrWdKLuyQFaLYFzQskZbcA==
|
||||||
|
|
||||||
|
"@turbo/linux-arm64@2.8.20":
|
||||||
|
version "2.8.20"
|
||||||
|
resolved "https://registry.yarnpkg.com/@turbo/linux-arm64/-/linux-arm64-2.8.20.tgz#4c466ec09a2c2e6513df94d703660bb6efa61614"
|
||||||
|
integrity sha512-Gn5yjlZGLRZWarLWqdQzv0wMqyBNIdq1QLi48F1oY5Lo9kiohuf7BPQWtWxeNVS2NgJ1+nb/DzK1JduYC4AWOA==
|
||||||
|
|
||||||
|
"@turbo/windows-64@2.8.20":
|
||||||
|
version "2.8.20"
|
||||||
|
resolved "https://registry.yarnpkg.com/@turbo/windows-64/-/windows-64-2.8.20.tgz#b8f23ff1d5ddf9b1abe41db2b1cb35b13066c063"
|
||||||
|
integrity sha512-vyaDpYk/8T6Qz5V/X+ihKvKFEZFUoC0oxYpC1sZanK6gaESJlmV3cMRT3Qhcg4D2VxvtC2Jjs9IRkrZGL+exLw==
|
||||||
|
|
||||||
|
"@turbo/windows-arm64@2.8.20":
|
||||||
|
version "2.8.20"
|
||||||
|
resolved "https://registry.yarnpkg.com/@turbo/windows-arm64/-/windows-arm64-2.8.20.tgz#8032d42c6cfd954d3c381720d5a65dc3e7ea3014"
|
||||||
|
integrity sha512-voicVULvUV5yaGXo0Iue13BcHGYW3u0VgqSbfQwBaHbpj1zLjYV4KIe+7fYIo6DO8FVUJzxFps3ODCQG/Wy2Qw==
|
||||||
|
|
||||||
|
"@tybys/wasm-util@^0.10.1":
|
||||||
|
version "0.10.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414"
|
||||||
|
integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==
|
||||||
|
dependencies:
|
||||||
|
tslib "^2.4.0"
|
||||||
|
|
||||||
|
"@types/react-reconciler@^0.28.9":
|
||||||
|
version "0.28.9"
|
||||||
|
resolved "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz"
|
||||||
|
integrity sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==
|
||||||
|
|
||||||
|
"@types/webxr@*":
|
||||||
|
version "0.5.24"
|
||||||
|
resolved "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz"
|
||||||
|
integrity sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==
|
||||||
|
|
||||||
|
"@vitejs/plugin-react@^6.0.0":
|
||||||
|
version "6.0.1"
|
||||||
|
resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz"
|
||||||
|
integrity sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==
|
||||||
|
dependencies:
|
||||||
|
"@rolldown/pluginutils" "1.0.0-rc.7"
|
||||||
|
|
||||||
|
base64-js@^1.3.1, base64-js@^1.5.1:
|
||||||
|
version "1.5.1"
|
||||||
|
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
|
||||||
|
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||||
|
|
||||||
|
buffer@^6.0.3:
|
||||||
|
version "6.0.3"
|
||||||
|
resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
|
||||||
|
integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
|
||||||
|
dependencies:
|
||||||
|
base64-js "^1.3.1"
|
||||||
|
ieee754 "^1.2.1"
|
||||||
|
|
||||||
detect-libc@^2.0.3:
|
detect-libc@^2.0.3:
|
||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz"
|
resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz"
|
||||||
@ -37,11 +204,73 @@ fsevents@~2.3.3:
|
|||||||
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
|
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
|
||||||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
||||||
|
|
||||||
|
ieee754@^1.2.1:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
|
||||||
|
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||||
|
|
||||||
|
its-fine@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.npmjs.org/its-fine/-/its-fine-2.0.0.tgz"
|
||||||
|
integrity sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==
|
||||||
|
dependencies:
|
||||||
|
"@types/react-reconciler" "^0.28.9"
|
||||||
|
|
||||||
|
lightningcss-android-arm64@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968"
|
||||||
|
integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==
|
||||||
|
|
||||||
lightningcss-darwin-arm64@1.32.0:
|
lightningcss-darwin-arm64@1.32.0:
|
||||||
version "1.32.0"
|
version "1.32.0"
|
||||||
resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz"
|
resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz"
|
||||||
integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==
|
integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==
|
||||||
|
|
||||||
|
lightningcss-darwin-x64@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e"
|
||||||
|
integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==
|
||||||
|
|
||||||
|
lightningcss-freebsd-x64@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575"
|
||||||
|
integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==
|
||||||
|
|
||||||
|
lightningcss-linux-arm-gnueabihf@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d"
|
||||||
|
integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==
|
||||||
|
|
||||||
|
lightningcss-linux-arm64-gnu@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335"
|
||||||
|
integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==
|
||||||
|
|
||||||
|
lightningcss-linux-arm64-musl@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133"
|
||||||
|
integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==
|
||||||
|
|
||||||
|
lightningcss-linux-x64-gnu@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6"
|
||||||
|
integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==
|
||||||
|
|
||||||
|
lightningcss-linux-x64-musl@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b"
|
||||||
|
integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==
|
||||||
|
|
||||||
|
lightningcss-win32-arm64-msvc@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38"
|
||||||
|
integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==
|
||||||
|
|
||||||
|
lightningcss-win32-x64-msvc@1.32.0:
|
||||||
|
version "1.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a"
|
||||||
|
integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==
|
||||||
|
|
||||||
lightningcss@^1.32.0:
|
lightningcss@^1.32.0:
|
||||||
version "1.32.0"
|
version "1.32.0"
|
||||||
resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz"
|
resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz"
|
||||||
@ -71,7 +300,7 @@ picocolors@^1.1.1:
|
|||||||
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
|
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
|
||||||
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
||||||
|
|
||||||
"picomatch@^3 || ^4", picomatch@^4.0.3, picomatch@^4.0.4:
|
picomatch@^4.0.3, picomatch@^4.0.4:
|
||||||
version "4.0.4"
|
version "4.0.4"
|
||||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz"
|
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz"
|
||||||
integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
|
integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
|
||||||
@ -85,6 +314,23 @@ postcss@^8.5.8:
|
|||||||
picocolors "^1.1.1"
|
picocolors "^1.1.1"
|
||||||
source-map-js "^1.2.1"
|
source-map-js "^1.2.1"
|
||||||
|
|
||||||
|
react-dom@^19.2.4:
|
||||||
|
version "19.2.4"
|
||||||
|
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz"
|
||||||
|
integrity sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==
|
||||||
|
dependencies:
|
||||||
|
scheduler "^0.27.0"
|
||||||
|
|
||||||
|
react-use-measure@^2.1.7:
|
||||||
|
version "2.1.7"
|
||||||
|
resolved "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz"
|
||||||
|
integrity sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==
|
||||||
|
|
||||||
|
react@^19.2.4:
|
||||||
|
version "19.2.4"
|
||||||
|
resolved "https://registry.npmjs.org/react/-/react-19.2.4.tgz"
|
||||||
|
integrity sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==
|
||||||
|
|
||||||
rolldown@1.0.0-rc.12:
|
rolldown@1.0.0-rc.12:
|
||||||
version "1.0.0-rc.12"
|
version "1.0.0-rc.12"
|
||||||
resolved "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz"
|
resolved "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz"
|
||||||
@ -109,11 +355,21 @@ rolldown@1.0.0-rc.12:
|
|||||||
"@rolldown/binding-win32-arm64-msvc" "1.0.0-rc.12"
|
"@rolldown/binding-win32-arm64-msvc" "1.0.0-rc.12"
|
||||||
"@rolldown/binding-win32-x64-msvc" "1.0.0-rc.12"
|
"@rolldown/binding-win32-x64-msvc" "1.0.0-rc.12"
|
||||||
|
|
||||||
|
scheduler@^0.27.0:
|
||||||
|
version "0.27.0"
|
||||||
|
resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz"
|
||||||
|
integrity sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==
|
||||||
|
|
||||||
source-map-js@^1.2.1:
|
source-map-js@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
|
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
|
||||||
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
||||||
|
|
||||||
|
suspend-react@^0.1.3:
|
||||||
|
version "0.1.3"
|
||||||
|
resolved "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz"
|
||||||
|
integrity sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==
|
||||||
|
|
||||||
three@^0.183.2:
|
three@^0.183.2:
|
||||||
version "0.183.2"
|
version "0.183.2"
|
||||||
resolved "https://registry.npmjs.org/three/-/three-0.183.2.tgz"
|
resolved "https://registry.npmjs.org/three/-/three-0.183.2.tgz"
|
||||||
@ -127,6 +383,11 @@ tinyglobby@^0.2.15:
|
|||||||
fdir "^6.5.0"
|
fdir "^6.5.0"
|
||||||
picomatch "^4.0.3"
|
picomatch "^4.0.3"
|
||||||
|
|
||||||
|
tslib@^2.4.0:
|
||||||
|
version "2.8.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
||||||
|
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
||||||
|
|
||||||
turbo@^2.0.0:
|
turbo@^2.0.0:
|
||||||
version "2.8.20"
|
version "2.8.20"
|
||||||
resolved "https://registry.npmjs.org/turbo/-/turbo-2.8.20.tgz"
|
resolved "https://registry.npmjs.org/turbo/-/turbo-2.8.20.tgz"
|
||||||
@ -139,6 +400,11 @@ turbo@^2.0.0:
|
|||||||
"@turbo/windows-64" "2.8.20"
|
"@turbo/windows-64" "2.8.20"
|
||||||
"@turbo/windows-arm64" "2.8.20"
|
"@turbo/windows-arm64" "2.8.20"
|
||||||
|
|
||||||
|
use-sync-external-store@^1.4.0:
|
||||||
|
version "1.6.0"
|
||||||
|
resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz"
|
||||||
|
integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==
|
||||||
|
|
||||||
vite@^8.0.2, vite@^8.0.3:
|
vite@^8.0.2, vite@^8.0.3:
|
||||||
version "8.0.3"
|
version "8.0.3"
|
||||||
resolved "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz"
|
resolved "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz"
|
||||||
@ -152,38 +418,7 @@ vite@^8.0.2, vite@^8.0.3:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents "~2.3.3"
|
fsevents "~2.3.3"
|
||||||
|
|
||||||
"week-1-task-1-r3f@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-1/r3f":
|
zustand@^5.0.3:
|
||||||
version "0.0.0"
|
version "5.0.12"
|
||||||
resolved "file:Week-1/Task-1/r3f"
|
resolved "https://registry.npmjs.org/zustand/-/zustand-5.0.12.tgz"
|
||||||
|
integrity sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==
|
||||||
"week-1-task-1-vanilla@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-1/vanilla":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-1/vanilla"
|
|
||||||
dependencies:
|
|
||||||
three "^0.183.2"
|
|
||||||
|
|
||||||
"week-1-task-2-r3f@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-2/r3f":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-2/r3f"
|
|
||||||
|
|
||||||
"week-1-task-2-vanilla@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-2/vanilla":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-2/vanilla"
|
|
||||||
dependencies:
|
|
||||||
three "^0.183.2"
|
|
||||||
|
|
||||||
"week-1-task-3-r3f@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-3/r3f":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-3/r3f"
|
|
||||||
|
|
||||||
"week-1-task-3-vanilla@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-3/vanilla":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-3/vanilla"
|
|
||||||
|
|
||||||
"week-1-task-4-r3f@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-4/r3f":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-4/r3f"
|
|
||||||
|
|
||||||
"week-1-task-4-vanilla@file:/Users/anshkumar/Documents/VS Code/thob-work/builder-research/Week-1/Task-4/vanilla":
|
|
||||||
version "0.0.0"
|
|
||||||
resolved "file:Week-1/Task-4/vanilla"
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user