vue-gl

Vue.js components rendering 3D WebGL graphics reactively with three.js

MIT License

Downloads
856
Stars
672
Committers
13

Bot releases are visible (Hide)

vue-gl - v1.0.1 🌈 Latest Release

Published by github-actions[bot] almost 2 years ago

What’s Changed

  • chore(deps): bump ansi-html and webpack-dev-server (#1440) @dependabot
  • chore(deps): bump express from 4.17.1 to 4.18.2 (#1438) @dependabot
  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (#1436) @dependabot
  • chore(deps): bump qs from 6.5.2 to 6.5.3 (#1437) @dependabot
  • chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#1434) @dependabot
  • chore(deps): bump eventsource from 1.1.0 to 1.1.2 (#1429) @dependabot
  • chore(deps): bump terser from 4.8.0 to 4.8.1 (#1428) @dependabot
  • chore(deps): bump async from 2.6.3 to 2.6.4 (#1421) @dependabot
  • chore(deps): bump minimist from 1.2.5 to 1.2.6 (#1418) @dependabot
  • chore(deps): bump url-parse from 1.5.7 to 1.5.10 (#1414) @dependabot
  • chore(deps): bump prismjs from 1.25.0 to 1.27.0 (#1413) @dependabot
  • chore(deps): bump url-parse from 1.5.3 to 1.5.7 (#1411) @dependabot
  • chore(deps): bump follow-redirects from 1.14.7 to 1.14.8 (#1410) @dependabot
  • chore(deps): bump nanoid from 3.1.25 to 3.2.0 (#1406) @dependabot
  • chore(deps): bump follow-redirects from 1.14.1 to 1.14.7 (#1405) @dependabot
  • chore(deps-dev): bump @babel/core from 7.15.8 to 7.16.0 (#1401) @dependabot
  • chore(deps-dev): bump @babel/preset-env from 7.15.8 to 7.16.0 (#1400) @dependabot
  • chore(deps-dev): bump eslint-plugin-jest from 25.2.2 to 25.2.4 (#1399) @dependabot
  • chore(deps): bump prismjs from 1.24.1 to 1.25.0 (#1398) @dependabot
  • chore(deps-dev): bump eslint-plugin-import from 2.24.2 to 2.25.3 (#1397) @dependabot
  • chore(deps-dev): bump eslint-plugin-jest from 24.5.2 to 25.2.2 (#1393) @dependabot
  • chore(deps-dev): bump eslint-plugin-vue from 7.19.0 to 7.20.0 (#1392) @dependabot
  • chore(deps-dev): bump @babel/core from 7.15.5 to 7.15.8 (#1390) @dependabot
  • chore(deps-dev): bump @babel/preset-env from 7.15.6 to 7.15.8 (#1389) @dependabot
  • chore(deps-dev): bump eslint-plugin-vue from 7.18.0 to 7.19.0 (#1388) @dependabot
  • chore(deps-dev): bump eslint-plugin-jest from 24.5.0 to 24.5.2 (#1386) @dependabot
  • chore(deps-dev): bump three from 0.132.2 to 0.133.0 (#1385) @dependabot
  • chore(deps-dev): bump rollup from 2.57.0 to 2.58.0 (#1384) @dependabot
  • chore(deps-dev): bump jest from 27.2.3 to 27.2.4 (#1383) @dependabot
  • chore(deps-dev): bump jest from 27.2.2 to 27.2.3 (#1381) @dependabot
  • chore(deps-dev): bump eslint-plugin-jest from 24.4.2 to 24.5.0 (#1382) @dependabot
  • chore(deps-dev): bump jest from 27.2.1 to 27.2.2 (#1380) @dependabot
  • chore(deps-dev): bump rollup from 2.56.3 to 2.57.0 (#1378) @dependabot
  • chore(deps-dev): bump @rollup/plugin-node-resolve from 13.0.4 to 13.0.5 (#1379) @dependabot
  • chore(deps-dev): bump jest from 27.2.0 to 27.2.1 (#1376) @dependabot
  • chore(deps-dev): bump eslint-plugin-vue from 7.17.0 to 7.18.0 (#1375) @dependabot
  • chore(deps-dev): bump jest from 27.1.1 to 27.2.0 (#1373) @dependabot
  • chore(deps-dev): bump eslint-plugin-jest from 24.4.0 to 24.4.2 (#1374) @dependabot
  • chore(deps-dev): bump eslint-plugin-markdown from 2.2.0 to 2.2.1 (#1372) @dependabot
  • chore(deps-dev): bump vue-docgen-api from 4.41.1 to 4.41.2 (#1369) @dependabot
  • chore(deps-dev): bump @babel/preset-env from 7.15.4 to 7.15.6 (#1370) @dependabot
  • chore(deps-dev): bump jest from 27.1.0 to 27.1.1 (#1368) @dependabot
  • chore(deps-dev): bump @babel/core from 7.15.4 to 7.15.5 (#1367) @dependabot
  • chore(deps-dev): bump @babel/core from 7.15.0 to 7.15.4 (#1365) @dependabot
  • chore(deps-dev): bump @babel/preset-env from 7.15.0 to 7.15.4 (#1366) @dependabot
  • chore(deps-dev): bump three from 0.132.0 to 0.132.2 (#1364) @dependabot
  • chore(deps-dev): bump eslint-plugin-vue from 7.16.0 to 7.17.0 (#1363) @dependabot
  • chore(deps-dev): bump jest from 27.0.6 to 27.1.0 (#1362) @dependabot
  • chore(deps-dev): bump eslint-plugin-import from 2.24.1 to 2.24.2 (#1361) @dependabot
  • chore(deps-dev): bump jest from 26.6.3 to 27.0.6 (#1301) @dependabot
  • chore(deps-dev): bump three from 0.130.1 to 0.132.0 (#1360) @dependabot
  • Doc: a little fix to expressions (#1358) @h-ikeda
  • Fix release workflow actions (#1357) @h-ikeda
vue-gl - v1.0.0 🌈

Published by release-drafter[bot] about 3 years ago

What’s Changed

v1 has drastically different syntax and structure since v0.x.

Passing an instance to other components

When a VueGL component needs another component as its dependent data, the component to be registered needed the name prop to be defined and namespace component handled it in v0.x.

In v1, components does not need names but they will be defined in a named slot of another component.

v0.x

<vgl-namespace>
  <vgl-geometry name="g" />
  <vgl-material name="m" />
  <vgl-mesh geometry="g" material="m" />
</vgl-namespace>

v1

<vgl-mesh>
  <template #geometry>
    <vgl-geometry />
  </template>
  <template #material>
    <vgl-material />
  </template>
</vgl-mesh>

Avoiding complex props

In v0.x, some props received a formatted string and VueGL parsed them.

v0.x

<vgl-mesh position="1.2 3.4 5.6" />

In v1, props accept primitive values as possible and their definitions are simplified .

v1

<vgl-mesh :position-x="1.2" :position-y="3.4" :position-z="5.6" />

Re-usable instance definition

Using named slots prevents re-using same instance.

Now we have and components instead for that purpose. They work like SVG's and .

v0.x

<vgl-namespace>
  <vgl-geometry name="g" />
  <vgl-mesh geometry="g" />
  <vgl-line geometry="g" />
</vgl-namespace>

v1

<vgl-defs>
  <template #g>
    <vgl-geometry />
  </template>
</vgl-defs>
<vgl-mesh>
  <template #geometry>
    <vgl-use href="g" />
  <template>
<vgl-mesh>
<vgl-line>
  <template #geometry>
    <vgl-use href="g" />
  </template>
</vgl-line>

The new renderer component renders a pure canvas

In v0.x, creates a wrapper element and inject our canvas and resize detection element to it. It sometimes causes a layout trouble.

New component in v1 creates only a element as its $el. Resizing will be detected by ResizeObserver API. Some old browsers need a polyfill for it.

vue-gl - v0.23.1 🌈

Published by release-drafter[bot] over 3 years ago

What’s Changed

  • fix: removes SphericalRefrectionMapping constant (#1172) @h-ikeda
vue-gl - v0.23.0 🌈

Published by release-drafter[bot] over 3 years ago

What’s Changed

  • Update Three.js version to 0.126.0 (#1164) @h-ikeda
  • Tag name of components (#1048) @h-ikeda
  • Update example codes (#1047) @h-ikeda
  • Updates caniuse-lite (#1045) @h-ikeda
vue-gl - v0.22.1 🌈

Published by release-drafter[bot] about 4 years ago

What’s Changed

  • Fixes an error on beforeDestroy hook when the material prop is not defined (#989) @h-ikeda
  • Build(deps-dev): bump three from 0.117.1 to 0.120.0 (#987) @dependabot-preview
vue-gl - v0.22.0 🌈

Published by release-drafter[bot] over 4 years ago

What’s Changed

  • Importing example component modules (#937) @h-ikeda
  • Adding VglPolyhedronGeometry component (#930) @h-ikeda
  • Build(deps-dev): bump three from 0.117.0 to 0.117.1 (#927) @dependabot-preview
  • VglShapeGeometry component (#913) @h-ikeda
vue-gl - v0.21.0 🌈

Published by release-drafter[bot] over 4 years ago

Update versions of depencencies.

What’s Changed

  • Update three version to 0.116.1 and follow changes (#902) @h-ikeda
  • Build(deps-dev): bump postcss from 7.0.29 to 7.0.30 (#900) @dependabot-preview
  • Build(deps-dev): bump rollup-plugin-vue from 5.1.6 to 5.1.7 (#901) @dependabot-preview
  • Build(deps-dev): bump postcss from 7.0.28 to 7.0.29 (#895) @dependabot-preview
  • Build(deps-dev): bump postcss from 7.0.27 to 7.0.28 (#893) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.9.5 to 7.9.6 (#886) @dependabot-preview
  • Build(deps-dev): bump @babel/core from 7.9.0 to 7.9.6 (#887) @dependabot-preview
  • Build(deps-dev): bump @rollup/plugin-node-resolve from 7.1.1 to 7.1.3 (#882) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.9.0 to 7.9.5 (#879) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.8.7 to 7.9.0 (#867) @dependabot-preview
  • Build(deps-dev): bump @babel/core from 7.8.7 to 7.9.0 (#868) @dependabot-preview
  • Build(deps-dev): bump rollup-plugin-babel-minify from 9.1.1 to 10.0.0 (#865) @dependabot-preview
  • Build(deps-dev): bump rollup-plugin-terser from 5.2.0 to 5.3.0 (#863) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.32.0 to 1.32.1 (#860) @dependabot-preview
  • Build(deps-dev): bump rollup-plugin-babel from 4.3.3 to 4.4.0 (#861) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.8.6 to 7.8.7 (#858) @dependabot-preview
  • Build(deps-dev): bump @babel/core from 7.8.4 to 7.8.7 (#857) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.31.1 to 1.32.0 (#853) @dependabot-preview
  • Build(deps-dev): bump postcss from 7.0.26 to 7.0.27 (#844) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.31.0 to 1.31.1 (#840) @dependabot-preview
  • Build(deps-dev): bump @rollup/plugin-node-resolve from 7.1.0 to 7.1.1 (#837) @dependabot-preview
  • Build(deps-dev): bump @rollup/plugin-node-resolve from 7.0.0 to 7.1.0 (#835) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.30.1 to 1.31.0 (#834) @dependabot-preview
  • Build(deps-dev): bump three from 0.112.1 to 0.113.2 (#833) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.8.3 to 7.8.4 (#829) @dependabot-preview
  • Build(deps-dev): bump @babel/core from 7.8.3 to 7.8.4 (#830) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.29.1 to 1.30.1 (#828) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.29.0 to 1.29.1 (#820) @dependabot-preview
  • Build(deps-dev): bump @babel/core from 7.8.0 to 7.8.3 (#816) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.8.2 to 7.8.3 (#817) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.8.0 to 7.8.2 (#815) @dependabot-preview
  • Build(deps-dev): bump rollup-plugin-terser from 5.1.3 to 5.2.0 (#810) @dependabot-preview
  • Build(deps-dev): bump @babel/core from 7.7.7 to 7.8.0 (#811) @dependabot-preview
  • Build(deps-dev): bump @babel/preset-env from 7.7.7 to 7.8.0 (#812) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.28.0 to 1.29.0 (#806) @dependabot-preview
  • Build(deps-dev): bump @rollup/plugin-node-resolve from 6.1.0 to 7.0.0 (#805) @dependabot-preview
  • Build(deps-dev): bump rollup from 1.27.14 to 1.28.0 (#801) @dependabot-preview
  • Build(deps-dev): bump @rollup/plugin-node-resolve from 6.0.0 to 6.1.0 (#800) @dependabot-preview
vue-gl - v0.20.0 🌈

Published by release-drafter[bot] almost 5 years ago

What’s Changed

  • new VglObjLoader component as an example component (#796) @h-ikeda
  • Provide ES module version of bundle
vue-gl - v0.19.0 🌈

Published by release-drafter[bot] almost 5 years ago

What’s Changed

  • Update three.js version to 0.112.1 (#791) @h-ikeda
vue-gl - v0.18.2 🌈

Published by release-drafter[bot] almost 5 years ago

What’s Changed

  • Edit document url in package.json (#783) @h-ikeda
  • Styles display:none to rendered DOM for components
vue-gl - v0.18.1 🌈

Published by release-drafter[bot] almost 5 years ago

What’s Changed

  • Prop validations (#773) @h-ikeda
    • number prop type into int and float types.
    • Some props to be required.
    • Some props to have custom validations.
vue-gl - v0.18.0 🌈

Published by release-drafter[bot] almost 5 years ago

What’s Changed

  • Add new VglShape Component and its base components (#739) @h-ikeda

names prop type accepts space-separated string as a group of names. Then name prop type is restricted not to have any spaces.
Therefore, VglMesh component can accept space-separated names as material names.

VglExtrudeGeometry component now accepts names of the VglShape component as shapes prop.

vue-gl - v0.17.0

Published by h-ikeda almost 5 years ago

What’s Changed

  • Build(deps-dev): bump three from 0.110.0 to 0.111.0 (#727) @dependabot-preview
  • Simplify namespace management and rendering lifecycles (#700) @h-ikeda

VglNamespace component now provides Namespace class instances those have event listening system. Please check the document and code for VglNamespace if you touch namespaces directly.
In previous versions, beforeRender hook was called to set geometries, materials, and other objects specified by name. From this version, beforeRender hook is removed and objects are set synchronously in watchers.

vue-gl - v0.16.0

Published by h-ikeda almost 5 years ago

This version requires three.js v0.110.0 or above.

  • New features

    • VglExtrudeGeometry component
  • Fixes

    • handles new three.js version (0.110.0)
    • reactive rendering triggered by namespace object changes
vue-gl - v0.15.0

Published by h-ikeda over 5 years ago

v0.15.0

Features

  • The new VglShaderMaterial component.
vue-gl - v0.14.0

Published by h-ikeda over 5 years ago

Features

  • fog and backgroundTexture for VglScene
  • set name property of the THREE's Object3D by prop

Maintenance

  • Use newest version of three.js
vue-gl - v0.13.0

Published by h-ikeda over 5 years ago

Features

  • materials prop of Objects now accept array of materials.
  • Use newest version of Three.js (0.105.1).
vue-gl - v0.12.2

Published by h-ikeda over 5 years ago

  • Update depending three.js version to 0.104.0
vue-gl - v0.12.1

Published by h-ikeda over 5 years ago

  • Update three.js version from 0.102.0 to 0.103.0
vue-gl - v0.12.0

Published by h-ikeda over 5 years ago

Features

  • Add support for typescript (add definitions, all components defined as an object).
Package Rankings
Top 6.7% on Proxy.golang.org
Top 3.72% on Npmjs.org
Badges
Extracted from project README
NPM Financial Contributors on Open Collective FOSSA Status
Related Projects