@next2d/player 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,15 +14,15 @@ Next2D Player
14
14
  [![Twitter](https://img.shields.io/twitter/follow/Next2D?style=social)](https://twitter.com/Next2D)
15
15
 
16
16
  [日本語]
17
- Next2D Playerは、WebGLのハードウェアアクセラレーションでグラフィックス処理負荷を軽減し、OffscreenCanvasのマルチスレッド処理で描画パフォーマンスを向上させています。
17
+ Next2D Playerは、WebGL/WebGPUのハードウェアアクセラレーションでグラフィックス処理負荷を軽減し、OffscreenCanvasのマルチスレッド処理で描画パフォーマンスを向上させています。
18
18
  ベクター描画、Tweenアニメーション、テキスト、音声、動画など、さまざまな要素をサポートしているので、ゲーム制作、インタラクティブなデータビジュアライゼーション、クリエイティブなウェブアプリケーションなど、豊かな表現が必要とされるプロジェクトで活用が期待できます。
19
19
 
20
20
  [English]
21
- Next2D Player reduces graphics processing load with WebGL hardware acceleration and improves drawing performance with OffscreenCanvas multi-threaded processing.
21
+ Next2D Player reduces graphics processing load with WebGL/WebGPU hardware acceleration and improves drawing performance with OffscreenCanvas multi-threaded processing.
22
22
  With support for vector rendering, tween animation, text, audio, video, and many other elements, Next2D Player can be used for game production, interactive data visualization, creative web applications, and other projects that require rich expression. The software is expected to be used in game production, interactive data visualization, creative web applications and other projects requiring rich expression.
23
23
 
24
24
  [简体中文]
25
- Next2D Player通过WebGL硬件加速降低了图形处理负载,通过OffscreenCanvas多线程处理提高了绘图性能。
25
+ Next2D Player通过WebGL/WebGPU硬件加速降低了图形处理负载,通过OffscreenCanvas多线程处理提高了绘图性能。
26
26
  由于支持矢量绘图、Tween动画、文本、音频、视频和许多其他元素,它可用于游戏制作、交互式数据可视化、创意网络应用和其他需要丰富表达的项目。 该软件可用于需要丰富表现力的项目中。
27
27
 
28
28
  ## Support
package/next2d.js CHANGED
@@ -2361,4 +2361,4 @@ fn main(
2361
2361
  }
2362
2362
  }
2363
2363
  </style>
2364
- <div id="${t}"></div>`};let ai=-1;const Wh=()=>{window.addEventListener("resize",()=>{cancelAnimationFrame(ai),ai=requestAnimationFrame(mr)})},Rs=(e=null)=>{B.setOptions(e);const t=Lh();Nh(t,B.fixedWidth,B.fixedHeight),Yh(t),!B.fixedWidth&&!B.fixedHeight&&Wh(),mr()},Vh=async(e,t=null)=>{if(e==="develop"){const s=location.search.slice(1).split("&")[0];if(!s)return;e=`${location.origin}/${s}`}if(!e)return;e.charAt(1)==="/"&&(e=e.slice(1)),Rs(t);const r=new gs,n=r.contentLoaderInfo;if(n.addEventListener(Re.IO_ERROR,s=>{alert("Error: "+s.text)}),await r.load(new Cs(e)),!n.data)return;const i=n.data.stage;v.stageWidth=i.width,v.stageHeight=i.height,v.frameRate=Vt(i.fps,1,60,60),v.backgroundColor=t&&t.bgColor?t.bgColor:i.bgColor,v.addChild(n.content),mr(),Ps(),Fs(),Es(),vn()};let oi=!1;const Kh=(e=240,t=240,r=60,n=null)=>{if(oi)return v.getChildAt(0);oi=!0,v.stageWidth=e|0,v.stageHeight=t|0,v.frameRate=Vt(r,1,60,60),Rs(n);const i=v.addChild(new An);return Ps(),Fs(),Es(),vn(),i},Te={command:"capture",buffer:null,bgColor:16777215,bgAlpha:0,width:0,height:0,length:0,imageBitmaps:null},Ut=[],ht=[],Qh=async(e,t,r,n,i=0,s=0)=>await new Promise(a=>{if(b.offset=0,Ut.length=0,ht.length=0,v.$generateRenderQueue(e,ht,t,r),!b.offset)return a(n);Te.buffer=b.buffer,Te.width=n.width,Te.height=n.height,Te.bgColor=i,Te.bgAlpha=s,Te.length=b.offset,Ut.push(b.buffer.buffer),Te.imageBitmaps=null,ht.length&&(Te.imageBitmaps=ht,Ut.push(...ht));const o=c=>{if(c.data.message!=="capture")return;const u=c.data.buffer;return b.buffer.length<u.length&&(b.buffer=u),n.getContext("2d").drawImage(c.data.imageBitmap,0,0),Ce.removeEventListener("message",o),a(n)};Ce.addEventListener("message",o),Ce.postMessage(Te,Ut)}),Os=async e=>{switch(!0){case e.isVideo:{const t=e.muted;e.muted=!0,await e.play(),e.pause(),e.muted=t,await new Promise(r=>{const n=async()=>{e.loaded?(e.seek(0),r()):requestAnimationFrame(n)};requestAnimationFrame(n)})}break;case e.isContainerEnabled:{const t=e.children;for(let r=0;r<t.length;++r){const n=t[r];n&&(!n.isVideo&&!n.isContainerEnabled||await Os(n))}}break}},Xh=new Float32Array([1,0,0,1,0,0]),zh=new Float32Array([1,1,1,1,0,0,0,0]),Hh=async(e,t=null)=>{t&&t.videoSync&&await Os(e);const r=t&&t.colorTransform?t.colorTransform.rawData:zh,n=new Float32Array([1,0,0,1,-e.width/2,-e.height/2]),i=t&&t.matrix?T.multiply(t.matrix.rawData,n):T.multiply(Xh,n),s=t&&t.canvas?t.canvas:O.getCanvas(),a=Math.sqrt(i[0]*i[0]+i[1]*i[1]),o=Math.sqrt(i[2]*i[2]+i[3]*i[3]),c=Math.ceil(e.width*a),u=Math.ceil(e.height*o);if(c<=0||u<=0)return s;i[4]+=c/2,i[5]+=u/2,s.width=c,s.height=u;const h=B.stopFlag;h||B.stop();let l=!1;const f=B.rendererWidth,A=B.rendererHeight,d=B.rendererScale;if(c>f||u>A){l=!0;const y=Math.min(c/v.stageWidth,u/v.stageHeight)*Ze;v.rendererScale=B.rendererScale=y,v.rendererWidth=B.rendererWidth=c,v.rendererHeight=B.rendererHeight=u,Zr(!1)}return await Qh(e,i,r,s,t&&t.bgColor?parseInt(t.bgColor.replace("#",""),16):0,t&&t.bgAlpha?t.bgAlpha:0),l&&(v.rendererScale=B.rendererScale=d,v.rendererWidth=B.rendererWidth=f,v.rendererHeight=B.rendererHeight=A,Zr(!1)),h||B.play(),T.release(i),t&&t.colorTransform&&U.release(r),s};class Jh{display;events;filters;geom;media;net;text;ui;_$promise;constructor(){this.display=jr,this.events=qr,this.filters=en,this.geom=tn,this.media=rn,this.net=nn,this.text=sn,this.ui=an,this._$promise=new Promise(t=>{document.readyState==="loading"?window.addEventListener("DOMContentLoaded",()=>t(),{once:!0}):t()})}async load(t,r=null){await Promise.all([this._$promise]),await Vh(t,r)}async createRootMovieClip(t=240,r=240,n=60,i=null){return await Promise.all([this._$promise]),Kh(t,r,n,i)}async captureToCanvas(t,r=null){return await Hh(t,r)}}"next2d"in window||(console.log("%c Next2D Player %c 3.0.0 %c https://next2d.app","color: #fff; background: #5f5f5f","color: #fff; background: #4bc729",""),window.next2d=new Jh);
2364
+ <div id="${t}"></div>`};let ai=-1;const Wh=()=>{window.addEventListener("resize",()=>{cancelAnimationFrame(ai),ai=requestAnimationFrame(mr)})},Rs=(e=null)=>{B.setOptions(e);const t=Lh();Nh(t,B.fixedWidth,B.fixedHeight),Yh(t),!B.fixedWidth&&!B.fixedHeight&&Wh(),mr()},Vh=async(e,t=null)=>{if(e==="develop"){const s=location.search.slice(1).split("&")[0];if(!s)return;e=`${location.origin}/${s}`}if(!e)return;e.charAt(1)==="/"&&(e=e.slice(1)),Rs(t);const r=new gs,n=r.contentLoaderInfo;if(n.addEventListener(Re.IO_ERROR,s=>{alert("Error: "+s.text)}),await r.load(new Cs(e)),!n.data)return;const i=n.data.stage;v.stageWidth=i.width,v.stageHeight=i.height,v.frameRate=Vt(i.fps,1,60,60),v.backgroundColor=t&&t.bgColor?t.bgColor:i.bgColor,v.addChild(n.content),mr(),Ps(),Fs(),Es(),vn()};let oi=!1;const Kh=(e=240,t=240,r=60,n=null)=>{if(oi)return v.getChildAt(0);oi=!0,v.stageWidth=e|0,v.stageHeight=t|0,v.frameRate=Vt(r,1,60,60),Rs(n);const i=v.addChild(new An);return Ps(),Fs(),Es(),vn(),i},Te={command:"capture",buffer:null,bgColor:16777215,bgAlpha:0,width:0,height:0,length:0,imageBitmaps:null},Ut=[],ht=[],Qh=async(e,t,r,n,i=0,s=0)=>await new Promise(a=>{if(b.offset=0,Ut.length=0,ht.length=0,v.$generateRenderQueue(e,ht,t,r),!b.offset)return a(n);Te.buffer=b.buffer,Te.width=n.width,Te.height=n.height,Te.bgColor=i,Te.bgAlpha=s,Te.length=b.offset,Ut.push(b.buffer.buffer),Te.imageBitmaps=null,ht.length&&(Te.imageBitmaps=ht,Ut.push(...ht));const o=c=>{if(c.data.message!=="capture")return;const u=c.data.buffer;return b.buffer.length<u.length&&(b.buffer=u),n.getContext("2d").drawImage(c.data.imageBitmap,0,0),Ce.removeEventListener("message",o),a(n)};Ce.addEventListener("message",o),Ce.postMessage(Te,Ut)}),Os=async e=>{switch(!0){case e.isVideo:{const t=e.muted;e.muted=!0,await e.play(),e.pause(),e.muted=t,await new Promise(r=>{const n=async()=>{e.loaded?(e.seek(0),r()):requestAnimationFrame(n)};requestAnimationFrame(n)})}break;case e.isContainerEnabled:{const t=e.children;for(let r=0;r<t.length;++r){const n=t[r];n&&(!n.isVideo&&!n.isContainerEnabled||await Os(n))}}break}},Xh=new Float32Array([1,0,0,1,0,0]),zh=new Float32Array([1,1,1,1,0,0,0,0]),Hh=async(e,t=null)=>{t&&t.videoSync&&await Os(e);const r=t&&t.colorTransform?t.colorTransform.rawData:zh,n=new Float32Array([1,0,0,1,-e.width/2,-e.height/2]),i=t&&t.matrix?T.multiply(t.matrix.rawData,n):T.multiply(Xh,n),s=t&&t.canvas?t.canvas:O.getCanvas(),a=Math.sqrt(i[0]*i[0]+i[1]*i[1]),o=Math.sqrt(i[2]*i[2]+i[3]*i[3]),c=Math.ceil(e.width*a),u=Math.ceil(e.height*o);if(c<=0||u<=0)return s;i[4]+=c/2,i[5]+=u/2,s.width=c,s.height=u;const h=B.stopFlag;h||B.stop();let l=!1;const f=B.rendererWidth,A=B.rendererHeight,d=B.rendererScale;if(c>f||u>A){l=!0;const y=Math.min(c/v.stageWidth,u/v.stageHeight)*Ze;v.rendererScale=B.rendererScale=y,v.rendererWidth=B.rendererWidth=c,v.rendererHeight=B.rendererHeight=u,Zr(!1)}return await Qh(e,i,r,s,t&&t.bgColor?parseInt(t.bgColor.replace("#",""),16):0,t&&t.bgAlpha?t.bgAlpha:0),l&&(v.rendererScale=B.rendererScale=d,v.rendererWidth=B.rendererWidth=f,v.rendererHeight=B.rendererHeight=A,Zr(!1)),h||B.play(),T.release(i),t&&t.colorTransform&&U.release(r),s};class Jh{display;events;filters;geom;media;net;text;ui;_$promise;constructor(){this.display=jr,this.events=qr,this.filters=en,this.geom=tn,this.media=rn,this.net=nn,this.text=sn,this.ui=an,this._$promise=new Promise(t=>{document.readyState==="loading"?window.addEventListener("DOMContentLoaded",()=>t(),{once:!0}):t()})}async load(t,r=null){await Promise.all([this._$promise]),await Vh(t,r)}async createRootMovieClip(t=240,r=240,n=60,i=null){return await Promise.all([this._$promise]),Kh(t,r,n,i)}async captureToCanvas(t,r=null){return await Hh(t,r)}}"next2d"in window||(console.log("%c Next2D Player %c 3.0.1 %c https://next2d.app","color: #fff; background: #5f5f5f","color: #fff; background: #4bc729",""),window.next2d=new Jh);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next2d/player",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Experience the fast and beautiful anti-aliased rendering of WebGL. You can create rich, interactive graphics, cross-platform applications and games without worrying about browser or device compatibility.",
5
5
  "author": "Toshiyuki Ienaga<ienaga@next2d.app> (https://github.com/ienaga/)",
