mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-nostr.git
synced 2026-01-29 08:53:18 +00:00
🎨 Add new Flux icons: implement multiple reusable icon components (e.g., hand-raised, hand-thumb-up, heart, hashtag, home) with variant support for improved UI consistency.
This commit is contained in:
907
videos/build/129.bundle.js
Normal file
907
videos/build/129.bundle.js
Normal file
@@ -0,0 +1,907 @@
|
||||
"use strict";
|
||||
(self["webpackChunkvideos"] = self["webpackChunkvideos"] || []).push([[129],{
|
||||
|
||||
/***/ 9129:
|
||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
// ESM COMPAT FLAG
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
|
||||
// EXPORTS
|
||||
__webpack_require__.d(__webpack_exports__, {
|
||||
TextureLoader: () => (/* binding */ TextureLoader)
|
||||
});
|
||||
|
||||
;// ./node_modules/three/src/loaders/Cache.js
|
||||
/**
|
||||
* @class
|
||||
* @classdesc A simple caching system, used internally by {@link FileLoader}.
|
||||
* To enable caching across all loaders that use {@link FileLoader}, add `THREE.Cache.enabled = true.` once in your app.
|
||||
* @hideconstructor
|
||||
*/
|
||||
const Cache = {
|
||||
|
||||
/**
|
||||
* Whether caching is enabled or not.
|
||||
*
|
||||
* @static
|
||||
* @type {boolean}
|
||||
* @default false
|
||||
*/
|
||||
enabled: false,
|
||||
|
||||
/**
|
||||
* A dictionary that holds cached files.
|
||||
*
|
||||
* @static
|
||||
* @type {Object<string,Object>}
|
||||
*/
|
||||
files: {},
|
||||
|
||||
/**
|
||||
* Adds a cache entry with a key to reference the file. If this key already
|
||||
* holds a file, it is overwritten.
|
||||
*
|
||||
* @static
|
||||
* @param {string} key - The key to reference the cached file.
|
||||
* @param {Object} file - The file to be cached.
|
||||
*/
|
||||
add: function ( key, file ) {
|
||||
|
||||
if ( this.enabled === false ) return;
|
||||
|
||||
// log( 'Cache', 'Adding key:', key );
|
||||
|
||||
this.files[ key ] = file;
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the cached value for the given key.
|
||||
*
|
||||
* @static
|
||||
* @param {string} key - The key to reference the cached file.
|
||||
* @return {Object|undefined} The cached file. If the key does not exist `undefined` is returned.
|
||||
*/
|
||||
get: function ( key ) {
|
||||
|
||||
if ( this.enabled === false ) return;
|
||||
|
||||
// log( 'Cache', 'Checking key:', key );
|
||||
|
||||
return this.files[ key ];
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes the cached file associated with the given key.
|
||||
*
|
||||
* @static
|
||||
* @param {string} key - The key to reference the cached file.
|
||||
*/
|
||||
remove: function ( key ) {
|
||||
|
||||
delete this.files[ key ];
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove all values from the cache.
|
||||
*
|
||||
* @static
|
||||
*/
|
||||
clear: function () {
|
||||
|
||||
this.files = {};
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
;// ./node_modules/three/src/loaders/LoadingManager.js
|
||||
/**
|
||||
* Handles and keeps track of loaded and pending data. A default global
|
||||
* instance of this class is created and used by loaders if not supplied
|
||||
* manually.
|
||||
*
|
||||
* In general that should be sufficient, however there are times when it can
|
||||
* be useful to have separate loaders - for example if you want to show
|
||||
* separate loading bars for objects and textures.
|
||||
*
|
||||
* ```js
|
||||
* const manager = new THREE.LoadingManager();
|
||||
* manager.onLoad = () => console.log( 'Loading complete!' );
|
||||
*
|
||||
* const loader1 = new OBJLoader( manager );
|
||||
* const loader2 = new ColladaLoader( manager );
|
||||
* ```
|
||||
*/
|
||||
class LoadingManager {
|
||||
|
||||
/**
|
||||
* Constructs a new loading manager.
|
||||
*
|
||||
* @param {Function} [onLoad] - Executes when all items have been loaded.
|
||||
* @param {Function} [onProgress] - Executes when single items have been loaded.
|
||||
* @param {Function} [onError] - Executes when an error occurs.
|
||||
*/
|
||||
constructor( onLoad, onProgress, onError ) {
|
||||
|
||||
const scope = this;
|
||||
|
||||
let isLoading = false;
|
||||
let itemsLoaded = 0;
|
||||
let itemsTotal = 0;
|
||||
let urlModifier = undefined;
|
||||
const handlers = [];
|
||||
|
||||
// Refer to #5689 for the reason why we don't set .onStart
|
||||
// in the constructor
|
||||
|
||||
/**
|
||||
* Executes when an item starts loading.
|
||||
*
|
||||
* @type {Function|undefined}
|
||||
* @default undefined
|
||||
*/
|
||||
this.onStart = undefined;
|
||||
|
||||
/**
|
||||
* Executes when all items have been loaded.
|
||||
*
|
||||
* @type {Function|undefined}
|
||||
* @default undefined
|
||||
*/
|
||||
this.onLoad = onLoad;
|
||||
|
||||
/**
|
||||
* Executes when single items have been loaded.
|
||||
*
|
||||
* @type {Function|undefined}
|
||||
* @default undefined
|
||||
*/
|
||||
this.onProgress = onProgress;
|
||||
|
||||
/**
|
||||
* Executes when an error occurs.
|
||||
*
|
||||
* @type {Function|undefined}
|
||||
* @default undefined
|
||||
*/
|
||||
this.onError = onError;
|
||||
|
||||
/**
|
||||
* Used for aborting ongoing requests in loaders using this manager.
|
||||
*
|
||||
* @private
|
||||
* @type {AbortController | null}
|
||||
*/
|
||||
this._abortController = null;
|
||||
|
||||
/**
|
||||
* This should be called by any loader using the manager when the loader
|
||||
* starts loading an item.
|
||||
*
|
||||
* @param {string} url - The URL to load.
|
||||
*/
|
||||
this.itemStart = function ( url ) {
|
||||
|
||||
itemsTotal ++;
|
||||
|
||||
if ( isLoading === false ) {
|
||||
|
||||
if ( scope.onStart !== undefined ) {
|
||||
|
||||
scope.onStart( url, itemsLoaded, itemsTotal );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
isLoading = true;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* This should be called by any loader using the manager when the loader
|
||||
* ended loading an item.
|
||||
*
|
||||
* @param {string} url - The URL of the loaded item.
|
||||
*/
|
||||
this.itemEnd = function ( url ) {
|
||||
|
||||
itemsLoaded ++;
|
||||
|
||||
if ( scope.onProgress !== undefined ) {
|
||||
|
||||
scope.onProgress( url, itemsLoaded, itemsTotal );
|
||||
|
||||
}
|
||||
|
||||
if ( itemsLoaded === itemsTotal ) {
|
||||
|
||||
isLoading = false;
|
||||
|
||||
if ( scope.onLoad !== undefined ) {
|
||||
|
||||
scope.onLoad();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* This should be called by any loader using the manager when the loader
|
||||
* encounters an error when loading an item.
|
||||
*
|
||||
* @param {string} url - The URL of the item that produces an error.
|
||||
*/
|
||||
this.itemError = function ( url ) {
|
||||
|
||||
if ( scope.onError !== undefined ) {
|
||||
|
||||
scope.onError( url );
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Given a URL, uses the URL modifier callback (if any) and returns a
|
||||
* resolved URL. If no URL modifier is set, returns the original URL.
|
||||
*
|
||||
* @param {string} url - The URL to load.
|
||||
* @return {string} The resolved URL.
|
||||
*/
|
||||
this.resolveURL = function ( url ) {
|
||||
|
||||
if ( urlModifier ) {
|
||||
|
||||
return urlModifier( url );
|
||||
|
||||
}
|
||||
|
||||
return url;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* If provided, the callback will be passed each resource URL before a
|
||||
* request is sent. The callback may return the original URL, or a new URL to
|
||||
* override loading behavior. This behavior can be used to load assets from
|
||||
* .ZIP files, drag-and-drop APIs, and Data URIs.
|
||||
*
|
||||
* ```js
|
||||
* const blobs = {'fish.gltf': blob1, 'diffuse.png': blob2, 'normal.png': blob3};
|
||||
*
|
||||
* const manager = new THREE.LoadingManager();
|
||||
*
|
||||
* // Initialize loading manager with URL callback.
|
||||
* const objectURLs = [];
|
||||
* manager.setURLModifier( ( url ) => {
|
||||
*
|
||||
* url = URL.createObjectURL( blobs[ url ] );
|
||||
* objectURLs.push( url );
|
||||
* return url;
|
||||
*
|
||||
* } );
|
||||
*
|
||||
* // Load as usual, then revoke the blob URLs.
|
||||
* const loader = new GLTFLoader( manager );
|
||||
* loader.load( 'fish.gltf', (gltf) => {
|
||||
*
|
||||
* scene.add( gltf.scene );
|
||||
* objectURLs.forEach( ( url ) => URL.revokeObjectURL( url ) );
|
||||
*
|
||||
* } );
|
||||
* ```
|
||||
*
|
||||
* @param {function(string):string} transform - URL modifier callback. Called with an URL and must return a resolved URL.
|
||||
* @return {LoadingManager} A reference to this loading manager.
|
||||
*/
|
||||
this.setURLModifier = function ( transform ) {
|
||||
|
||||
urlModifier = transform;
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Registers a loader with the given regular expression. Can be used to
|
||||
* define what loader should be used in order to load specific files. A
|
||||
* typical use case is to overwrite the default loader for textures.
|
||||
*
|
||||
* ```js
|
||||
* // add handler for TGA textures
|
||||
* manager.addHandler( /\.tga$/i, new TGALoader() );
|
||||
* ```
|
||||
*
|
||||
* @param {string} regex - A regular expression.
|
||||
* @param {Loader} loader - A loader that should handle matched cases.
|
||||
* @return {LoadingManager} A reference to this loading manager.
|
||||
*/
|
||||
this.addHandler = function ( regex, loader ) {
|
||||
|
||||
handlers.push( regex, loader );
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes the loader for the given regular expression.
|
||||
*
|
||||
* @param {string} regex - A regular expression.
|
||||
* @return {LoadingManager} A reference to this loading manager.
|
||||
*/
|
||||
this.removeHandler = function ( regex ) {
|
||||
|
||||
const index = handlers.indexOf( regex );
|
||||
|
||||
if ( index !== - 1 ) {
|
||||
|
||||
handlers.splice( index, 2 );
|
||||
|
||||
}
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Can be used to retrieve the registered loader for the given file path.
|
||||
*
|
||||
* @param {string} file - The file path.
|
||||
* @return {?Loader} The registered loader. Returns `null` if no loader was found.
|
||||
*/
|
||||
this.getHandler = function ( file ) {
|
||||
|
||||
for ( let i = 0, l = handlers.length; i < l; i += 2 ) {
|
||||
|
||||
const regex = handlers[ i ];
|
||||
const loader = handlers[ i + 1 ];
|
||||
|
||||
if ( regex.global ) regex.lastIndex = 0; // see #17920
|
||||
|
||||
if ( regex.test( file ) ) {
|
||||
|
||||
return loader;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Can be used to abort ongoing loading requests in loaders using this manager.
|
||||
* The abort only works if the loaders implement {@link Loader#abort} and `AbortSignal.any()`
|
||||
* is supported in the browser.
|
||||
*
|
||||
* @return {LoadingManager} A reference to this loading manager.
|
||||
*/
|
||||
this.abort = function () {
|
||||
|
||||
|
||||
this.abortController.abort();
|
||||
this._abortController = null;
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
// TODO: Revert this back to a single member variable once this issue has been fixed
|
||||
// https://github.com/cloudflare/workerd/issues/3657
|
||||
|
||||
/**
|
||||
* Used for aborting ongoing requests in loaders using this manager.
|
||||
*
|
||||
* @type {AbortController}
|
||||
*/
|
||||
get abortController() {
|
||||
|
||||
if ( ! this._abortController ) {
|
||||
|
||||
this._abortController = new AbortController();
|
||||
|
||||
}
|
||||
|
||||
return this._abortController;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The global default loading manager.
|
||||
*
|
||||
* @constant
|
||||
* @type {LoadingManager}
|
||||
*/
|
||||
const DefaultLoadingManager = /*@__PURE__*/ new LoadingManager();
|
||||
|
||||
|
||||
|
||||
;// ./node_modules/three/src/loaders/Loader.js
|
||||
|
||||
|
||||
/**
|
||||
* Abstract base class for loaders.
|
||||
*
|
||||
* @abstract
|
||||
*/
|
||||
class Loader {
|
||||
|
||||
/**
|
||||
* Constructs a new loader.
|
||||
*
|
||||
* @param {LoadingManager} [manager] - The loading manager.
|
||||
*/
|
||||
constructor( manager ) {
|
||||
|
||||
/**
|
||||
* The loading manager.
|
||||
*
|
||||
* @type {LoadingManager}
|
||||
* @default DefaultLoadingManager
|
||||
*/
|
||||
this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
|
||||
|
||||
/**
|
||||
* The crossOrigin string to implement CORS for loading the url from a
|
||||
* different domain that allows CORS.
|
||||
*
|
||||
* @type {string}
|
||||
* @default 'anonymous'
|
||||
*/
|
||||
this.crossOrigin = 'anonymous';
|
||||
|
||||
/**
|
||||
* Whether the XMLHttpRequest uses credentials.
|
||||
*
|
||||
* @type {boolean}
|
||||
* @default false
|
||||
*/
|
||||
this.withCredentials = false;
|
||||
|
||||
/**
|
||||
* The base path from which the asset will be loaded.
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
this.path = '';
|
||||
|
||||
/**
|
||||
* The base path from which additional resources like textures will be loaded.
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
this.resourcePath = '';
|
||||
|
||||
/**
|
||||
* The [request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)
|
||||
* used in HTTP request.
|
||||
*
|
||||
* @type {Object<string, any>}
|
||||
*/
|
||||
this.requestHeader = {};
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method needs to be implemented by all concrete loaders. It holds the
|
||||
* logic for loading assets from the backend.
|
||||
*
|
||||
* @abstract
|
||||
* @param {string} url - The path/URL of the file to be loaded.
|
||||
* @param {Function} onLoad - Executed when the loading process has been finished.
|
||||
* @param {onProgressCallback} [onProgress] - Executed while the loading is in progress.
|
||||
* @param {onErrorCallback} [onError] - Executed when errors occur.
|
||||
*/
|
||||
load( /* url, onLoad, onProgress, onError */ ) {}
|
||||
|
||||
/**
|
||||
* A async version of {@link Loader#load}.
|
||||
*
|
||||
* @param {string} url - The path/URL of the file to be loaded.
|
||||
* @param {onProgressCallback} [onProgress] - Executed while the loading is in progress.
|
||||
* @return {Promise} A Promise that resolves when the asset has been loaded.
|
||||
*/
|
||||
loadAsync( url, onProgress ) {
|
||||
|
||||
const scope = this;
|
||||
|
||||
return new Promise( function ( resolve, reject ) {
|
||||
|
||||
scope.load( url, resolve, onProgress, reject );
|
||||
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method needs to be implemented by all concrete loaders. It holds the
|
||||
* logic for parsing the asset into three.js entities.
|
||||
*
|
||||
* @abstract
|
||||
* @param {any} data - The data to parse.
|
||||
*/
|
||||
parse( /* data */ ) {}
|
||||
|
||||
/**
|
||||
* Sets the `crossOrigin` String to implement CORS for loading the URL
|
||||
* from a different domain that allows CORS.
|
||||
*
|
||||
* @param {string} crossOrigin - The `crossOrigin` value.
|
||||
* @return {Loader} A reference to this instance.
|
||||
*/
|
||||
setCrossOrigin( crossOrigin ) {
|
||||
|
||||
this.crossOrigin = crossOrigin;
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether the XMLHttpRequest uses credentials such as cookies, authorization
|
||||
* headers or TLS client certificates, see [XMLHttpRequest.withCredentials](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).
|
||||
*
|
||||
* Note: This setting has no effect if you are loading files locally or from the same domain.
|
||||
*
|
||||
* @param {boolean} value - The `withCredentials` value.
|
||||
* @return {Loader} A reference to this instance.
|
||||
*/
|
||||
setWithCredentials( value ) {
|
||||
|
||||
this.withCredentials = value;
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the base path for the asset.
|
||||
*
|
||||
* @param {string} path - The base path.
|
||||
* @return {Loader} A reference to this instance.
|
||||
*/
|
||||
setPath( path ) {
|
||||
|
||||
this.path = path;
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the base path for dependent resources like textures.
|
||||
*
|
||||
* @param {string} resourcePath - The resource path.
|
||||
* @return {Loader} A reference to this instance.
|
||||
*/
|
||||
setResourcePath( resourcePath ) {
|
||||
|
||||
this.resourcePath = resourcePath;
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the given request header.
|
||||
*
|
||||
* @param {Object} requestHeader - A [request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)
|
||||
* for configuring the HTTP request.
|
||||
* @return {Loader} A reference to this instance.
|
||||
*/
|
||||
setRequestHeader( requestHeader ) {
|
||||
|
||||
this.requestHeader = requestHeader;
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method can be implemented in loaders for aborting ongoing requests.
|
||||
*
|
||||
* @abstract
|
||||
* @return {Loader} A reference to this instance.
|
||||
*/
|
||||
abort() {
|
||||
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for onProgress in loaders.
|
||||
*
|
||||
* @callback onProgressCallback
|
||||
* @param {ProgressEvent} event - An instance of `ProgressEvent` that represents the current loading status.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Callback for onError in loaders.
|
||||
*
|
||||
* @callback onErrorCallback
|
||||
* @param {Error} error - The error which occurred during the loading process.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The default material name that is used by loaders
|
||||
* when creating materials for loaded 3D objects.
|
||||
*
|
||||
* Note: Not all loaders might honor this setting.
|
||||
*
|
||||
* @static
|
||||
* @type {string}
|
||||
* @default '__DEFAULT'
|
||||
*/
|
||||
Loader.DEFAULT_MATERIAL_NAME = '__DEFAULT';
|
||||
|
||||
|
||||
|
||||
// EXTERNAL MODULE: ./node_modules/three/src/utils.js
|
||||
var utils = __webpack_require__(8108);
|
||||
;// ./node_modules/three/src/loaders/ImageLoader.js
|
||||
|
||||
|
||||
|
||||
|
||||
const _loading = new WeakMap();
|
||||
|
||||
/**
|
||||
* A loader for loading images. The class loads images with the HTML `Image` API.
|
||||
*
|
||||
* ```js
|
||||
* const loader = new THREE.ImageLoader();
|
||||
* const image = await loader.loadAsync( 'image.png' );
|
||||
* ```
|
||||
* Please note that `ImageLoader` has dropped support for progress
|
||||
* events in `r84`. For an `ImageLoader` that supports progress events, see
|
||||
* [this thread](https://github.com/mrdoob/three.js/issues/10439#issuecomment-275785639).
|
||||
*
|
||||
* @augments Loader
|
||||
*/
|
||||
class ImageLoader extends Loader {
|
||||
|
||||
/**
|
||||
* Constructs a new image loader.
|
||||
*
|
||||
* @param {LoadingManager} [manager] - The loading manager.
|
||||
*/
|
||||
constructor( manager ) {
|
||||
|
||||
super( manager );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts loading from the given URL and passes the loaded image
|
||||
* to the `onLoad()` callback. The method also returns a new `Image` object which can
|
||||
* directly be used for texture creation. If you do it this way, the texture
|
||||
* may pop up in your scene once the respective loading process is finished.
|
||||
*
|
||||
* @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
|
||||
* @param {function(Image)} onLoad - Executed when the loading process has been finished.
|
||||
* @param {onProgressCallback} onProgress - Unsupported in this loader.
|
||||
* @param {onErrorCallback} onError - Executed when errors occur.
|
||||
* @return {Image} The image.
|
||||
*/
|
||||
load( url, onLoad, onProgress, onError ) {
|
||||
|
||||
if ( this.path !== undefined ) url = this.path + url;
|
||||
|
||||
url = this.manager.resolveURL( url );
|
||||
|
||||
const scope = this;
|
||||
|
||||
const cached = Cache.get( `image:${url}` );
|
||||
|
||||
if ( cached !== undefined ) {
|
||||
|
||||
if ( cached.complete === true ) {
|
||||
|
||||
scope.manager.itemStart( url );
|
||||
|
||||
setTimeout( function () {
|
||||
|
||||
if ( onLoad ) onLoad( cached );
|
||||
|
||||
scope.manager.itemEnd( url );
|
||||
|
||||
}, 0 );
|
||||
|
||||
} else {
|
||||
|
||||
let arr = _loading.get( cached );
|
||||
|
||||
if ( arr === undefined ) {
|
||||
|
||||
arr = [];
|
||||
_loading.set( cached, arr );
|
||||
|
||||
}
|
||||
|
||||
arr.push( { onLoad, onError } );
|
||||
|
||||
}
|
||||
|
||||
return cached;
|
||||
|
||||
}
|
||||
|
||||
const image = (0,utils/* createElementNS */.qq)( 'img' );
|
||||
|
||||
function onImageLoad() {
|
||||
|
||||
removeEventListeners();
|
||||
|
||||
if ( onLoad ) onLoad( this );
|
||||
|
||||
//
|
||||
|
||||
const callbacks = _loading.get( this ) || [];
|
||||
|
||||
for ( let i = 0; i < callbacks.length; i ++ ) {
|
||||
|
||||
const callback = callbacks[ i ];
|
||||
if ( callback.onLoad ) callback.onLoad( this );
|
||||
|
||||
}
|
||||
|
||||
_loading.delete( this );
|
||||
|
||||
scope.manager.itemEnd( url );
|
||||
|
||||
}
|
||||
|
||||
function onImageError( event ) {
|
||||
|
||||
removeEventListeners();
|
||||
|
||||
if ( onError ) onError( event );
|
||||
|
||||
Cache.remove( `image:${url}` );
|
||||
|
||||
//
|
||||
|
||||
const callbacks = _loading.get( this ) || [];
|
||||
|
||||
for ( let i = 0; i < callbacks.length; i ++ ) {
|
||||
|
||||
const callback = callbacks[ i ];
|
||||
if ( callback.onError ) callback.onError( event );
|
||||
|
||||
}
|
||||
|
||||
_loading.delete( this );
|
||||
|
||||
|
||||
scope.manager.itemError( url );
|
||||
scope.manager.itemEnd( url );
|
||||
|
||||
}
|
||||
|
||||
function removeEventListeners() {
|
||||
|
||||
image.removeEventListener( 'load', onImageLoad, false );
|
||||
image.removeEventListener( 'error', onImageError, false );
|
||||
|
||||
}
|
||||
|
||||
image.addEventListener( 'load', onImageLoad, false );
|
||||
image.addEventListener( 'error', onImageError, false );
|
||||
|
||||
if ( url.slice( 0, 5 ) !== 'data:' ) {
|
||||
|
||||
if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin;
|
||||
|
||||
}
|
||||
|
||||
Cache.add( `image:${url}`, image );
|
||||
scope.manager.itemStart( url );
|
||||
|
||||
image.src = url;
|
||||
|
||||
return image;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// EXTERNAL MODULE: ./node_modules/three/src/textures/Texture.js + 9 modules
|
||||
var Texture = __webpack_require__(8280);
|
||||
;// ./node_modules/three/src/loaders/TextureLoader.js
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Class for loading textures. Images are internally
|
||||
* loaded via {@link ImageLoader}.
|
||||
*
|
||||
* ```js
|
||||
* const loader = new THREE.TextureLoader();
|
||||
* const texture = await loader.loadAsync( 'textures/land_ocean_ice_cloud_2048.jpg' );
|
||||
*
|
||||
* const material = new THREE.MeshBasicMaterial( { map:texture } );
|
||||
* ```
|
||||
* Please note that `TextureLoader` has dropped support for progress
|
||||
* events in `r84`. For a `TextureLoader` that supports progress events, see
|
||||
* [this thread](https://github.com/mrdoob/three.js/issues/10439#issuecomment-293260145).
|
||||
*
|
||||
* @augments Loader
|
||||
*/
|
||||
class TextureLoader extends Loader {
|
||||
|
||||
/**
|
||||
* Constructs a new texture loader.
|
||||
*
|
||||
* @param {LoadingManager} [manager] - The loading manager.
|
||||
*/
|
||||
constructor( manager ) {
|
||||
|
||||
super( manager );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts loading from the given URL and pass the fully loaded texture
|
||||
* to the `onLoad()` callback. The method also returns a new texture object which can
|
||||
* directly be used for material creation. If you do it this way, the texture
|
||||
* may pop up in your scene once the respective loading process is finished.
|
||||
*
|
||||
* @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
|
||||
* @param {function(Texture)} onLoad - Executed when the loading process has been finished.
|
||||
* @param {onProgressCallback} onProgress - Unsupported in this loader.
|
||||
* @param {onErrorCallback} onError - Executed when errors occur.
|
||||
* @return {Texture} The texture.
|
||||
*/
|
||||
load( url, onLoad, onProgress, onError ) {
|
||||
|
||||
const texture = new Texture/* Texture */.g();
|
||||
|
||||
const loader = new ImageLoader( this.manager );
|
||||
loader.setCrossOrigin( this.crossOrigin );
|
||||
loader.setPath( this.path );
|
||||
|
||||
loader.load( url, function ( image ) {
|
||||
|
||||
texture.image = image;
|
||||
texture.needsUpdate = true;
|
||||
|
||||
if ( onLoad !== undefined ) {
|
||||
|
||||
onLoad( texture );
|
||||
|
||||
}
|
||||
|
||||
}, onProgress, onError );
|
||||
|
||||
return texture;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=129.bundle.js.map
|
||||
1
videos/build/129.bundle.js.map
Normal file
1
videos/build/129.bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
7942
videos/build/280.bundle.js
Normal file
7942
videos/build/280.bundle.js
Normal file
File diff suppressed because it is too large
Load Diff
1
videos/build/280.bundle.js.map
Normal file
1
videos/build/280.bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
4129
videos/build/476.bundle.js
Normal file
4129
videos/build/476.bundle.js
Normal file
File diff suppressed because it is too large
Load Diff
1
videos/build/476.bundle.js.map
Normal file
1
videos/build/476.bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
102325
videos/build/537.bundle.js
Normal file
102325
videos/build/537.bundle.js
Normal file
File diff suppressed because one or more lines are too long
1
videos/build/537.bundle.js.map
Normal file
1
videos/build/537.bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
145
videos/build/702.bundle.js
Normal file
145
videos/build/702.bundle.js
Normal file
@@ -0,0 +1,145 @@
|
||||
"use strict";
|
||||
(self["webpackChunkvideos"] = self["webpackChunkvideos"] || []).push([[702],{
|
||||
|
||||
/***/ 702:
|
||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ VideoTexture: () => (/* binding */ VideoTexture)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9128);
|
||||
/* harmony import */ var _Texture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8280);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* A texture for use with a video.
|
||||
*
|
||||
* ```js
|
||||
* // assuming you have created a HTML video element with id="video"
|
||||
* const video = document.getElementById( 'video' );
|
||||
* const texture = new THREE.VideoTexture( video );
|
||||
* ```
|
||||
*
|
||||
* Note: When using video textures with {@link WebGPURenderer}, {@link Texture#colorSpace} must be
|
||||
* set to THREE.SRGBColorSpace.
|
||||
*
|
||||
* Note: After the initial use of a texture, its dimensions, format, and type
|
||||
* cannot be changed. Instead, call {@link Texture#dispose} on the texture and instantiate a new one.
|
||||
*
|
||||
* @augments Texture
|
||||
*/
|
||||
class VideoTexture extends _Texture_js__WEBPACK_IMPORTED_MODULE_0__/* .Texture */ .g {
|
||||
|
||||
/**
|
||||
* Constructs a new video texture.
|
||||
*
|
||||
* @param {HTMLVideoElement} video - The video element to use as a data source for the texture.
|
||||
* @param {number} [mapping=Texture.DEFAULT_MAPPING] - The texture mapping.
|
||||
* @param {number} [wrapS=ClampToEdgeWrapping] - The wrapS value.
|
||||
* @param {number} [wrapT=ClampToEdgeWrapping] - The wrapT value.
|
||||
* @param {number} [magFilter=LinearFilter] - The mag filter value.
|
||||
* @param {number} [minFilter=LinearFilter] - The min filter value.
|
||||
* @param {number} [format=RGBAFormat] - The texture format.
|
||||
* @param {number} [type=UnsignedByteType] - The texture type.
|
||||
* @param {number} [anisotropy=Texture.DEFAULT_ANISOTROPY] - The anisotropy value.
|
||||
*/
|
||||
constructor( video, mapping, wrapS, wrapT, magFilter = _constants_js__WEBPACK_IMPORTED_MODULE_1__/* .LinearFilter */ .k6q, minFilter = _constants_js__WEBPACK_IMPORTED_MODULE_1__/* .LinearFilter */ .k6q, format, type, anisotropy ) {
|
||||
|
||||
super( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );
|
||||
|
||||
/**
|
||||
* This flag can be used for type testing.
|
||||
*
|
||||
* @type {boolean}
|
||||
* @readonly
|
||||
* @default true
|
||||
*/
|
||||
this.isVideoTexture = true;
|
||||
|
||||
/**
|
||||
* Whether to generate mipmaps (if possible) for a texture.
|
||||
*
|
||||
* Overwritten and set to `false` by default.
|
||||
*
|
||||
* @type {boolean}
|
||||
* @default false
|
||||
*/
|
||||
this.generateMipmaps = false;
|
||||
|
||||
/**
|
||||
* The video frame request callback identifier, which is a positive integer.
|
||||
*
|
||||
* Value of 0 represents no scheduled rVFC.
|
||||
*
|
||||
* @private
|
||||
* @type {number}
|
||||
*/
|
||||
this._requestVideoFrameCallbackId = 0;
|
||||
|
||||
const scope = this;
|
||||
|
||||
function updateVideo() {
|
||||
|
||||
scope.needsUpdate = true;
|
||||
scope._requestVideoFrameCallbackId = video.requestVideoFrameCallback( updateVideo );
|
||||
|
||||
}
|
||||
|
||||
if ( 'requestVideoFrameCallback' in video ) {
|
||||
|
||||
this._requestVideoFrameCallbackId = video.requestVideoFrameCallback( updateVideo );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
clone() {
|
||||
|
||||
return new this.constructor( this.image ).copy( this );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called automatically by the renderer and sets {@link Texture#needsUpdate}
|
||||
* to `true` every time a new frame is available.
|
||||
*
|
||||
* Only relevant if `requestVideoFrameCallback` is not supported in the browser.
|
||||
*/
|
||||
update() {
|
||||
|
||||
const video = this.image;
|
||||
const hasVideoFrameCallback = 'requestVideoFrameCallback' in video;
|
||||
|
||||
if ( hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA ) {
|
||||
|
||||
this.needsUpdate = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
dispose() {
|
||||
|
||||
if ( this._requestVideoFrameCallbackId !== 0 ) {
|
||||
|
||||
this.source.data.cancelVideoFrameCallback( this._requestVideoFrameCallbackId );
|
||||
|
||||
this._requestVideoFrameCallbackId = 0;
|
||||
|
||||
}
|
||||
|
||||
super.dispose();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=702.bundle.js.map
|
||||
1
videos/build/702.bundle.js.map
Normal file
1
videos/build/702.bundle.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"702.bundle.js","mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./node_modules/three/src/textures/VideoTexture.js"],"sourcesContent":["import { LinearFilter } from '../constants.js';\nimport { Texture } from './Texture.js';\n\n/**\n * A texture for use with a video.\n *\n * ```js\n * // assuming you have created a HTML video element with id=\"video\"\n * const video = document.getElementById( 'video' );\n * const texture = new THREE.VideoTexture( video );\n * ```\n *\n * Note: When using video textures with {@link WebGPURenderer}, {@link Texture#colorSpace} must be\n * set to THREE.SRGBColorSpace.\n *\n * Note: After the initial use of a texture, its dimensions, format, and type\n * cannot be changed. Instead, call {@link Texture#dispose} on the texture and instantiate a new one.\n *\n * @augments Texture\n */\nclass VideoTexture extends Texture {\n\n\t/**\n\t * Constructs a new video texture.\n\t *\n\t * @param {HTMLVideoElement} video - The video element to use as a data source for the texture.\n\t * @param {number} [mapping=Texture.DEFAULT_MAPPING] - The texture mapping.\n\t * @param {number} [wrapS=ClampToEdgeWrapping] - The wrapS value.\n\t * @param {number} [wrapT=ClampToEdgeWrapping] - The wrapT value.\n\t * @param {number} [magFilter=LinearFilter] - The mag filter value.\n\t * @param {number} [minFilter=LinearFilter] - The min filter value.\n\t * @param {number} [format=RGBAFormat] - The texture format.\n\t * @param {number} [type=UnsignedByteType] - The texture type.\n\t * @param {number} [anisotropy=Texture.DEFAULT_ANISOTROPY] - The anisotropy value.\n\t */\n\tconstructor( video, mapping, wrapS, wrapT, magFilter = LinearFilter, minFilter = LinearFilter, format, type, anisotropy ) {\n\n\t\tsuper( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy );\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isVideoTexture = true;\n\n\t\t/**\n\t\t * Whether to generate mipmaps (if possible) for a texture.\n\t\t *\n\t\t * Overwritten and set to `false` by default.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.generateMipmaps = false;\n\n\t\t/**\n\t\t * The video frame request callback identifier, which is a positive integer.\n\t\t *\n\t\t * Value of 0 represents no scheduled rVFC.\n\t\t *\n\t\t * @private\n\t\t * @type {number}\n\t\t */\n\t\tthis._requestVideoFrameCallbackId = 0;\n\n\t\tconst scope = this;\n\n\t\tfunction updateVideo() {\n\n\t\t\tscope.needsUpdate = true;\n\t\t\tscope._requestVideoFrameCallbackId = video.requestVideoFrameCallback( updateVideo );\n\n\t\t}\n\n\t\tif ( 'requestVideoFrameCallback' in video ) {\n\n\t\t\tthis._requestVideoFrameCallbackId = video.requestVideoFrameCallback( updateVideo );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.image ).copy( this );\n\n\t}\n\n\t/**\n\t * This method is called automatically by the renderer and sets {@link Texture#needsUpdate}\n\t * to `true` every time a new frame is available.\n\t *\n\t * Only relevant if `requestVideoFrameCallback` is not supported in the browser.\n\t */\n\tupdate() {\n\n\t\tconst video = this.image;\n\t\tconst hasVideoFrameCallback = 'requestVideoFrameCallback' in video;\n\n\t\tif ( hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA ) {\n\n\t\t\tthis.needsUpdate = true;\n\n\t\t}\n\n\t}\n\n\tdispose() {\n\n\t\tif ( this._requestVideoFrameCallbackId !== 0 ) {\n\n\t\t\tthis.source.data.cancelVideoFrameCallback( this._requestVideoFrameCallbackId );\n\n\t\t\tthis._requestVideoFrameCallbackId = 0;\n\n\t\t}\n\n\t\tsuper.dispose();\n\n\t}\n\n}\n\nexport { VideoTexture };\n"],"names":[],"sourceRoot":""}
|
||||
64
videos/build/761.bundle.js
Normal file
64
videos/build/761.bundle.js
Normal file
@@ -0,0 +1,64 @@
|
||||
"use strict";
|
||||
(self["webpackChunkvideos"] = self["webpackChunkvideos"] || []).push([[761],{
|
||||
|
||||
/***/ 761:
|
||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ ZodZypesInternals: () => (/* binding */ ZodZypesInternals),
|
||||
/* harmony export */ zColor: () => (/* binding */ zColor),
|
||||
/* harmony export */ zMatrix: () => (/* binding */ zMatrix),
|
||||
/* harmony export */ zTextarea: () => (/* binding */ zTextarea)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var remotion_no_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9382);
|
||||
/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4476);
|
||||
// src/z-color.ts
|
||||
|
||||
|
||||
var REMOTION_COLOR_BRAND = "__remotion-color";
|
||||
var parseColor = (value) => {
|
||||
const colored = remotion_no_react__WEBPACK_IMPORTED_MODULE_0__.NoReactInternals.processColor(value).toString(16).padStart(8, "0");
|
||||
const opacity = parseInt(colored.slice(0, 2), 16);
|
||||
const r = parseInt(colored.slice(2, 4), 16);
|
||||
const g = parseInt(colored.slice(4, 6), 16);
|
||||
const b = parseInt(colored.slice(6, 8), 16);
|
||||
return { a: opacity, r, g, b };
|
||||
};
|
||||
var zColor = () => zod__WEBPACK_IMPORTED_MODULE_1__.z.string().refine((value) => {
|
||||
try {
|
||||
parseColor(value);
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}, { message: "Invalid color" }).describe(REMOTION_COLOR_BRAND);
|
||||
|
||||
// src/z-matrix.ts
|
||||
|
||||
var REMOTION_MATRIX_BRAND = "__remotion-matrix";
|
||||
var zMatrix = () => zod__WEBPACK_IMPORTED_MODULE_1__.z.array(zod__WEBPACK_IMPORTED_MODULE_1__.z.number().step(0.01)).refine((value) => {
|
||||
const count = value.length;
|
||||
const root = Math.sqrt(count);
|
||||
return Number.isInteger(root) && root > 0;
|
||||
}, { message: "Invalid matrix, must be a square matrix" }).describe(REMOTION_MATRIX_BRAND);
|
||||
|
||||
// src/z-textarea.ts
|
||||
|
||||
var REMOTION_TEXTAREA_BRAND = "__remotion-textarea";
|
||||
var zTextarea = () => zod__WEBPACK_IMPORTED_MODULE_1__.z.string().describe(REMOTION_TEXTAREA_BRAND);
|
||||
|
||||
// src/index.ts
|
||||
var ZodZypesInternals = {
|
||||
parseColor,
|
||||
REMOTION_COLOR_BRAND,
|
||||
REMOTION_TEXTAREA_BRAND,
|
||||
REMOTION_MATRIX_BRAND
|
||||
};
|
||||
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=761.bundle.js.map
|
||||
1
videos/build/761.bundle.js.map
Normal file
1
videos/build/761.bundle.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"761.bundle.js","mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA","sources":["./node_modules/@remotion/zod-types/dist/esm/index.mjs"],"sourcesContent":["// src/z-color.ts\nimport { NoReactInternals } from \"remotion/no-react\";\nimport { z } from \"zod\";\nvar REMOTION_COLOR_BRAND = \"__remotion-color\";\nvar parseColor = (value) => {\n const colored = NoReactInternals.processColor(value).toString(16).padStart(8, \"0\");\n const opacity = parseInt(colored.slice(0, 2), 16);\n const r = parseInt(colored.slice(2, 4), 16);\n const g = parseInt(colored.slice(4, 6), 16);\n const b = parseInt(colored.slice(6, 8), 16);\n return { a: opacity, r, g, b };\n};\nvar zColor = () => z.string().refine((value) => {\n try {\n parseColor(value);\n return true;\n } catch {\n return false;\n }\n}, { message: \"Invalid color\" }).describe(REMOTION_COLOR_BRAND);\n\n// src/z-matrix.ts\nimport { z as z2 } from \"zod\";\nvar REMOTION_MATRIX_BRAND = \"__remotion-matrix\";\nvar zMatrix = () => z2.array(z2.number().step(0.01)).refine((value) => {\n const count = value.length;\n const root = Math.sqrt(count);\n return Number.isInteger(root) && root > 0;\n}, { message: \"Invalid matrix, must be a square matrix\" }).describe(REMOTION_MATRIX_BRAND);\n\n// src/z-textarea.ts\nimport { z as z3 } from \"zod\";\nvar REMOTION_TEXTAREA_BRAND = \"__remotion-textarea\";\nvar zTextarea = () => z3.string().describe(REMOTION_TEXTAREA_BRAND);\n\n// src/index.ts\nvar ZodZypesInternals = {\n parseColor,\n REMOTION_COLOR_BRAND,\n REMOTION_TEXTAREA_BRAND,\n REMOTION_MATRIX_BRAND\n};\nexport {\n zTextarea,\n zMatrix,\n zColor,\n ZodZypesInternals\n};\n"],"names":[],"sourceRoot":""}
|
||||
142597
videos/build/bundle.js
Normal file
142597
videos/build/bundle.js
Normal file
File diff suppressed because one or more lines are too long
1
videos/build/bundle.js.map
Normal file
1
videos/build/bundle.js.map
Normal file
File diff suppressed because one or more lines are too long
BIN
videos/build/favicon.ico
Normal file
BIN
videos/build/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
48
videos/build/index.html
Normal file
48
videos/build/index.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link id="__remotion_favicon" rel="icon" type="image/png" href="/favicon.ico" />
|
||||
<title>Remotion Bundle</title>
|
||||
</head>
|
||||
<body>
|
||||
<script>window.remotion_numberOfAudioTags = 0;</script>
|
||||
<script>window.remotion_audioLatencyHint = "interactive";</script>
|
||||
|
||||
<script>window.remotion_staticBase = "/public";</script>
|
||||
<script>window.remotion_editorName = null;</script>
|
||||
<script>window.remotion_projectName = "videos";</script>
|
||||
<script>window.remotion_publicPath = "/";</script>
|
||||
<script>window.remotion_audioEnabled = true;</script>
|
||||
<script>window.remotion_videoEnabled = true;</script>
|
||||
<script>window.remotion_renderDefaults = {"darkMode":false,"jpegQuality":80,"scale":1,"logLevel":"info","codec":"h264","concurrency":8,"maxConcurrency":24,"minConcurrency":1,"stillImageFormat":"png","videoImageFormat":"jpeg","muted":false,"enforceAudioTrack":false,"proResProfile":null,"x264Preset":"medium","pixelFormat":"yuv420p","audioBitrate":null,"videoBitrate":null,"encodingBufferSize":null,"encodingMaxRate":null,"everyNthFrame":1,"delayRenderTimeout":30000,"audioCodec":null,"disableWebSecurity":false,"headless":true,"ignoreCertificateErrors":false,"openGlRenderer":null,"offthreadVideoCacheSizeInBytes":null,"offthreadVideoThreads":null,"colorSpace":"default","multiProcessOnLinux":true,"userAgent":null,"repro":false,"numberOfGifLoops":null,"beepOnFinish":false,"forSeamlessAacConcatenation":false,"hardwareAcceleration":"disable","chromeMode":"headless-shell","mediaCacheSizeInBytes":null,"publicLicenseKey":null};</script>
|
||||
<script>window.remotion_cwd = "/var/home/user/Code/einundzwanzig-verein/videos";</script>
|
||||
<script>window.remotion_studioServerCommand = null;</script>
|
||||
|
||||
|
||||
|
||||
<script>window.remotion_gitSource = {"name":"einundzwanzig-nostr","org":"HolgerHatGarKeineNode","ref":"master","type":"github","relativeFromGitRoot":"videos"};</script>
|
||||
|
||||
<script>window.remotion_staticFiles = [{"name":"einundzwanzig-horizontal-inverted.svg","lastModified":1769196231093,"sizeInBytes":6090,"src":"/public/einundzwanzig-horizontal-inverted.svg"},{"name":"einundzwanzig-square-inverted.svg","lastModified":1769196624098,"sizeInBytes":8610,"src":"/public/einundzwanzig-square-inverted.svg"},{"name":"einundzwanzig-wallpaper.png","lastModified":1769196231092,"sizeInBytes":941531,"src":"/public/einundzwanzig-wallpaper.png"},{"name":"music/background-music.mp3","lastModified":1752070071240,"sizeInBytes":3129617,"src":"/public/music/background-music.mp3"},{"name":"music/README.md","lastModified":1769197256953,"sizeInBytes":197,"src":"/public/music/README.md"},{"name":"sfx/badge-appear.mp3","lastModified":1769198255659,"sizeInBytes":17633,"src":"/public/sfx/badge-appear.mp3"},{"name":"sfx/button-click.mp3","lastModified":1769197951358,"sizeInBytes":3177,"src":"/public/sfx/button-click.mp3"},{"name":"sfx/button-hover.mp3","lastModified":1769197951448,"sizeInBytes":6939,"src":"/public/sfx/button-hover.mp3"},{"name":"sfx/card-slide.mp3","lastModified":1769197968932,"sizeInBytes":7566,"src":"/public/sfx/card-slide.mp3"},{"name":"sfx/checkmark-pop.mp3","lastModified":1769198256021,"sizeInBytes":11328,"src":"/public/sfx/checkmark-pop.mp3"},{"name":"sfx/final-chime.mp3","lastModified":1769198291390,"sizeInBytes":5058,"src":"/public/sfx/final-chime.mp3"},{"name":"sfx/logo-reveal.mp3","lastModified":1769197968851,"sizeInBytes":4431,"src":"/public/sfx/logo-reveal.mp3"},{"name":"sfx/logo-whoosh.mp3","lastModified":1769197968765,"sizeInBytes":127355,"src":"/public/sfx/logo-whoosh.mp3"},{"name":"sfx/outro-entrance.mp3","lastModified":1769198264645,"sizeInBytes":127355,"src":"/public/sfx/outro-entrance.mp3"},{"name":"sfx/README.md","lastModified":1769197256954,"sizeInBytes":422,"src":"/public/sfx/README.md"},{"name":"sfx/slide-in.mp3","lastModified":1769198290554,"sizeInBytes":10701,"src":"/public/sfx/slide-in.mp3"},{"name":"sfx/success-chime.mp3","lastModified":1769197951550,"sizeInBytes":14462,"src":"/public/sfx/success-chime.mp3"},{"name":"sfx/success-fanfare.mp3","lastModified":1769198255333,"sizeInBytes":65152,"src":"/public/sfx/success-fanfare.mp3"},{"name":"sfx/typing.mp3","lastModified":1769198252472,"sizeInBytes":291051,"src":"/public/sfx/typing.mp3"},{"name":"sfx/ui-appear.mp3","lastModified":1769197969020,"sizeInBytes":4431,"src":"/public/sfx/ui-appear.mp3"},{"name":"sfx/url-emphasis.mp3","lastModified":1769198290984,"sizeInBytes":5058,"src":"/public/sfx/url-emphasis.mp3"}]</script>
|
||||
<script>window.remotion_installedPackages = null</script>
|
||||
<script>window.remotion_packageManager = "unknown"</script>
|
||||
<script>window.remotion_publicFolderExists = "/public";</script>
|
||||
<script>
|
||||
window.siteVersion = '11';
|
||||
window.remotion_version = '4.0.409';
|
||||
</script>
|
||||
|
||||
<div id="video-container"></div>
|
||||
<div id="__remotion-studio-container"></div>
|
||||
<div id="menuportal-0"></div>
|
||||
<div id="menuportal-1"></div>
|
||||
<div id="menuportal-2"></div>
|
||||
<div id="menuportal-3"></div>
|
||||
<div id="menuportal-4"></div>
|
||||
<div id="menuportal-5"></div>
|
||||
<div id="remotion-error-overlay"></div>
|
||||
<div id="server-disconnected-overlay"></div>
|
||||
<script src="/bundle.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 5.9 KiB |
1
videos/build/public/einundzwanzig-square-inverted.svg
Normal file
1
videos/build/public/einundzwanzig-square-inverted.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 8.4 KiB |
BIN
videos/build/public/einundzwanzig-wallpaper.png
Normal file
BIN
videos/build/public/einundzwanzig-wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 920 KiB |
8
videos/build/public/music/README.md
Normal file
8
videos/build/public/music/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Background Music
|
||||
|
||||
Place your background music file here:
|
||||
- `background-music.mp3`
|
||||
|
||||
Recommended: 40-60 seconds, loop-friendly, tech/crypto theme
|
||||
|
||||
See AUDIO_GUIDE.md for download sources and tips.
|
||||
BIN
videos/build/public/music/background-music.mp3
Executable file
BIN
videos/build/public/music/background-music.mp3
Executable file
Binary file not shown.
22
videos/build/public/sfx/README.md
Normal file
22
videos/build/public/sfx/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Sound Effects
|
||||
|
||||
Place the following sound effect files here:
|
||||
|
||||
## Required Files:
|
||||
- logo-whoosh.mp3
|
||||
- logo-reveal.mp3
|
||||
- card-slide.mp3
|
||||
- ui-appear.mp3
|
||||
- typing.mp3
|
||||
- slide-in.mp3
|
||||
- button-hover.mp3
|
||||
- button-click.mp3
|
||||
- success-chime.mp3
|
||||
- success-fanfare.mp3
|
||||
- badge-appear.mp3
|
||||
- checkmark-pop.mp3
|
||||
- outro-entrance.mp3
|
||||
- url-emphasis.mp3
|
||||
- final-chime.mp3
|
||||
|
||||
See AUDIO_GUIDE.md for detailed descriptions and download links.
|
||||
BIN
videos/build/public/sfx/badge-appear.mp3
Normal file
BIN
videos/build/public/sfx/badge-appear.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/button-click.mp3
Normal file
BIN
videos/build/public/sfx/button-click.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/button-hover.mp3
Normal file
BIN
videos/build/public/sfx/button-hover.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/card-slide.mp3
Normal file
BIN
videos/build/public/sfx/card-slide.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/checkmark-pop.mp3
Normal file
BIN
videos/build/public/sfx/checkmark-pop.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/final-chime.mp3
Normal file
BIN
videos/build/public/sfx/final-chime.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/logo-reveal.mp3
Normal file
BIN
videos/build/public/sfx/logo-reveal.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/logo-whoosh.mp3
Normal file
BIN
videos/build/public/sfx/logo-whoosh.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/outro-entrance.mp3
Normal file
BIN
videos/build/public/sfx/outro-entrance.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/slide-in.mp3
Normal file
BIN
videos/build/public/sfx/slide-in.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/success-chime.mp3
Normal file
BIN
videos/build/public/sfx/success-chime.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/success-fanfare.mp3
Normal file
BIN
videos/build/public/sfx/success-fanfare.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/typing.mp3
Normal file
BIN
videos/build/public/sfx/typing.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/ui-appear.mp3
Normal file
BIN
videos/build/public/sfx/ui-appear.mp3
Normal file
Binary file not shown.
BIN
videos/build/public/sfx/url-emphasis.mp3
Normal file
BIN
videos/build/public/sfx/url-emphasis.mp3
Normal file
Binary file not shown.
BIN
videos/build/source-map-helper.wasm
Normal file
BIN
videos/build/source-map-helper.wasm
Normal file
Binary file not shown.
Reference in New Issue
Block a user