Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@lumiscaphe/react-viewer
Advanced tools
Lumiscaphe 3D Viewer React Component
$ npm i @lumiscaphe/react-viewer
or
$ yarn add @lumiscaphe/react-viewer
Initialize Lumiscaphe Viewer as simply as this:
const server = 'https://wr.lumiscaphe.com';
const scene = [{
database: 'ee294840-5689-49b0-9edb-527598602df0',
configuration: 'Bin.Blue/Cabin.Yellow/Style.Design1/Wheels.Red',
animations: ['LeftDoor'],
}];
const view = {
mode: 'image',
camera: 'EXTER/1',
background: 'product',
};
// Optional
const transition = {
fromPosition: 0,
toPosition: 2,
animation: {
name: 'Porte Gauche',
camera: '/Camera_Ext',
duration: 1,
reverse: false,
},
};
// Optional - default values
const encoder = {
format: 'jpeg',
quality: 80,
};
// Optional - default values
const parameters = {
antialiasing: false,
superSampling: 2,
};
// Optional - default values
const onLoadStart = () => {};
const onLoadProgress = () => {};
const onLoadEnd = () => {};
const onLoadError = () => {};
const onVrcubeInteraction = () => {};
const onVrobjectInteraction = () => {};
};
const element = (
<LumiscapheViewer
server={server}
api='v1'
fit='cover'
scene={scene}
view={view}
transition={transition}
encoder={encoder}
parameters={parameters}
onLoadStart={onLoadStart}
onLoadProgress={onLoadProgress}
onLoadEnd={onLoadEnd}
onLoadError={onLoadError}
onVrcubeInteraction={onVrcubeInteraction}
onVrobjectInteraction={onVrobjectInteraction}
/>
);
ReactDOM.render(element, document.body)
WebRender url for v1 and v2 api
API to use:
v1
: uses WebRender v1 API to generate imagesv2
: uses WebRender v2 API to generate imagesstatic
: uses image array scene as images sourcesImage fit mode to use:
contain
: image is scaled to maintain its aspect ratio while fitting within the element's content boxcover
: image is sized to maintain its aspect ratio while filling the element's entire content boxfill
: image is sized to fill the element's content boxA scene is an array of products defined with:
database
: product 3D model guid stringconfiguration
: product configuration as a string of concatenated values separated by a slashanimations
: product animations as an array of stringBasic scenes should contain only one product.
Two ways to drive scene decor.
Integrated
When a 3D model contains integrated decors, it can be change through product configuration. For example: add ENV.STUDIO
or ENV.ALPES
to product configuration string.
const scene = [{
database: 'ee294840-5689-49b0-9edb-527598602df0',
configuration: 'Bin.Blue/Cabin.Yellow/Style.Design1/Wheels.Red/ENV.ALPES',
animations: ['LeftDoor'],
}];
External
When a 3D model does not contain integrated decors, it can be added with an external 3D model. For example:
const decorProduct = {
database: '82c1f7e8-9ae4-4f00-b45c-c857e21a954f',
translation: { x: 0, y: -0.12, z: 0 },
};
const product = {
database: 'ee294840-5689-49b0-9edb-527598602df0',
configuration: 'Bin.Blue/Cabin.Yellow/Style.Design1/Wheels.Red',
animations: ['LeftDoor'],
};
const scene = [decorProduct, product];
Decor product is defined with:
database
: decor product 3D model guid stringtranslation
: decor product 3D position (e.g. decorDeltaAltitude)Note: decor product should always be the first product in the scene.
A view can be defined in the following modes:
Image
mode
: image
camera
: camera pathbackground
: view background mode (product
, transparent
, gradient
)VRCube
mode
: vrcube
camera
: camera pathbackground
: view background mode (product
, transparent
, gradient
)VRObject - animation
mode
: vrobject
animation
: animation namecamera
: camera pathframes
: number of framesloop
: whether animation loops or notbackground
: view background mode (product
, transparent
, gradient
)VRObject - bookmark set
mode
: vrobject
camera
: camera group pathbackground
: view background mode (product
, transparent
, gradient
)A transition can be set when loading a scene or setting a view with:
fromPosition
: go to specific vrobject image at the beginning - optionaltoPosition
: go to specific vrobject image at the end - optionalanimation
:
name
: animation namecamera
: camera path to use for animationduration
: animation duration in secondsreverse
: whether to reverse animation directionAn encoder is defined with:
format
: encoder format (jpeg
, png
, webp
)quality
: encoder quality (0-100 for jpeg
and webp
and 0-9 for png
)Render parameters are defined with:
antialiasing
: whether software antialiasing is enabled or notsuperSampling
: super sampling coefficient 1-4WebRender is always optimized for the following default values (false, 2). Change this with precaution !
Events are defined with:
onLoadStart
: event sent on load startonLoadProgress
: event sent on load progressonLoadEnd
: event sent on load endonLoadError
: event sent on load erroronInteraction
: event sent on vrcube or vrobject interactiononVrcubeInteraction
: event sent on vrcube interactiononVrobjectInteraction
: event sent on vrobject interactionFAQs
Official React component for Lumiscaphe 3D Viewer
The npm package @lumiscaphe/react-viewer receives a total of 163 weekly downloads. As such, @lumiscaphe/react-viewer popularity was classified as not popular.
We found that @lumiscaphe/react-viewer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.