@tarsis/toolkit 0.6.5 → 0.7.0
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/dist/Container-BVX2MW1U.cjs +138 -0
- package/dist/Container-BirkN1fA.js +119 -0
- package/dist/SelectBase-BC6WKZVF.cjs +448 -0
- package/dist/SelectBase-DPcXvMTa.js +399 -0
- package/dist/Slot-SOe-b2n6.cjs +77 -0
- package/dist/Slot-z71j7q57.js +65 -0
- package/dist/animation-BFpILbqb.js +102 -0
- package/dist/animation-BauloIgQ.cjs +119 -0
- package/dist/assets-BMqH4phf.cjs +52 -0
- package/dist/assets-huTvlamy.js +29 -0
- package/dist/audio/fail.mp3 +0 -0
- package/dist/audio/fail.ogg +0 -0
- package/dist/audio/hover.mp3 +0 -0
- package/dist/audio/hover.ogg +0 -0
- package/dist/audio/lock/fail.mp3 +0 -0
- package/dist/audio/lock/fail.ogg +0 -0
- package/dist/audio/lock/hover.mp3 +0 -0
- package/dist/audio/lock/hover.ogg +0 -0
- package/dist/audio/lock/prev-next.mp3 +0 -0
- package/dist/audio/lock/prev-next.ogg +0 -0
- package/dist/audio/lock/select.mp3 +0 -0
- package/dist/audio/lock/select.ogg +0 -0
- package/dist/audio/lock/success.mp3 +0 -0
- package/dist/audio/lock/success.ogg +0 -0
- package/dist/audio/prev-next.mp3 +0 -0
- package/dist/audio/prev-next.ogg +0 -0
- package/dist/audio/select.mp3 +0 -0
- package/dist/audio/select.ogg +0 -0
- package/dist/audio/success.mp3 +0 -0
- package/dist/audio/success.ogg +0 -0
- package/dist/chunk-CKQMccvm.cjs +28 -0
- package/dist/fonts/orbitron/orbitron-black.fnt +426 -0
- package/dist/fonts/orbitron/orbitron-black.png +0 -0
- package/dist/fonts/orbitron-black.fnt +426 -0
- package/dist/fonts/orbitron-black.png +0 -0
- package/dist/gl-B0NhVYRl.cjs +177 -0
- package/dist/gl-BipoEx9s.js +171 -0
- package/dist/hooks.cjs +661 -24
- package/dist/hooks.d.ts +72 -0
- package/dist/hooks.js +635 -1
- package/dist/index.cjs +26708 -384
- package/dist/index.d.ts +913 -27
- package/dist/index.js +26282 -3
- package/dist/layout.cjs +5 -0
- package/dist/layout.d.ts +45 -0
- package/dist/layout.js +2 -0
- package/dist/primitives.cjs +13 -0
- package/dist/primitives.d.ts +178 -0
- package/dist/primitives.js +3 -0
- package/dist/server.cjs +25 -0
- package/dist/server.d.ts +70 -0
- package/dist/server.js +2 -0
- package/dist/styles.css +3872 -2798
- package/dist/tokens-B2AxRYyF.js +434 -0
- package/dist/tokens-DlMougUi.cjs +469 -0
- package/dist/tokens.cjs +12 -0
- package/dist/tokens.d.ts +435 -0
- package/dist/tokens.js +3 -0
- package/dist/useMergeRefs-BM2-gSLn.js +16 -0
- package/dist/useMergeRefs-C_l6omwU.cjs +28 -0
- package/dist/utils-BGgmkNY4.cjs +330 -0
- package/dist/utils-Dw5El_3G.js +222 -0
- package/dist/utils.cjs +44 -38
- package/dist/utils.d.ts +75 -0
- package/dist/utils.js +3 -1
- package/dist/values-BTw18-W5.js +138 -0
- package/dist/values-BqSJ0h9o.cjs +275 -0
- package/package.json +88 -36
- package/dist/gl-Bp3e3vph.js +0 -3258
- package/dist/gl-Duf2UKsB.cjs +0 -3262
- package/dist/index-BcIzOPR7.cjs +0 -116866
- package/dist/index-BjG_vCX_.js +0 -3910
- package/dist/index-ZBjz1bHI.cjs +0 -3912
- package/dist/index-ss50SEnC.js +0 -116503
- package/dist/svg-BT_esDTZ.cjs +0 -236
- package/dist/svg-CQLdTbLk.js +0 -205
- package/dist/useWindowReady-6kIdYolB.cjs +0 -9317
- package/dist/useWindowReady-tUs-ONyG.js +0 -9224
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
const require_chunk = require("./chunk-CKQMccvm.cjs");
|
|
2
|
+
const require_assets = require("./assets-BMqH4phf.cjs");
|
|
3
|
+
let three = require("three");
|
|
4
|
+
three = require_chunk.__toESM(three);
|
|
5
|
+
let load_bmfont = require("load-bmfont");
|
|
6
|
+
load_bmfont = require_chunk.__toESM(load_bmfont);
|
|
7
|
+
let three_bmfont_text = require("three-bmfont-text");
|
|
8
|
+
three_bmfont_text = require_chunk.__toESM(three_bmfont_text);
|
|
9
|
+
let three_bmfont_text_shaders_msdf = require("three-bmfont-text/shaders/msdf");
|
|
10
|
+
three_bmfont_text_shaders_msdf = require_chunk.__toESM(three_bmfont_text_shaders_msdf);
|
|
11
|
+
let three_orbit_controls = require("three-orbit-controls");
|
|
12
|
+
three_orbit_controls = require_chunk.__toESM(three_orbit_controls);
|
|
13
|
+
//#region src/components/Loaders/EndlessLoader/shaders.ts
|
|
14
|
+
var vertexShader = `
|
|
15
|
+
varying vec2 vUv;
|
|
16
|
+
varying vec3 vPos;
|
|
17
|
+
|
|
18
|
+
void main() {
|
|
19
|
+
vUv = uv;
|
|
20
|
+
vPos = position;
|
|
21
|
+
|
|
22
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.);
|
|
23
|
+
}
|
|
24
|
+
`;
|
|
25
|
+
var fragmentShader = `
|
|
26
|
+
varying vec2 vUv;
|
|
27
|
+
varying vec3 vPos;
|
|
28
|
+
|
|
29
|
+
uniform sampler2D uTexture;
|
|
30
|
+
uniform float uTime;
|
|
31
|
+
|
|
32
|
+
void main() {
|
|
33
|
+
float time = uTime * 0.5;
|
|
34
|
+
vec2 repeat = -vec2(12., 3.);
|
|
35
|
+
// To repeat the uvs we need to multiply them by a scalar
|
|
36
|
+
// and then get the fractional part of it so they from 0 to 1
|
|
37
|
+
// To move them continuously we have to add time
|
|
38
|
+
// to the x or y component, to change the direction
|
|
39
|
+
vec2 uv = fract(vUv * repeat - vec2(time, 0.)); // The sign of time change direction of movement
|
|
40
|
+
|
|
41
|
+
// Fake shadow
|
|
42
|
+
float shadow = clamp(vPos.z / 5., 0., 1.);
|
|
43
|
+
|
|
44
|
+
vec3 texture = texture2D(uTexture, uv).rgb;
|
|
45
|
+
// texture *= vec3(uv.x, uv.y, 1.); // To help visualize the repeated uvs
|
|
46
|
+
|
|
47
|
+
gl_FragColor = vec4(texture * shadow, 1.);
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/components/Loaders/EndlessLoader/gl.ts
|
|
52
|
+
var GL = class {
|
|
53
|
+
renderer;
|
|
54
|
+
camera;
|
|
55
|
+
scene;
|
|
56
|
+
controls;
|
|
57
|
+
clock;
|
|
58
|
+
rt;
|
|
59
|
+
rtCamera;
|
|
60
|
+
rtScene;
|
|
61
|
+
text;
|
|
62
|
+
mesh;
|
|
63
|
+
geometry;
|
|
64
|
+
material;
|
|
65
|
+
fontGeometry;
|
|
66
|
+
fontMaterial;
|
|
67
|
+
loader;
|
|
68
|
+
rafId;
|
|
69
|
+
isDestroyed = false;
|
|
70
|
+
boundResize = null;
|
|
71
|
+
constructor(container) {
|
|
72
|
+
this.renderer = new three.WebGLRenderer({ alpha: true });
|
|
73
|
+
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 1.5));
|
|
74
|
+
this.renderer.setSize(window.innerWidth, window.innerHeight);
|
|
75
|
+
this.renderer.setClearColor(0, 1);
|
|
76
|
+
(container || document.body).appendChild(this.renderer.domElement);
|
|
77
|
+
this.camera = new three.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1e3);
|
|
78
|
+
this.camera.position.z = 60;
|
|
79
|
+
this.scene = new three.Scene();
|
|
80
|
+
this.controls = new ((0, three_orbit_controls.default)(three))(this.camera, this.renderer.domElement);
|
|
81
|
+
this.clock = new three.Clock();
|
|
82
|
+
}
|
|
83
|
+
init() {
|
|
84
|
+
(0, load_bmfont.default)(require_assets.endlessLoaderAssets.font, (_, font) => {
|
|
85
|
+
this.fontGeometry = (0, three_bmfont_text.default)({
|
|
86
|
+
font,
|
|
87
|
+
text: "ENDLESS"
|
|
88
|
+
});
|
|
89
|
+
this.loader = new three.TextureLoader();
|
|
90
|
+
this.loader.load(require_assets.endlessLoaderAssets.atlas, (texture) => {
|
|
91
|
+
this.fontMaterial = new three.RawShaderMaterial((0, three_bmfont_text_shaders_msdf.default)({
|
|
92
|
+
map: texture,
|
|
93
|
+
side: three.DoubleSide,
|
|
94
|
+
transparent: true,
|
|
95
|
+
negate: false,
|
|
96
|
+
color: 16777215
|
|
97
|
+
}));
|
|
98
|
+
this.createRenderTarget();
|
|
99
|
+
this.createMesh();
|
|
100
|
+
this.animate();
|
|
101
|
+
this.addEvents();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
createRenderTarget() {
|
|
106
|
+
this.rt = new three.WebGLRenderTarget(window.innerWidth, window.innerHeight);
|
|
107
|
+
this.rtCamera = new three.PerspectiveCamera(45, 1, .1, 1e3);
|
|
108
|
+
this.rtCamera.position.z = 2.5;
|
|
109
|
+
this.rtScene = new three.Scene();
|
|
110
|
+
this.rtScene.background = new three.Color("#000000");
|
|
111
|
+
this.text = new three.Mesh(this.fontGeometry, this.fontMaterial);
|
|
112
|
+
this.text.position.set(-.965, -.525, 0);
|
|
113
|
+
this.text.rotation.set(Math.PI, 0, 0);
|
|
114
|
+
this.text.scale.set(.008, .04, 1);
|
|
115
|
+
this.rtScene.add(this.text);
|
|
116
|
+
}
|
|
117
|
+
createMesh() {
|
|
118
|
+
if (!this.rt) return;
|
|
119
|
+
this.geometry = new three.TorusKnotGeometry(9, 3, 768, 3, 4, 3);
|
|
120
|
+
this.material = new three.ShaderMaterial({
|
|
121
|
+
vertexShader,
|
|
122
|
+
fragmentShader,
|
|
123
|
+
uniforms: {
|
|
124
|
+
uTime: { value: 0 },
|
|
125
|
+
uTexture: { value: this.rt.texture }
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
this.mesh = new three.Mesh(this.geometry, this.material);
|
|
129
|
+
this.scene.add(this.mesh);
|
|
130
|
+
}
|
|
131
|
+
animate() {
|
|
132
|
+
if (this.isDestroyed) return;
|
|
133
|
+
this.rafId = requestAnimationFrame(this.animate.bind(this));
|
|
134
|
+
this.render();
|
|
135
|
+
}
|
|
136
|
+
render() {
|
|
137
|
+
if (!this.material || !this.rt || !this.rtScene || !this.rtCamera) return;
|
|
138
|
+
this.controls.update();
|
|
139
|
+
this.material.uniforms.uTime.value = this.clock.getElapsedTime();
|
|
140
|
+
this.renderer.setRenderTarget(this.rt);
|
|
141
|
+
this.renderer.render(this.rtScene, this.rtCamera);
|
|
142
|
+
this.renderer.setRenderTarget(null);
|
|
143
|
+
this.renderer.render(this.scene, this.camera);
|
|
144
|
+
}
|
|
145
|
+
addEvents() {
|
|
146
|
+
this.boundResize = this.resize.bind(this);
|
|
147
|
+
window.addEventListener("resize", this.boundResize);
|
|
148
|
+
}
|
|
149
|
+
resize() {
|
|
150
|
+
const width = window.innerWidth;
|
|
151
|
+
const height = window.innerHeight;
|
|
152
|
+
this.camera.aspect = width / height;
|
|
153
|
+
this.camera.updateProjectionMatrix();
|
|
154
|
+
this.renderer.setSize(width, height);
|
|
155
|
+
}
|
|
156
|
+
destroy() {
|
|
157
|
+
this.isDestroyed = true;
|
|
158
|
+
if (this.rafId) {
|
|
159
|
+
cancelAnimationFrame(this.rafId);
|
|
160
|
+
this.rafId = void 0;
|
|
161
|
+
}
|
|
162
|
+
if (this.boundResize) {
|
|
163
|
+
window.removeEventListener("resize", this.boundResize);
|
|
164
|
+
this.boundResize = null;
|
|
165
|
+
}
|
|
166
|
+
if (this.geometry) this.geometry.dispose();
|
|
167
|
+
if (this.material) this.material.dispose();
|
|
168
|
+
if (this.fontMaterial) this.fontMaterial.dispose();
|
|
169
|
+
if (this.rt) this.rt.dispose();
|
|
170
|
+
if (this.renderer) {
|
|
171
|
+
this.renderer.dispose();
|
|
172
|
+
if (this.renderer.domElement.parentNode) this.renderer.domElement.parentNode.removeChild(this.renderer.domElement);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
//#endregion
|
|
177
|
+
exports.GL = GL;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { n as endlessLoaderAssets } from "./assets-huTvlamy.js";
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
import loadFont from "load-bmfont";
|
|
4
|
+
import createGeometry from "three-bmfont-text";
|
|
5
|
+
import MSDFShader from "three-bmfont-text/shaders/msdf";
|
|
6
|
+
import OrbitControls from "three-orbit-controls";
|
|
7
|
+
//#region src/components/Loaders/EndlessLoader/shaders.ts
|
|
8
|
+
var vertexShader = `
|
|
9
|
+
varying vec2 vUv;
|
|
10
|
+
varying vec3 vPos;
|
|
11
|
+
|
|
12
|
+
void main() {
|
|
13
|
+
vUv = uv;
|
|
14
|
+
vPos = position;
|
|
15
|
+
|
|
16
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.);
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
var fragmentShader = `
|
|
20
|
+
varying vec2 vUv;
|
|
21
|
+
varying vec3 vPos;
|
|
22
|
+
|
|
23
|
+
uniform sampler2D uTexture;
|
|
24
|
+
uniform float uTime;
|
|
25
|
+
|
|
26
|
+
void main() {
|
|
27
|
+
float time = uTime * 0.5;
|
|
28
|
+
vec2 repeat = -vec2(12., 3.);
|
|
29
|
+
// To repeat the uvs we need to multiply them by a scalar
|
|
30
|
+
// and then get the fractional part of it so they from 0 to 1
|
|
31
|
+
// To move them continuously we have to add time
|
|
32
|
+
// to the x or y component, to change the direction
|
|
33
|
+
vec2 uv = fract(vUv * repeat - vec2(time, 0.)); // The sign of time change direction of movement
|
|
34
|
+
|
|
35
|
+
// Fake shadow
|
|
36
|
+
float shadow = clamp(vPos.z / 5., 0., 1.);
|
|
37
|
+
|
|
38
|
+
vec3 texture = texture2D(uTexture, uv).rgb;
|
|
39
|
+
// texture *= vec3(uv.x, uv.y, 1.); // To help visualize the repeated uvs
|
|
40
|
+
|
|
41
|
+
gl_FragColor = vec4(texture * shadow, 1.);
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/components/Loaders/EndlessLoader/gl.ts
|
|
46
|
+
var GL = class {
|
|
47
|
+
renderer;
|
|
48
|
+
camera;
|
|
49
|
+
scene;
|
|
50
|
+
controls;
|
|
51
|
+
clock;
|
|
52
|
+
rt;
|
|
53
|
+
rtCamera;
|
|
54
|
+
rtScene;
|
|
55
|
+
text;
|
|
56
|
+
mesh;
|
|
57
|
+
geometry;
|
|
58
|
+
material;
|
|
59
|
+
fontGeometry;
|
|
60
|
+
fontMaterial;
|
|
61
|
+
loader;
|
|
62
|
+
rafId;
|
|
63
|
+
isDestroyed = false;
|
|
64
|
+
boundResize = null;
|
|
65
|
+
constructor(container) {
|
|
66
|
+
this.renderer = new THREE.WebGLRenderer({ alpha: true });
|
|
67
|
+
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 1.5));
|
|
68
|
+
this.renderer.setSize(window.innerWidth, window.innerHeight);
|
|
69
|
+
this.renderer.setClearColor(0, 1);
|
|
70
|
+
(container || document.body).appendChild(this.renderer.domElement);
|
|
71
|
+
this.camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1e3);
|
|
72
|
+
this.camera.position.z = 60;
|
|
73
|
+
this.scene = new THREE.Scene();
|
|
74
|
+
this.controls = new (OrbitControls(THREE))(this.camera, this.renderer.domElement);
|
|
75
|
+
this.clock = new THREE.Clock();
|
|
76
|
+
}
|
|
77
|
+
init() {
|
|
78
|
+
loadFont(endlessLoaderAssets.font, (_, font) => {
|
|
79
|
+
this.fontGeometry = createGeometry({
|
|
80
|
+
font,
|
|
81
|
+
text: "ENDLESS"
|
|
82
|
+
});
|
|
83
|
+
this.loader = new THREE.TextureLoader();
|
|
84
|
+
this.loader.load(endlessLoaderAssets.atlas, (texture) => {
|
|
85
|
+
this.fontMaterial = new THREE.RawShaderMaterial(MSDFShader({
|
|
86
|
+
map: texture,
|
|
87
|
+
side: THREE.DoubleSide,
|
|
88
|
+
transparent: true,
|
|
89
|
+
negate: false,
|
|
90
|
+
color: 16777215
|
|
91
|
+
}));
|
|
92
|
+
this.createRenderTarget();
|
|
93
|
+
this.createMesh();
|
|
94
|
+
this.animate();
|
|
95
|
+
this.addEvents();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
createRenderTarget() {
|
|
100
|
+
this.rt = new THREE.WebGLRenderTarget(window.innerWidth, window.innerHeight);
|
|
101
|
+
this.rtCamera = new THREE.PerspectiveCamera(45, 1, .1, 1e3);
|
|
102
|
+
this.rtCamera.position.z = 2.5;
|
|
103
|
+
this.rtScene = new THREE.Scene();
|
|
104
|
+
this.rtScene.background = new THREE.Color("#000000");
|
|
105
|
+
this.text = new THREE.Mesh(this.fontGeometry, this.fontMaterial);
|
|
106
|
+
this.text.position.set(-.965, -.525, 0);
|
|
107
|
+
this.text.rotation.set(Math.PI, 0, 0);
|
|
108
|
+
this.text.scale.set(.008, .04, 1);
|
|
109
|
+
this.rtScene.add(this.text);
|
|
110
|
+
}
|
|
111
|
+
createMesh() {
|
|
112
|
+
if (!this.rt) return;
|
|
113
|
+
this.geometry = new THREE.TorusKnotGeometry(9, 3, 768, 3, 4, 3);
|
|
114
|
+
this.material = new THREE.ShaderMaterial({
|
|
115
|
+
vertexShader,
|
|
116
|
+
fragmentShader,
|
|
117
|
+
uniforms: {
|
|
118
|
+
uTime: { value: 0 },
|
|
119
|
+
uTexture: { value: this.rt.texture }
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
this.mesh = new THREE.Mesh(this.geometry, this.material);
|
|
123
|
+
this.scene.add(this.mesh);
|
|
124
|
+
}
|
|
125
|
+
animate() {
|
|
126
|
+
if (this.isDestroyed) return;
|
|
127
|
+
this.rafId = requestAnimationFrame(this.animate.bind(this));
|
|
128
|
+
this.render();
|
|
129
|
+
}
|
|
130
|
+
render() {
|
|
131
|
+
if (!this.material || !this.rt || !this.rtScene || !this.rtCamera) return;
|
|
132
|
+
this.controls.update();
|
|
133
|
+
this.material.uniforms.uTime.value = this.clock.getElapsedTime();
|
|
134
|
+
this.renderer.setRenderTarget(this.rt);
|
|
135
|
+
this.renderer.render(this.rtScene, this.rtCamera);
|
|
136
|
+
this.renderer.setRenderTarget(null);
|
|
137
|
+
this.renderer.render(this.scene, this.camera);
|
|
138
|
+
}
|
|
139
|
+
addEvents() {
|
|
140
|
+
this.boundResize = this.resize.bind(this);
|
|
141
|
+
window.addEventListener("resize", this.boundResize);
|
|
142
|
+
}
|
|
143
|
+
resize() {
|
|
144
|
+
const width = window.innerWidth;
|
|
145
|
+
const height = window.innerHeight;
|
|
146
|
+
this.camera.aspect = width / height;
|
|
147
|
+
this.camera.updateProjectionMatrix();
|
|
148
|
+
this.renderer.setSize(width, height);
|
|
149
|
+
}
|
|
150
|
+
destroy() {
|
|
151
|
+
this.isDestroyed = true;
|
|
152
|
+
if (this.rafId) {
|
|
153
|
+
cancelAnimationFrame(this.rafId);
|
|
154
|
+
this.rafId = void 0;
|
|
155
|
+
}
|
|
156
|
+
if (this.boundResize) {
|
|
157
|
+
window.removeEventListener("resize", this.boundResize);
|
|
158
|
+
this.boundResize = null;
|
|
159
|
+
}
|
|
160
|
+
if (this.geometry) this.geometry.dispose();
|
|
161
|
+
if (this.material) this.material.dispose();
|
|
162
|
+
if (this.fontMaterial) this.fontMaterial.dispose();
|
|
163
|
+
if (this.rt) this.rt.dispose();
|
|
164
|
+
if (this.renderer) {
|
|
165
|
+
this.renderer.dispose();
|
|
166
|
+
if (this.renderer.domElement.parentNode) this.renderer.domElement.parentNode.removeChild(this.renderer.domElement);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
//#endregion
|
|
171
|
+
export { GL };
|