6
6
  "license": "MIT",
@@ -50,18 +50,18 @@
50
50
  "dependencies": {
51
51
  "fflate": "^0.8.2",
52
52
  "htmlparser2": "^10.1.0",
53
- "@next2d/cache": "3.0.0",
54
- "@next2d/core": "3.0.0",
55
- "@next2d/display": "3.0.0",
56
- "@next2d/events": "3.0.0",
57
- "@next2d/filters": "3.0.0",
58
- "@next2d/geom": "3.0.0",
59
- "@next2d/media": "3.0.0",
60
- "@next2d/net": "3.0.0",
61
- "@next2d/render-queue": "3.0.0",
62
- "@next2d/text": "3.0.0",
63
- "@next2d/ui": "3.0.0",
64
- "@next2d/webgpu": "3.0.0"
53
+ "@next2d/cache": "3.0.1",
54
+ "@next2d/core": "3.0.1",
55
+ "@next2d/display": "3.0.1",
56
+ "@next2d/events": "3.0.1",
57
+ "@next2d/filters": "3.0.1",
58
+ "@next2d/geom": "3.0.1",
59
+ "@next2d/media": "3.0.1",
60
+ "@next2d/net": "3.0.1",
61
+ "@next2d/render-queue": "3.0.1",
62
+ "@next2d/text": "3.0.1",
63
+ "@next2d/ui": "3.0.1",
64
+ "@next2d/webgpu": "3.0.1"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@eslint/eslintrc": "^3.3.3",
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  import { Next2D } from "@next2d/core";
3
3
  if (!("next2d" in window)) {
4
- console.log("%c Next2D Player %c 3.0.0 %c https://next2d.app", "color: #fff; background: #5f5f5f", "color: #fff; background: #4bc729", "");
4
+ console.log("%c Next2D Player %c 3.0.1 %c https://next2d.app", "color: #fff; background: #5f5f5f", "color: #fff; background: #4bc729", "");
5
5
  window.next2d = new Next2D();
6
6
  }