Skip to content

three.js R181 broken against "*" named in packages.md #51

Closed

Description

@Sythos

There is a misalignment in package.json and other points in the Git repo (especially in the examples, but also in "core"):
"three": "*",
"@types/three": "^0.181.0"

Details:

"three": "*"
packages/core/package.json:95

"@types/three": "^0.181.0"
package.json:91
packages/core/package.json:92
examples/audio/package.json:25
examples/browser-first/package.json:26
examples/depth-occlusion/package.json:25
examples/environment-raycast/package.json:25
examples/grab/package.json:25
examples/layers/package.json:25
examples/locomotion/package.json:25
examples/physics/package.json:25
examples/poke/package.json:25
examples/scene-understanding/package.json:25

For better safety and stability, each version should be tested before allowing an untested choice or release. It should be:
"three": "0.185.0",
"@types/three": "0.185.0"

From R181 to R185, some APIs used have been redesigned, developed further, or changed more deeply. This may cause compatibility and stability issues if anyone gets the "latest" version from three.js through "three": "". The APIs used in R181 are:
Scene
Object3D
PerspectiveCamera
WebGLRenderer
Mesh
Material
Texture
Vector

Matrix*
Raycaster
GLTFLoader

During the bump, these are affected in the following ways (generic description):

  • Minor internal API updates; no functional impact is expected:
    Scene
    PerspectiveCamera

  • Internal API updates with changes to references and imports/exports from other routines or internals; tests are needed, but there should be no impact:
    Object3D
    Mesh
    Material
    Texture
    Vector*
    Matrix*
    Raycaster
    GLTFLoader

  • Deeper API development, which may cause issues if the previous hybrid state */0.181.0 was used strictly or in borderline ways:
    WebGLRenderer
    renderer.xr
    shadow mapping
    transmission
    render targets
    depth / occlusion
    XR layers

Due to Murphy's Law, the biggest developments involve XR... :)

BTW, some other components included in PACKAGES.md are outdated (such as npm/pnpm; configuration files and RC environment variables were also changed, resulting in this test warning: "This will stop working in the next major version of npm. See npm help npmrc for supported config options.")

PS: The PR will be sent; no changelogs or version/revision fields will be touched. I have left a "test/" folder with all the scripts used to test and process the files as proof. I also did not touch "contributors" in package.md, since this will be a PR from a fork, not a direct contribution.
PPS: The MIT headers in the various files were inconsistent; I will provide aligned ones.

Activity

  1. Sythos commented on Aug 16, 2026

    @Sythos
    Author

    once this PR merged i've a render api rework to include updated WebGPU with WegGL2 fallback

    @felixtrz I see you active but i'm not getting some points, is this project still alive and really open source? i see barely activity once per week and honestly i'm not sure if keep on this attentions and time is worth...

  2. felixtrz commented on Oct 19, 2026

    @felixtrz
    Contributor

    Thanks for flagging this. @iwsdk/core 0.3.0 declared three: "*", so a fresh install could pull a newer Three.js than the one IWSDK was tested with. Since 1.0.0 (79b2740), @iwsdk/core pins an exact three (npm:super-three@0.181.0 in 1.0.x), and a CI check fails the build if any published package declares a different three. 1.1.0 moves to npm:super-three@0.185.0 with @types/three ^0.185.0; it's available now as 1.1.0-rc.1 on the next tag.

    If the PACKAGES.md, .npmrc or WebGPU points still matter to you, please open a separate issue for each so we can track them. Closing this as fixed; reopen it if you still hit a version mismatch on 1.0.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions