Giter Site home page Giter Site logo

naver / egjs-view360 Goto Github PK

View Code? Open in Web Editor NEW
480.0 24.0 89.0 219.37 MB

360 integrated viewing solution

Home Page: https://naver.github.io/egjs-view360/

License: MIT License

JavaScript 4.99% HTML 2.43% CSS 0.57% TypeScript 86.68% Vue 0.38% Svelte 0.64% Sass 3.38% GLSL 0.93%
360-photo panorama spinner webgl device-orientation touch 360 video

egjs-view360's Issues

Support 1536 cube image for some mobile browser.

Description

No Work or Crash were reported on iOS9, Android 6.x (GalaxyS5, LG G5) when loading 1536px(=width) cube image.

Steps to check or reproduce

  • Load cube projection type image with width (=1536px)
  • Run on browser iOS9, Android 6.0 (Galaxy S5, LG G5)

Support 360 Video Source

Description

Support not only image but also VIDEO!

Todo

  • video tag support (equirectangular type)
  • resource basic exception handling
  • Interface for access video/image element.

option name showPolePoint is not same with YawPitchControl's

Description

YawPitchControl still have showPolePoint option name as old name showPole.
So, it makes weird behavior.

Steps to check or reproduce

var panoViewer = new PanoViewer(el, {
  fovRange: [30, 65],
  fov: 65
});

// then
panoViewer.getFov() === 65; // false. but it should me true.   

Check browser support on SpinViewer

Description

It's difficult to check if spinviewer is available. It's better to give a chance to check available. for example firing exception.

Too highly sensitivity after axes 2.3.0 (Need Tune)

Description

SpinViewer rotates items very strongly in spite of weak touch after applying axes 2.3.0

Scale value needs to be tuned.

Steps to check or reproduce

  • test file: /test/manual/SpinViewer/SpinViewer.html
  • scale : 1

spinviewer-sensitivity

  • it rotates for 12 seconds.

Providing 'release' event

Description

From the discussion below,
#42 (comment)
@jongmoon thinks providing 'release' event will help developing with PanoViewer.
But I do not know what kind of situation is like the 'release' event becoming useful.

Isn't it enough to use debounce method to 'change' event?

Make getImage, getVideo method to return element before loaded.

If you use an element as an argument in a setImage or setVideo method call, you can control the playback of the media source by accessing the element, but if you use the resource url as an argument, access to the element is blocked until the load is complete. And playback control on the media source would not possible.

So if you want to use a string as an argument, and you want to provide the same functionality as using an element as an argument, you should be able to get the image/video element through getContent before the resource loading is complete.

Regarding Various input devices (Keyboard, Mouse, Touch, Motion(Comming Soon)โ€ฆ)

Hi there

Looking fwd to the support for input devices, great to see they're on the roadmap.
Have done some research to find a performant solution and this is very well done indeed!

As an accessibility feature for users who don't immediately grasp the ability to manipulate the image sequence, would be nice to have an HTML range slider that can then be dragged to have the 360 move in sync.

Thanks

Script error on PanoViewer's Visible test

Description

Test page cannot import visible component. because egjs-visible is not included in dev environment.

Steps to check or reproduce

  • test page
    • /test/manual/PanoViewer/Visible.html

Memory usage error on Safari while running video.

Description

It fires memory use exceeds warning and null exception error like below.

image

There may be memory leaks.

Steps to check or reproduce

  1. /test/manual/PanoViewer/PanoVideo.html
  2. click play
  3. wait until it is paused.
  4. go 2 step.(util error is occurs)

Support Multi video input

Description

In video tag, you can specify multi resources for applying available video on that browser.

But Current setVideo Interface can accept only one video param. So you cannot specify multi resources if you pass it as a URL.

In this job,
If video source is URL(string), then it should accept url as Array like following.

setVideo(["url for iphone", "url for android", "and others"]);

distribute npm package

Description

  1. all
  • @egjs\view360
  1. panoviewer
  • @egjs/view360-panoviewer
  1. spinviewer
  • @egjs/view360-spinviewer

PanoViewer - Changing image is not working.

Description

setImage cannot change image if imageType is changed.

Steps to check or reproduce

panoViewer.setImage("image", "othertypeFromBefore"); //It cannot change image.

How about _triggerEvent asynchronously when firing error.

Description

Currently PanoViewer fires error asynchronously.

For example,

if (options.checkSupport && !options.checkSupport()) {
	setTimeout(() => {
		this.trigger(EVENTS.ERROR, {
			type: ERROR_TYPE.INVALID_DEVICE,
			message: "invalid device"
		});
	}, 0);

	return this;
}

How about this async logic into _triggerEvent function?

If event name is "error" then, fire event asynchronously.

Support video tag for playing video

Description

By specifying video-tag in video property, makes PanoViewer play video. and support equirectangular first.

Steps to check or reproduce

var photo360Viewer = new eg.view360.PanoViewer(rootNode, {
      video: document.getElementById("videoSrc"),
   });

Support Safari browser

Description

In spite that video is available on Safari, PanoViewer is not working on safari browser.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.