Comments (11)
I think the examples must always work with the current code. They are, after all, the documentation. I think it's hard enough to keep up to date with all the changes in the API, having outdated examples would easily become a nightmare.
They are also very useful for testing new code.
Maybe having them on another repo could be an option. Need to research on this git submodules thing. Another option would be to optimise them :)
from three.js.
I agree that the examples should work against master. It's just not typically done this way and I didn't think you'd be prepared to do this; but nevertheless, excellent.
They should perhaps be a git submodule. It's basically as if they were in the main repo but they must be fetched separately with
git submodule init
or alternatively at clone time
git clone REPO --recursive
From the docs...
"After the clone is created, initialize all submodules within, using their default settings. This is equivalent to running git submodule update --init --recursive immediately after the clone is finished. This option is ignored if the cloned repository does not have a worktree/checkout (i.e. if any of --no-checkout/-n, --bare, or --mirror is given)"
from three.js.
Having a working set of examples as integral part of master branch is IMHO critical feature (and one of the best features of Three.js).
They serve as documentation, test cases and give nice starting point for people to start experimenting with (having nice assets included is big plus).
I know, it's getting big :(, but I do think the benefits are well worth it and the size is still quite manageable.
Just for comparison, here are sizes of some other 3d libs/frameworks repos:
GLGE 59 MB
CubicVR 502 MB
x3d 613 MB
o3d 1,757 MB
At the beginning, I was also concerned whether to keep assets together with the rest, but now I'm quite persuaded it's a good thing.
Benefits of having everything together, able to simply clone a repository and get things running, are IMHO much worth increased waiting time while downloading. After all, clone/fetch are asynchronous operations. Slower simple automatic operation that can run in the background is preferable to sequence of more obscure manual operations.
from three.js.
O3D repo is 2GBytes? Wow.
from three.js.
Then it's settled. Closing...
from three.js.
Yup, for example their beachdemo assets folder has 643 MB (includes Photoshop textures sources and 3ds max models).
Disk space and bandwidth is cheap. Fighting with problems caused by inconsistencies is very expensive and can be also extremely demoralizing.
from three.js.
Just out of curiosity approximately where do you guys live and what kind of connection do you have?
I'm in the far western suburbs of Brisbane, Australia and can only get what we call ADSL1 (~1.5MBPS). Although of late it's been nothing close to that speed...
from three.js.
Yeah, I have a pretty decent internet connection. However, I always have my demoscene reflex of creating optimising the size of things and I tend to be careful on filesizes.
pyrotechnick, I think you have a valid point, but before shifting priorities, stopping what we're working on and changing the whole repo, I guess it's fair to leave it until there is more than one person mentioning the issue.
Still, as alteredq mention, it's a one off download.
from three.js.
Just out of curiosity approximately where do you guys live and what kind of connection do you have?
I have ok connection but nothing special around here (mine is the smallest option at 11 MB/s, the most expensive one here is currently 70 MB/s). Smallish town, central Europe.
from three.js.
OMFG! So jealous...
from three.js.
8 Mbps here in village in The Netherlands. With the available FTTH we can get to 30Mbps, but I have never seen any speed like 70Mbps... What connection is that?!
from three.js.
Related Issues (20)
- FBX mesh breakage morphing MTIs HOT 1
- GLTFLoader addon is missing (import from examples?!) HOT 1
- Distortion of the model due to being too far from the origin HOT 2
- MapControls requires enableRotate=false on IOS HOT 1
- wrong z order when rendering material with alpha mode "BLEND" HOT 7
- It appears that the resources associated with DRACOLoader may not be completely released, leading to memory consumption issues HOT 4
- I wish an example for the outputStruct node HOT 3
- Adding postprocessing support to the three. js editor HOT 1
- WebGLRenderer.setSize cannot set properties of undefined (setting 'width') HOT 2
- Enhance target type for SpotLight and DirectionalLight HOT 1
- Build a grid through custom coordinates HOT 1
- `.equals` in class `Spherical` HOT 6
- FBXLoader loads default Unreal model with wrong rotation HOT 4
- Editor can't import glTF with .ktx2 textures HOT 1
- MRT needs a filter if there are several objects with different shader counts in the scene HOT 3
- File Export Whole Scene feature was removed 😨 HOT 2
- RectAreaLight passes through material HOT 6
- Editor: drop event in UIOutliner of ui.three.js not being call HOT 9
- Editor: Export GLB and GLTF fails to fetch HOT 2
- MeshToonMaterial support for WebGPU
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from three.js.