@lampdotdev/lamp 0.0.0-stage → 0.36.2-nightly.16
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/LICENSE +21 -0
- package/README.md +397 -2
- package/Resources/Devices/roku.json +410 -0
- package/Resources/Devices/xbox-one.json +367 -0
- package/Resources/GameKit/NOTICE.md +63 -0
- package/Resources/GameKit/apple/LampPage.swift +1813 -0
- package/Resources/GameKit/apple/LampPlayer.swift +46 -0
- package/Resources/GameKit/apple/LampWebApp.swift +63 -0
- package/Resources/GameKit/apple/LampWebGame.swift +87 -0
- package/Resources/GameKit/apple/Native.swift +12 -0
- package/Resources/GameKit/build.sh +55 -0
- package/Resources/GameKit/lamp_game.h +116 -0
- package/Resources/GameKit/lamp_host.h +19 -0
- package/Resources/GameKit/lamp_kit.cpp +61 -0
- package/Resources/GameKit/lamp_sound.cpp +455 -0
- package/Resources/GameKit/lamp_xbox.cpp +374 -0
- package/Resources/GameKit/libraries/HandmadeMath.h +3940 -0
- package/Resources/GameKit/libraries/cgltf.h +7240 -0
- package/Resources/GameKit/libraries/dr_mp3.h +5430 -0
- package/Resources/GameKit/libraries/dr_wav.h +9209 -0
- package/Resources/GameKit/libraries/sokol_debugtext.h +4754 -0
- package/Resources/GameKit/libraries/sokol_gfx.h +29558 -0
- package/Resources/GameKit/libraries/sokol_gl.h +4538 -0
- package/Resources/GameKit/libraries/sokol_log.h +335 -0
- package/Resources/GameKit/libraries/sokol_shape.h +1531 -0
- package/Resources/GameKit/libraries/stb_image.h +7988 -0
- package/Resources/GameKit/libraries/stb_vorbis.c +5584 -0
- package/Resources/GameKit/page/lamp-live.js +672 -0
- package/Resources/GameKit/scaffold/Game/game.cpp +142 -0
- package/Resources/GameKit/scaffold/Game/scene.glsl +49 -0
- package/Resources/GameKit/scaffold-web/Web/game.js +31 -0
- package/Resources/GameKit/scaffold-web/Web/index.html +13 -0
- package/Resources/GameKit/scaffold-web/Web/making.js +33 -0
- package/Resources/GameKit/scaffold-web/Web/world.js +33 -0
- package/Resources/GameKit/web/lamp-game.js +3042 -0
- package/Resources/GameKit/web/lamp-phaser.js +128 -0
- package/Resources/WebHost/App.exe +0 -0
- package/Resources/WebHost/Microsoft.Web.WebView2.Core.dll +0 -0
- package/Resources/WebHost/WebView2-LICENSE.txt +27 -0
- package/Resources/WebHost/lamp_controllers.h +1506 -0
- package/Resources/WebHost/lamp_web_host.cpp +1173 -0
- package/Resources/WebLibraries/earlier.txt +318 -0
- package/Resources/WebLibraries/phaser/LICENSE.md +20 -0
- package/Resources/WebLibraries/phaser/NOTICE.md +2 -0
- package/Resources/WebLibraries/phaser/phaser.esm.min.js +1 -0
- package/Resources/WebLibraries/qrcode/LICENSE +21 -0
- package/Resources/WebLibraries/qrcode/NOTICE.md +4 -0
- package/Resources/WebLibraries/qrcode/qrcode.js +2297 -0
- package/Resources/WebLibraries/rapier/LICENSE +201 -0
- package/Resources/WebLibraries/rapier/NOTICE.md +3 -0
- package/Resources/WebLibraries/rapier/rapier.js +2 -0
- package/Resources/WebLibraries/three/LICENSE +21 -0
- package/Resources/WebLibraries/three/NOTICE.md +4 -0
- package/Resources/WebLibraries/three/addons/animation/AnimationClipCreator.js +168 -0
- package/Resources/WebLibraries/three/addons/animation/CCDIKSolver.js +607 -0
- package/Resources/WebLibraries/three/addons/controls/ArcballControls.js +3543 -0
- package/Resources/WebLibraries/three/addons/controls/DragControls.js +452 -0
- package/Resources/WebLibraries/three/addons/controls/FirstPersonControls.js +512 -0
- package/Resources/WebLibraries/three/addons/controls/FlyControls.js +384 -0
- package/Resources/WebLibraries/three/addons/controls/MapControls.js +116 -0
- package/Resources/WebLibraries/three/addons/controls/OrbitControls.js +1985 -0
- package/Resources/WebLibraries/three/addons/controls/PointerLockControls.js +264 -0
- package/Resources/WebLibraries/three/addons/controls/TrackballControls.js +1106 -0
- package/Resources/WebLibraries/three/addons/controls/TransformControls.js +2003 -0
- package/Resources/WebLibraries/three/addons/curves/CurveExtras.js +694 -0
- package/Resources/WebLibraries/three/addons/curves/NURBSCurve.js +169 -0
- package/Resources/WebLibraries/three/addons/curves/NURBSSurface.js +98 -0
- package/Resources/WebLibraries/three/addons/curves/NURBSUtils.js +532 -0
- package/Resources/WebLibraries/three/addons/curves/NURBSVolume.js +82 -0
- package/Resources/WebLibraries/three/addons/effects/AnaglyphEffect.js +274 -0
- package/Resources/WebLibraries/three/addons/effects/AsciiEffect.js +323 -0
- package/Resources/WebLibraries/three/addons/effects/OutlineEffect.js +489 -0
- package/Resources/WebLibraries/three/addons/effects/ParallaxBarrierEffect.js +155 -0
- package/Resources/WebLibraries/three/addons/effects/StereoEffect.js +91 -0
- package/Resources/WebLibraries/three/addons/environments/ColorEnvironment.js +59 -0
- package/Resources/WebLibraries/three/addons/environments/DebugEnvironment.js +102 -0
- package/Resources/WebLibraries/three/addons/environments/RoomEnvironment.js +185 -0
- package/Resources/WebLibraries/three/addons/geometries/BoxLineGeometry.js +92 -0
- package/Resources/WebLibraries/three/addons/geometries/ConvexGeometry.js +72 -0
- package/Resources/WebLibraries/three/addons/geometries/DecalGeometry.js +420 -0
- package/Resources/WebLibraries/three/addons/geometries/LoftGeometry.js +355 -0
- package/Resources/WebLibraries/three/addons/geometries/ParametricFunctions.js +100 -0
- package/Resources/WebLibraries/three/addons/geometries/ParametricGeometry.js +172 -0
- package/Resources/WebLibraries/three/addons/geometries/RoundedBoxGeometry.js +216 -0
- package/Resources/WebLibraries/three/addons/geometries/TeapotGeometry.js +689 -0
- package/Resources/WebLibraries/three/addons/geometries/TextGeometry.js +102 -0
- package/Resources/WebLibraries/three/addons/helpers/AnimationPathHelper.js +302 -0
- package/Resources/WebLibraries/three/addons/helpers/LightProbeGridHelper.js +166 -0
- package/Resources/WebLibraries/three/addons/helpers/LightProbeGridHelperWebGL.js +221 -0
- package/Resources/WebLibraries/three/addons/helpers/LightProbeHelper.js +166 -0
- package/Resources/WebLibraries/three/addons/helpers/LightProbeHelperGPU.js +102 -0
- package/Resources/WebLibraries/three/addons/helpers/OctreeHelper.js +109 -0
- package/Resources/WebLibraries/three/addons/helpers/PositionalAudioHelper.js +169 -0
- package/Resources/WebLibraries/three/addons/helpers/RapierHelper.js +59 -0
- package/Resources/WebLibraries/three/addons/helpers/RectAreaLightHelper.js +118 -0
- package/Resources/WebLibraries/three/addons/helpers/TextureHelper.js +265 -0
- package/Resources/WebLibraries/three/addons/helpers/TextureHelperGPU.js +214 -0
- package/Resources/WebLibraries/three/addons/helpers/VertexNormalsHelper.js +155 -0
- package/Resources/WebLibraries/three/addons/helpers/VertexTangentsHelper.js +133 -0
- package/Resources/WebLibraries/three/addons/helpers/ViewHelper.js +529 -0
- package/Resources/WebLibraries/three/addons/interactive/HTMLMesh.js +617 -0
- package/Resources/WebLibraries/three/addons/interactive/InteractiveGroup.js +224 -0
- package/Resources/WebLibraries/three/addons/interactive/SelectionBox.js +324 -0
- package/Resources/WebLibraries/three/addons/interactive/SelectionHelper.js +150 -0
- package/Resources/WebLibraries/three/addons/libs/fflate.module.js +2699 -0
- package/Resources/WebLibraries/three/addons/libs/lil-gui.module.min.js +8 -0
- package/Resources/WebLibraries/three/addons/libs/meshopt_decoder.module.js +196 -0
- package/Resources/WebLibraries/three/addons/libs/potpack.module.js +125 -0
- package/Resources/WebLibraries/three/addons/libs/stats.module.js +167 -0
- package/Resources/WebLibraries/three/addons/libs/tween.module.js +876 -0
- package/Resources/WebLibraries/three/addons/lighting/ClusteredLighting.js +153 -0
- package/Resources/WebLibraries/three/addons/lighting/DynamicLighting.js +82 -0
- package/Resources/WebLibraries/three/addons/lighting/LightMapper.js +295 -0
- package/Resources/WebLibraries/three/addons/lighting/LightProbeGrid.js +923 -0
- package/Resources/WebLibraries/three/addons/lighting/LightProbeGridUtils.js +107 -0
- package/Resources/WebLibraries/three/addons/lighting/LightProbeGridWebGL.js +846 -0
- package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGIConeTracer.js +243 -0
- package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGIIrradiance.js +43 -0
- package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGINode.js +617 -0
- package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGISceneCollector.js +793 -0
- package/Resources/WebLibraries/three/addons/lighting/vxgi/VXGIVolume.js +1440 -0
- package/Resources/WebLibraries/three/addons/lights/LightProbeGenerator.js +337 -0
- package/Resources/WebLibraries/three/addons/lights/RectAreaLightTexturesLib.js +127 -0
- package/Resources/WebLibraries/three/addons/lights/RectAreaLightUniformsLib.js +40 -0
- package/Resources/WebLibraries/three/addons/lights/SunLight.js +100 -0
- package/Resources/WebLibraries/three/addons/lights/SunLightNode.js +56 -0
- package/Resources/WebLibraries/three/addons/lights/SunLightShadow.js +319 -0
- package/Resources/WebLibraries/three/addons/lights/SunShadowNode.js +312 -0
- package/Resources/WebLibraries/three/addons/lines/Line2.js +56 -0
- package/Resources/WebLibraries/three/addons/lines/LineGeometry.js +157 -0
- package/Resources/WebLibraries/three/addons/lines/LineMaterial.js +742 -0
- package/Resources/WebLibraries/three/addons/lines/LineSegments2.js +434 -0
- package/Resources/WebLibraries/three/addons/lines/LineSegmentsGeometry.js +298 -0
- package/Resources/WebLibraries/three/addons/lines/Wireframe.js +108 -0
- package/Resources/WebLibraries/three/addons/lines/WireframeGeometry2.js +49 -0
- package/Resources/WebLibraries/three/addons/lines/webgpu/Line2.js +46 -0
- package/Resources/WebLibraries/three/addons/lines/webgpu/LineSegments2.js +419 -0
- package/Resources/WebLibraries/three/addons/lines/webgpu/Wireframe.js +86 -0
- package/Resources/WebLibraries/three/addons/loaders/EXRLoader.js +3411 -0
- package/Resources/WebLibraries/three/addons/loaders/FBXLoader.js +4660 -0
- package/Resources/WebLibraries/three/addons/loaders/FontLoader.js +262 -0
- package/Resources/WebLibraries/three/addons/loaders/GLTFLoader.js +5006 -0
- package/Resources/WebLibraries/three/addons/loaders/HDRLoader.js +463 -0
- package/Resources/WebLibraries/three/addons/loaders/MTLLoader.js +601 -0
- package/Resources/WebLibraries/three/addons/loaders/OBJLoader.js +961 -0
- package/Resources/WebLibraries/three/addons/loaders/PLYLoader.js +992 -0
- package/Resources/WebLibraries/three/addons/loaders/RGBELoader.js +18 -0
- package/Resources/WebLibraries/three/addons/loaders/STLLoader.js +423 -0
- package/Resources/WebLibraries/three/addons/loaders/SVGLoader.js +3297 -0
- package/Resources/WebLibraries/three/addons/loaders/TGALoader.js +539 -0
- package/Resources/WebLibraries/three/addons/loaders/UltraHDRLoader.js +757 -0
- package/Resources/WebLibraries/three/addons/math/Capsule.js +159 -0
- package/Resources/WebLibraries/three/addons/math/ColorConverter.js +62 -0
- package/Resources/WebLibraries/three/addons/math/ColorSpaces.js +147 -0
- package/Resources/WebLibraries/three/addons/math/ConvexHull.js +1695 -0
- package/Resources/WebLibraries/three/addons/math/ImprovedNoise.js +88 -0
- package/Resources/WebLibraries/three/addons/math/Lut.js +317 -0
- package/Resources/WebLibraries/three/addons/math/MeshSurfaceSampler.js +315 -0
- package/Resources/WebLibraries/three/addons/math/OBB.js +535 -0
- package/Resources/WebLibraries/three/addons/math/Octree.js +825 -0
- package/Resources/WebLibraries/three/addons/math/SimplexNoise.js +470 -0
- package/Resources/WebLibraries/three/addons/misc/ConvexObjectBreaker.js +539 -0
- package/Resources/WebLibraries/three/addons/misc/GPUComputationRenderer.js +508 -0
- package/Resources/WebLibraries/three/addons/misc/Gyroscope.js +78 -0
- package/Resources/WebLibraries/three/addons/misc/MorphAnimMesh.js +119 -0
- package/Resources/WebLibraries/three/addons/misc/MorphBlendMesh.js +425 -0
- package/Resources/WebLibraries/three/addons/misc/ProgressiveLightMap.js +370 -0
- package/Resources/WebLibraries/three/addons/misc/ProgressiveLightMapGPU.js +322 -0
- package/Resources/WebLibraries/three/addons/misc/RollerCoaster.js +661 -0
- package/Resources/WebLibraries/three/addons/misc/Sculptor.js +1679 -0
- package/Resources/WebLibraries/three/addons/misc/SculptorMesh.js +1504 -0
- package/Resources/WebLibraries/three/addons/misc/SculptorTools.js +1180 -0
- package/Resources/WebLibraries/three/addons/misc/SculptorUtils.js +345 -0
- package/Resources/WebLibraries/three/addons/misc/TileCreasedNormalsPlugin.js +270 -0
- package/Resources/WebLibraries/three/addons/misc/TubePainter.js +611 -0
- package/Resources/WebLibraries/three/addons/misc/Volume.js +520 -0
- package/Resources/WebLibraries/three/addons/misc/VolumeSlice.js +275 -0
- package/Resources/WebLibraries/three/addons/modifiers/CurveModifier.js +374 -0
- package/Resources/WebLibraries/three/addons/modifiers/CurveModifierGPU.js +256 -0
- package/Resources/WebLibraries/three/addons/modifiers/EdgeSplitModifier.js +299 -0
- package/Resources/WebLibraries/three/addons/modifiers/TessellateModifier.js +340 -0
- package/Resources/WebLibraries/three/addons/objects/GroundedSkybox.js +69 -0
- package/Resources/WebLibraries/three/addons/objects/Lensflare.js +489 -0
- package/Resources/WebLibraries/three/addons/objects/LensflareMesh.js +376 -0
- package/Resources/WebLibraries/three/addons/objects/MarchingCubes.js +1261 -0
- package/Resources/WebLibraries/three/addons/objects/Reflector.js +390 -0
- package/Resources/WebLibraries/three/addons/objects/ReflectorForSSRPass.js +393 -0
- package/Resources/WebLibraries/three/addons/objects/Refractor.js +389 -0
- package/Resources/WebLibraries/three/addons/objects/ShadowMesh.js +130 -0
- package/Resources/WebLibraries/three/addons/objects/Sky.js +342 -0
- package/Resources/WebLibraries/three/addons/objects/SkyMesh.js +403 -0
- package/Resources/WebLibraries/three/addons/objects/Water.js +374 -0
- package/Resources/WebLibraries/three/addons/objects/Water2.js +403 -0
- package/Resources/WebLibraries/three/addons/objects/Water2Mesh.js +199 -0
- package/Resources/WebLibraries/three/addons/objects/WaterMesh.js +194 -0
- package/Resources/WebLibraries/three/addons/postprocessing/AfterimagePass.js +187 -0
- package/Resources/WebLibraries/three/addons/postprocessing/BloomPass.js +274 -0
- package/Resources/WebLibraries/three/addons/postprocessing/BokehPass.js +218 -0
- package/Resources/WebLibraries/three/addons/postprocessing/ClearPass.js +97 -0
- package/Resources/WebLibraries/three/addons/postprocessing/CubeTexturePass.js +146 -0
- package/Resources/WebLibraries/three/addons/postprocessing/DotScreenPass.js +114 -0
- package/Resources/WebLibraries/three/addons/postprocessing/EffectComposer.js +365 -0
- package/Resources/WebLibraries/three/addons/postprocessing/FXAAPass.js +40 -0
- package/Resources/WebLibraries/three/addons/postprocessing/FilmPass.js +113 -0
- package/Resources/WebLibraries/three/addons/postprocessing/GTAOPass.js +735 -0
- package/Resources/WebLibraries/three/addons/postprocessing/GlitchPass.js +177 -0
- package/Resources/WebLibraries/three/addons/postprocessing/HalftonePass.js +134 -0
- package/Resources/WebLibraries/three/addons/postprocessing/LUTPass.js +138 -0
- package/Resources/WebLibraries/three/addons/postprocessing/MaskPass.js +195 -0
- package/Resources/WebLibraries/three/addons/postprocessing/OutlinePass.js +776 -0
- package/Resources/WebLibraries/three/addons/postprocessing/OutputPass.js +148 -0
- package/Resources/WebLibraries/three/addons/postprocessing/Pass.js +191 -0
- package/Resources/WebLibraries/three/addons/postprocessing/RenderPass.js +193 -0
- package/Resources/WebLibraries/three/addons/postprocessing/RenderPixelatedPass.js +314 -0
- package/Resources/WebLibraries/three/addons/postprocessing/RenderTransitionPass.js +267 -0
- package/Resources/WebLibraries/three/addons/postprocessing/SAOPass.js +407 -0
- package/Resources/WebLibraries/three/addons/postprocessing/SMAAPass.js +230 -0
- package/Resources/WebLibraries/three/addons/postprocessing/SSAARenderPass.js +313 -0
- package/Resources/WebLibraries/three/addons/postprocessing/SSAOPass.js +527 -0
- package/Resources/WebLibraries/three/addons/postprocessing/SSRPass.js +858 -0
- package/Resources/WebLibraries/three/addons/postprocessing/SavePass.js +132 -0
- package/Resources/WebLibraries/three/addons/postprocessing/ShaderPass.js +135 -0
- package/Resources/WebLibraries/three/addons/postprocessing/TAARenderPass.js +243 -0
- package/Resources/WebLibraries/three/addons/postprocessing/TexturePass.js +131 -0
- package/Resources/WebLibraries/three/addons/postprocessing/UnrealBloomPass.js +541 -0
- package/Resources/WebLibraries/three/addons/shaders/ACESFilmicToneMappingShader.js +96 -0
- package/Resources/WebLibraries/three/addons/shaders/AfterimageShader.js +63 -0
- package/Resources/WebLibraries/three/addons/shaders/BasicShader.js +36 -0
- package/Resources/WebLibraries/three/addons/shaders/BleachBypassShader.js +68 -0
- package/Resources/WebLibraries/three/addons/shaders/BlendShader.js +56 -0
- package/Resources/WebLibraries/three/addons/shaders/BokehShader.js +151 -0
- package/Resources/WebLibraries/three/addons/shaders/BokehShader2.js +404 -0
- package/Resources/WebLibraries/three/addons/shaders/BrightnessContrastShader.js +62 -0
- package/Resources/WebLibraries/three/addons/shaders/ColorCorrectionShader.js +59 -0
- package/Resources/WebLibraries/three/addons/shaders/ColorifyShader.js +57 -0
- package/Resources/WebLibraries/three/addons/shaders/ConvolutionShader.js +74 -0
- package/Resources/WebLibraries/three/addons/shaders/CopyShader.js +52 -0
- package/Resources/WebLibraries/three/addons/shaders/DOFMipMapShader.js +63 -0
- package/Resources/WebLibraries/three/addons/shaders/DepthLimitedBlurShader.js +183 -0
- package/Resources/WebLibraries/three/addons/shaders/DigitalGlitch.js +104 -0
- package/Resources/WebLibraries/three/addons/shaders/DotScreenShader.js +75 -0
- package/Resources/WebLibraries/three/addons/shaders/ExposureShader.js +51 -0
- package/Resources/WebLibraries/three/addons/shaders/FXAAShader.js +298 -0
- package/Resources/WebLibraries/three/addons/shaders/FilmShader.js +73 -0
- package/Resources/WebLibraries/three/addons/shaders/FocusShader.js +94 -0
- package/Resources/WebLibraries/three/addons/shaders/FreiChenShader.js +103 -0
- package/Resources/WebLibraries/three/addons/shaders/GTAOShader.js +437 -0
- package/Resources/WebLibraries/three/addons/shaders/GammaCorrectionShader.js +52 -0
- package/Resources/WebLibraries/three/addons/shaders/HalftoneShader.js +332 -0
- package/Resources/WebLibraries/three/addons/shaders/HorizontalBlurShader.js +68 -0
- package/Resources/WebLibraries/three/addons/shaders/HorizontalTiltShiftShader.js +70 -0
- package/Resources/WebLibraries/three/addons/shaders/HueSaturationShader.js +74 -0
- package/Resources/WebLibraries/three/addons/shaders/KaleidoShader.js +65 -0
- package/Resources/WebLibraries/three/addons/shaders/LuminosityHighPassShader.js +68 -0
- package/Resources/WebLibraries/three/addons/shaders/LuminosityShader.js +54 -0
- package/Resources/WebLibraries/three/addons/shaders/MirrorShader.js +62 -0
- package/Resources/WebLibraries/three/addons/shaders/NormalMapShader.js +60 -0
- package/Resources/WebLibraries/three/addons/shaders/OutputShader.js +103 -0
- package/Resources/WebLibraries/three/addons/shaders/PoissonDenoiseShader.js +230 -0
- package/Resources/WebLibraries/three/addons/shaders/RGBShiftShader.js +61 -0
- package/Resources/WebLibraries/three/addons/shaders/SAOShader.js +201 -0
- package/Resources/WebLibraries/three/addons/shaders/SMAAShader.js +489 -0
- package/Resources/WebLibraries/three/addons/shaders/SSAOShader.js +331 -0
- package/Resources/WebLibraries/three/addons/shaders/SSRShader.js +396 -0
- package/Resources/WebLibraries/three/addons/shaders/SepiaShader.js +57 -0
- package/Resources/WebLibraries/three/addons/shaders/SobelOperatorShader.js +98 -0
- package/Resources/WebLibraries/three/addons/shaders/SubsurfaceScatteringShader.js +95 -0
- package/Resources/WebLibraries/three/addons/shaders/TechnicolorShader.js +51 -0
- package/Resources/WebLibraries/three/addons/shaders/ToonShader.js +349 -0
- package/Resources/WebLibraries/three/addons/shaders/TriangleBlurShader.js +79 -0
- package/Resources/WebLibraries/three/addons/shaders/UnpackDepthRGBAShader.js +60 -0
- package/Resources/WebLibraries/three/addons/shaders/VelocityShader.js +137 -0
- package/Resources/WebLibraries/three/addons/shaders/VerticalBlurShader.js +66 -0
- package/Resources/WebLibraries/three/addons/shaders/VerticalTiltShiftShader.js +70 -0
- package/Resources/WebLibraries/three/addons/shaders/VignetteShader.js +56 -0
- package/Resources/WebLibraries/three/addons/shaders/VolumeShader.js +285 -0
- package/Resources/WebLibraries/three/addons/shaders/WaterRefractionShader.js +106 -0
- package/Resources/WebLibraries/three/addons/textures/FlakesTexture.js +54 -0
- package/Resources/WebLibraries/three/addons/tsl/WebGLNodesHandler.js +607 -0
- package/Resources/WebLibraries/three/addons/tsl/display/AfterImageNode.js +256 -0
- package/Resources/WebLibraries/three/addons/tsl/display/AnaglyphPassNode.js +550 -0
- package/Resources/WebLibraries/three/addons/tsl/display/BilateralBlurNode.js +377 -0
- package/Resources/WebLibraries/three/addons/tsl/display/BleachBypass.js +33 -0
- package/Resources/WebLibraries/three/addons/tsl/display/BloomNode.js +599 -0
- package/Resources/WebLibraries/three/addons/tsl/display/CRT.js +150 -0
- package/Resources/WebLibraries/three/addons/tsl/display/ChromaticAberrationNode.js +163 -0
- package/Resources/WebLibraries/three/addons/tsl/display/DenoiseNode.js +354 -0
- package/Resources/WebLibraries/three/addons/tsl/display/DepthOfFieldNode.js +572 -0
- package/Resources/WebLibraries/three/addons/tsl/display/DotScreenNode.js +104 -0
- package/Resources/WebLibraries/three/addons/tsl/display/FSR1Node.js +481 -0
- package/Resources/WebLibraries/three/addons/tsl/display/FXAANode.js +357 -0
- package/Resources/WebLibraries/three/addons/tsl/display/FilmNode.js +101 -0
- package/Resources/WebLibraries/three/addons/tsl/display/GTAONode.js +727 -0
- package/Resources/WebLibraries/three/addons/tsl/display/GaussianBlurNode.js +412 -0
- package/Resources/WebLibraries/three/addons/tsl/display/GodraysNode.js +604 -0
- package/Resources/WebLibraries/three/addons/tsl/display/ImportanceSampledEnvironment.js +564 -0
- package/Resources/WebLibraries/three/addons/tsl/display/LensflareNode.js +282 -0
- package/Resources/WebLibraries/three/addons/tsl/display/Lut3DNode.js +109 -0
- package/Resources/WebLibraries/three/addons/tsl/display/MotionBlur.js +33 -0
- package/Resources/WebLibraries/three/addons/tsl/display/OITPassNode.js +341 -0
- package/Resources/WebLibraries/three/addons/tsl/display/OutlineNode.js +916 -0
- package/Resources/WebLibraries/three/addons/tsl/display/ParallaxBarrierPassNode.js +90 -0
- package/Resources/WebLibraries/three/addons/tsl/display/PixelationPassNode.js +227 -0
- package/Resources/WebLibraries/three/addons/tsl/display/RGBShiftNode.js +96 -0
- package/Resources/WebLibraries/three/addons/tsl/display/RecurrentDenoiseNode.js +812 -0
- package/Resources/WebLibraries/three/addons/tsl/display/RetroPassNode.js +263 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SMAANode.js +729 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SSAAPassNode.js +344 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SSAONode.js +422 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SSGINode.js +698 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SSRNode.js +1430 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SSSNode.js +479 -0
- package/Resources/WebLibraries/three/addons/tsl/display/Sepia.js +24 -0
- package/Resources/WebLibraries/three/addons/tsl/display/Shape.js +29 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SharpenNode.js +284 -0
- package/Resources/WebLibraries/three/addons/tsl/display/SobelOperatorNode.js +168 -0
- package/Resources/WebLibraries/three/addons/tsl/display/StereoCompositePassNode.js +190 -0
- package/Resources/WebLibraries/three/addons/tsl/display/StereoPassNode.js +117 -0
- package/Resources/WebLibraries/three/addons/tsl/display/TAAUNode.js +700 -0
- package/Resources/WebLibraries/three/addons/tsl/display/TRAANode.js +609 -0
- package/Resources/WebLibraries/three/addons/tsl/display/TemporalReprojectNode.js +1024 -0
- package/Resources/WebLibraries/three/addons/tsl/display/TransitionNode.js +141 -0
- package/Resources/WebLibraries/three/addons/tsl/display/boxBlur.js +65 -0
- package/Resources/WebLibraries/three/addons/tsl/display/depthAwareBlend.js +80 -0
- package/Resources/WebLibraries/three/addons/tsl/display/depthAwareBlur.js +63 -0
- package/Resources/WebLibraries/three/addons/tsl/display/hashBlur.js +55 -0
- package/Resources/WebLibraries/three/addons/tsl/display/lensDirt.js +30 -0
- package/Resources/WebLibraries/three/addons/tsl/display/radialBlur.js +68 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/ClusteredLightsNode.js +994 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/DynamicLightsNode.js +201 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/LightProbeGridNode.js +183 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/data/AmbientLightDataNode.js +67 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/data/DirectionalLightDataNode.js +117 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/data/HemisphereLightDataNode.js +105 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/data/PointLightDataNode.js +140 -0
- package/Resources/WebLibraries/three/addons/tsl/lighting/data/SpotLightDataNode.js +167 -0
- package/Resources/WebLibraries/three/addons/tsl/math/Bayer.js +84 -0
- package/Resources/WebLibraries/three/addons/tsl/math/curlNoise.js +107 -0
- package/Resources/WebLibraries/three/addons/tsl/math/voronoiNoise.js +112 -0
- package/Resources/WebLibraries/three/addons/tsl/shadows/TileShadowNode.js +542 -0
- package/Resources/WebLibraries/three/addons/tsl/shadows/TileShadowNodeHelper.js +212 -0
- package/Resources/WebLibraries/three/addons/tsl/utils/GroundedSkybox.js +62 -0
- package/Resources/WebLibraries/three/addons/tsl/utils/RNoise.js +51 -0
- package/Resources/WebLibraries/three/addons/tsl/utils/Raymarching.js +70 -0
- package/Resources/WebLibraries/three/addons/tsl/utils/SoftParticles.js +53 -0
- package/Resources/WebLibraries/three/addons/tsl/utils/SpecularHelpers.js +302 -0
- package/Resources/WebLibraries/three/addons/tsl/utils/TAAUtils.js +184 -0
- package/Resources/WebLibraries/three/addons/utils/BufferGeometryUtils.js +1523 -0
- package/Resources/WebLibraries/three/addons/utils/CameraUtils.js +82 -0
- package/Resources/WebLibraries/three/addons/utils/ColorUtils.js +76 -0
- package/Resources/WebLibraries/three/addons/utils/GaussianSplatUtils.js +229 -0
- package/Resources/WebLibraries/three/addons/utils/GeometryCompressionUtils.js +547 -0
- package/Resources/WebLibraries/three/addons/utils/GeometryUtils.js +226 -0
- package/Resources/WebLibraries/three/addons/utils/LDrawUtils.js +211 -0
- package/Resources/WebLibraries/three/addons/utils/SceneOptimizer.js +459 -0
- package/Resources/WebLibraries/three/addons/utils/SceneUtils.js +363 -0
- package/Resources/WebLibraries/three/addons/utils/ShadowMapViewer.js +244 -0
- package/Resources/WebLibraries/three/addons/utils/ShadowMapViewerGPU.js +233 -0
- package/Resources/WebLibraries/three/addons/utils/SkeletonUtils.js +496 -0
- package/Resources/WebLibraries/three/addons/utils/SortUtils.js +175 -0
- package/Resources/WebLibraries/three/addons/utils/UVsDebug.js +173 -0
- package/Resources/WebLibraries/three/addons/utils/WebGLTextureUtils.js +115 -0
- package/Resources/WebLibraries/three/addons/utils/WebGPUTextureUtils.js +81 -0
- package/Resources/WebLibraries/three/addons/utils/WorkerPool.js +167 -0
- package/Resources/WebLibraries/three/addons/utils/unwrapUVs.js +865 -0
- package/Resources/WebLibraries/three/three.core.js +61162 -0
- package/Resources/WebLibraries/three/three.module.js +19537 -0
- package/Resources/WebLibraries/three/three.tsl.js +41903 -0
- package/Resources/WebLibraries/three/three.webgpu.js +53714 -0
- package/Resources/share-rules.json +64 -0
- package/Resources/skills/2d-game/SKILL.md +305 -0
- package/Resources/skills/3d-game/SKILL.md +274 -0
- package/Resources/skills/accounts/SKILL.md +41 -0
- package/Resources/skills/android-design/SKILL.md +159 -0
- package/Resources/skills/app-ai/SKILL.md +154 -0
- package/Resources/skills/app-intents/SKILL.md +31 -0
- package/Resources/skills/app-kinds/SKILL.md +122 -0
- package/Resources/skills/apple-watch/SKILL.md +43 -0
- package/Resources/skills/assets/SKILL.md +183 -0
- package/Resources/skills/building-blocks/SKILL.md +97 -0
- package/Resources/skills/device-control/SKILL.md +56 -0
- package/Resources/skills/device-integrations/SKILL.md +278 -0
- package/Resources/skills/finder-files/SKILL.md +19 -0
- package/Resources/skills/game/SKILL.md +416 -0
- package/Resources/skills/game-3d/SKILL.md +12 -0
- package/Resources/skills/game-art/SKILL.md +11 -0
- package/Resources/skills/game-feel/SKILL.md +13 -0
- package/Resources/skills/game-levels/SKILL.md +12 -0
- package/Resources/skills/game-live/SKILL.md +12 -0
- package/Resources/skills/game-physics/SKILL.md +13 -0
- package/Resources/skills/game-playtest/SKILL.md +26 -0
- package/Resources/skills/game-ui/SKILL.md +278 -0
- package/Resources/skills/github-projects/SKILL.md +62 -0
- package/Resources/skills/icloud-sync/SKILL.md +30 -0
- package/Resources/skills/iphone-hardware/SKILL.md +57 -0
- package/Resources/skills/iphone-widgets/SKILL.md +53 -0
- package/Resources/skills/lg-developer-mode/SKILL.md +152 -0
- package/Resources/skills/mac-widgets/SKILL.md +60 -0
- package/Resources/skills/maps/SKILL.md +8 -0
- package/Resources/skills/menu-bar/SKILL.md +36 -0
- package/Resources/skills/more-apps/SKILL.md +53 -0
- package/Resources/skills/phone-controllers/SKILL.md +79 -0
- package/Resources/skills/phone-pages/SKILL.md +173 -0
- package/Resources/skills/roku-developer-mode/SKILL.md +106 -0
- package/Resources/skills/scene-3d/SKILL.md +27 -0
- package/Resources/skills/scripting/SKILL.md +17 -0
- package/Resources/skills/share-extension/SKILL.md +22 -0
- package/Resources/skills/tv-design/SKILL.md +72 -0
- package/Resources/skills/web-app/SKILL.md +170 -0
- package/Resources/skills/web-game/SKILL.md +95 -0
- package/Resources/skills/web-or-native/SKILL.md +108 -0
- package/Resources/skills/wish-links/SKILL.md +156 -0
- package/THIRD_PARTY_NOTICES.md +170 -0
- package/cli/ai.mjs +237 -0
- package/cli/android.mjs +941 -0
- package/cli/app-ai.mjs +473 -0
- package/cli/browser.mjs +284 -0
- package/cli/calls.mjs +594 -0
- package/cli/dev.mjs +820 -0
- package/cli/devices.mjs +984 -0
- package/cli/lamp.mjs +1326 -0
- package/cli/lampapp.mjs +332 -0
- package/cli/lamps/android-host/LampPageGateway.kt +345 -0
- package/cli/lamps/android-host/app/build.gradle.kts +40 -0
- package/cli/lamps/android-host/build.gradle.kts +4 -0
- package/cli/lamps/android-host/game/AndroidManifest.xml +33 -0
- package/cli/lamps/android-host/game/MainActivity.kt +173 -0
- package/cli/lamps/android-host/gradle/libs.versions.toml +39 -0
- package/cli/lamps/android-host/gradle.properties +8 -0
- package/cli/lamps/android-host/page/AndroidManifest.xml +35 -0
- package/cli/lamps/android-host/page/MainActivity.kt +193 -0
- package/cli/lamps/android-host/settings.gradle.kts +30 -0
- package/cli/lamps/android-host/tools.json +43 -0
- package/cli/lamps/lamp-controllers.js +2 -0
- package/cli/lamps/lamp-for-games.js +6922 -0
- package/cli/lamps/lamp.js +7082 -0
- package/cli/lamps/mac-starter/.lamp/meta.json +1 -0
- package/cli/lamps/mac-starter/APP.md +12 -0
- package/cli/lamps/mac-starter/Package.swift +8 -0
- package/cli/lamps/mac-starter/Sources/App.swift +11 -0
- package/cli/lamps/mac-starter/Sources/ContentView.swift +17 -0
- package/cli/lamps/mac-starter/Sources/LampSupport.swift +18215 -0
- package/cli/lamps/mac-starter/build.sh +336 -0
- package/cli/lamps/mac-starter/gitignore +3 -0
- package/cli/lamps/mac-starter/lamp-starter.json +6 -0
- package/cli/lamps/web-starter/APP.md +8 -0
- package/cli/lamps/web-starter/app.js +1 -0
- package/cli/lamps/web-starter/index.html +17 -0
- package/cli/lamps/web-starter/lamp-starter.json +5 -0
- package/cli/lamps/web-starter/lamp.js +7082 -0
- package/cli/lamps/web-starter/style.css +25 -0
- package/cli/link.mjs +202 -0
- package/cli/local-ai.mjs +193 -0
- package/cli/mac.mjs +621 -0
- package/cli/mdns.mjs +205 -0
- package/cli/msix.mjs +413 -0
- package/cli/network.mjs +209 -0
- package/cli/openrouter.mjs +133 -0
- package/cli/outside.mjs +203 -0
- package/cli/page.js +317 -0
- package/cli/place.mjs +298 -0
- package/cli/png.mjs +184 -0
- package/cli/share.mjs +270 -0
- package/cli/skill/SKILL.md +280 -0
- package/cli/skills.mjs +71 -0
- package/cli/state.mjs +176 -0
- package/cli/update.mjs +162 -0
- package/package.json +20 -4
- package/site/lib/quota.js +59 -0
- package/site/lib/shared-wishes.js +1727 -0
|
@@ -0,0 +1,694 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Curve,
|
|
3
|
+
Vector3
|
|
4
|
+
} from 'three';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A bunch of parametric curves
|
|
8
|
+
*
|
|
9
|
+
* Formulas collected from various sources
|
|
10
|
+
* http://mathworld.wolfram.com/HeartCurve.html
|
|
11
|
+
* http://en.wikipedia.org/wiki/Viviani%27s_curve
|
|
12
|
+
* http://www.mi.sanu.ac.rs/vismath/taylorapril2011/Taylor.pdf
|
|
13
|
+
* https://prideout.net/blog/old/blog/index.html@p=44.html
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* A Granny Knot curve.
|
|
18
|
+
*
|
|
19
|
+
* @augments Curve
|
|
20
|
+
* @three_import import { GrannyKnot } from 'three/addons/curves/CurveExtras.js';
|
|
21
|
+
*/
|
|
22
|
+
class GrannyKnot extends Curve {
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
26
|
+
*
|
|
27
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
28
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
29
|
+
* @return {Vector3} The position on the curve.
|
|
30
|
+
*/
|
|
31
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
32
|
+
|
|
33
|
+
const point = optionalTarget;
|
|
34
|
+
|
|
35
|
+
t = 2 * Math.PI * t;
|
|
36
|
+
|
|
37
|
+
const x = - 0.22 * Math.cos( t ) - 1.28 * Math.sin( t ) - 0.44 * Math.cos( 3 * t ) - 0.78 * Math.sin( 3 * t );
|
|
38
|
+
const y = - 0.1 * Math.cos( 2 * t ) - 0.27 * Math.sin( 2 * t ) + 0.38 * Math.cos( 4 * t ) + 0.46 * Math.sin( 4 * t );
|
|
39
|
+
const z = 0.7 * Math.cos( 3 * t ) - 0.4 * Math.sin( 3 * t );
|
|
40
|
+
|
|
41
|
+
return point.set( x, y, z ).multiplyScalar( 20 );
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* A heart curve.
|
|
49
|
+
*
|
|
50
|
+
* @augments Curve
|
|
51
|
+
* @three_import import { HeartCurve } from 'three/addons/curves/CurveExtras.js';
|
|
52
|
+
*/
|
|
53
|
+
class HeartCurve extends Curve {
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Constructs a new heart curve.
|
|
57
|
+
*
|
|
58
|
+
* @param {number} [scale=5] - The curve's scale.
|
|
59
|
+
*/
|
|
60
|
+
constructor( scale = 5 ) {
|
|
61
|
+
|
|
62
|
+
super();
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The curve's scale.
|
|
66
|
+
*
|
|
67
|
+
* @type {number}
|
|
68
|
+
* @default 5
|
|
69
|
+
*/
|
|
70
|
+
this.scale = scale;
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
76
|
+
*
|
|
77
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
78
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
79
|
+
* @return {Vector3} The position on the curve.
|
|
80
|
+
*/
|
|
81
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
82
|
+
|
|
83
|
+
const point = optionalTarget;
|
|
84
|
+
|
|
85
|
+
t *= 2 * Math.PI;
|
|
86
|
+
|
|
87
|
+
const x = 16 * Math.pow( Math.sin( t ), 3 );
|
|
88
|
+
const y = 13 * Math.cos( t ) - 5 * Math.cos( 2 * t ) - 2 * Math.cos( 3 * t ) - Math.cos( 4 * t );
|
|
89
|
+
const z = 0;
|
|
90
|
+
|
|
91
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* A Viviani curve.
|
|
99
|
+
*
|
|
100
|
+
* @augments Curve
|
|
101
|
+
* @three_import import { VivianiCurve } from 'three/addons/curves/CurveExtras.js';
|
|
102
|
+
*/
|
|
103
|
+
class VivianiCurve extends Curve {
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Constructs a new Viviani curve.
|
|
107
|
+
*
|
|
108
|
+
* @param {number} [scale=70] - The curve's scale.
|
|
109
|
+
*/
|
|
110
|
+
constructor( scale = 70 ) {
|
|
111
|
+
|
|
112
|
+
super();
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* The curve's scale.
|
|
116
|
+
*
|
|
117
|
+
* @type {number}
|
|
118
|
+
* @default 70
|
|
119
|
+
*/
|
|
120
|
+
this.scale = scale;
|
|
121
|
+
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
126
|
+
*
|
|
127
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
128
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
129
|
+
* @return {Vector3} The position on the curve.
|
|
130
|
+
*/
|
|
131
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
132
|
+
|
|
133
|
+
const point = optionalTarget;
|
|
134
|
+
|
|
135
|
+
t = t * 4 * Math.PI; // normalized to 0..1
|
|
136
|
+
const a = this.scale / 2;
|
|
137
|
+
|
|
138
|
+
const x = a * ( 1 + Math.cos( t ) );
|
|
139
|
+
const y = a * Math.sin( t );
|
|
140
|
+
const z = 2 * a * Math.sin( t / 2 );
|
|
141
|
+
|
|
142
|
+
return point.set( x, y, z );
|
|
143
|
+
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* A knot curve.
|
|
150
|
+
*
|
|
151
|
+
* @augments Curve
|
|
152
|
+
* @three_import import { KnotCurve } from 'three/addons/curves/CurveExtras.js';
|
|
153
|
+
*/
|
|
154
|
+
class KnotCurve extends Curve {
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
158
|
+
*
|
|
159
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
160
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
161
|
+
* @return {Vector3} The position on the curve.
|
|
162
|
+
*/
|
|
163
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
164
|
+
|
|
165
|
+
const point = optionalTarget;
|
|
166
|
+
|
|
167
|
+
t *= 2 * Math.PI;
|
|
168
|
+
|
|
169
|
+
const R = 10;
|
|
170
|
+
const s = 50;
|
|
171
|
+
|
|
172
|
+
const x = s * Math.sin( t );
|
|
173
|
+
const y = Math.cos( t ) * ( R + s * Math.cos( t ) );
|
|
174
|
+
const z = Math.sin( t ) * ( R + s * Math.cos( t ) );
|
|
175
|
+
|
|
176
|
+
return point.set( x, y, z );
|
|
177
|
+
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* A helix curve.
|
|
184
|
+
*
|
|
185
|
+
* @augments Curve
|
|
186
|
+
* @three_import import { HelixCurve } from 'three/addons/curves/CurveExtras.js';
|
|
187
|
+
*/
|
|
188
|
+
class HelixCurve extends Curve {
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
192
|
+
*
|
|
193
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
194
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
195
|
+
* @return {Vector3} The position on the curve.
|
|
196
|
+
*/
|
|
197
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
198
|
+
|
|
199
|
+
const point = optionalTarget;
|
|
200
|
+
|
|
201
|
+
const a = 30; // radius
|
|
202
|
+
const b = 150; // height
|
|
203
|
+
|
|
204
|
+
const t2 = 2 * Math.PI * t * b / 30;
|
|
205
|
+
|
|
206
|
+
const x = Math.cos( t2 ) * a;
|
|
207
|
+
const y = Math.sin( t2 ) * a;
|
|
208
|
+
const z = b * t;
|
|
209
|
+
|
|
210
|
+
return point.set( x, y, z );
|
|
211
|
+
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* A Trefoil Knot.
|
|
218
|
+
*
|
|
219
|
+
* @augments Curve
|
|
220
|
+
* @three_import import { TrefoilKnot } from 'three/addons/curves/CurveExtras.js';
|
|
221
|
+
*/
|
|
222
|
+
class TrefoilKnot extends Curve {
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Constructs a new Trefoil Knot.
|
|
226
|
+
*
|
|
227
|
+
* @param {number} [scale=10] - The curve's scale.
|
|
228
|
+
*/
|
|
229
|
+
constructor( scale = 10 ) {
|
|
230
|
+
|
|
231
|
+
super();
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* The curve's scale.
|
|
235
|
+
*
|
|
236
|
+
* @type {number}
|
|
237
|
+
* @default 10
|
|
238
|
+
*/
|
|
239
|
+
this.scale = scale;
|
|
240
|
+
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
245
|
+
*
|
|
246
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
247
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
248
|
+
* @return {Vector3} The position on the curve.
|
|
249
|
+
*/
|
|
250
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
251
|
+
|
|
252
|
+
const point = optionalTarget;
|
|
253
|
+
|
|
254
|
+
t *= Math.PI * 2;
|
|
255
|
+
|
|
256
|
+
const x = ( 2 + Math.cos( 3 * t ) ) * Math.cos( 2 * t );
|
|
257
|
+
const y = ( 2 + Math.cos( 3 * t ) ) * Math.sin( 2 * t );
|
|
258
|
+
const z = Math.sin( 3 * t );
|
|
259
|
+
|
|
260
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
261
|
+
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* A torus knot.
|
|
268
|
+
*
|
|
269
|
+
* @augments Curve
|
|
270
|
+
* @three_import import { TorusKnot } from 'three/addons/curves/CurveExtras.js';
|
|
271
|
+
*/
|
|
272
|
+
class TorusKnot extends Curve {
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Constructs a new torus knot.
|
|
276
|
+
*
|
|
277
|
+
* @param {number} [scale=10] - The curve's scale.
|
|
278
|
+
*/
|
|
279
|
+
constructor( scale = 10 ) {
|
|
280
|
+
|
|
281
|
+
super();
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* The curve's scale.
|
|
285
|
+
*
|
|
286
|
+
* @type {number}
|
|
287
|
+
* @default 10
|
|
288
|
+
*/
|
|
289
|
+
this.scale = scale;
|
|
290
|
+
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
295
|
+
*
|
|
296
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
297
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
298
|
+
* @return {Vector3} The position on the curve.
|
|
299
|
+
*/
|
|
300
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
301
|
+
|
|
302
|
+
const point = optionalTarget;
|
|
303
|
+
|
|
304
|
+
const p = 3;
|
|
305
|
+
const q = 4;
|
|
306
|
+
|
|
307
|
+
t *= Math.PI * 2;
|
|
308
|
+
|
|
309
|
+
const x = ( 2 + Math.cos( q * t ) ) * Math.cos( p * t );
|
|
310
|
+
const y = ( 2 + Math.cos( q * t ) ) * Math.sin( p * t );
|
|
311
|
+
const z = Math.sin( q * t );
|
|
312
|
+
|
|
313
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
314
|
+
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* A Cinquefoil Knot.
|
|
321
|
+
*
|
|
322
|
+
* @augments Curve
|
|
323
|
+
* @three_import import { CinquefoilKnot } from 'three/addons/curves/CurveExtras.js';
|
|
324
|
+
*/
|
|
325
|
+
class CinquefoilKnot extends Curve {
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Constructs a new Cinquefoil Knot.
|
|
329
|
+
*
|
|
330
|
+
* @param {number} [scale=10] - The curve's scale.
|
|
331
|
+
*/
|
|
332
|
+
constructor( scale = 10 ) {
|
|
333
|
+
|
|
334
|
+
super();
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* The curve's scale.
|
|
338
|
+
*
|
|
339
|
+
* @type {number}
|
|
340
|
+
* @default 10
|
|
341
|
+
*/
|
|
342
|
+
this.scale = scale;
|
|
343
|
+
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
348
|
+
*
|
|
349
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
350
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
351
|
+
* @return {Vector3} The position on the curve.
|
|
352
|
+
*/
|
|
353
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
354
|
+
|
|
355
|
+
const point = optionalTarget;
|
|
356
|
+
|
|
357
|
+
const p = 2;
|
|
358
|
+
const q = 5;
|
|
359
|
+
|
|
360
|
+
t *= Math.PI * 2;
|
|
361
|
+
|
|
362
|
+
const x = ( 2 + Math.cos( q * t ) ) * Math.cos( p * t );
|
|
363
|
+
const y = ( 2 + Math.cos( q * t ) ) * Math.sin( p * t );
|
|
364
|
+
const z = Math.sin( q * t );
|
|
365
|
+
|
|
366
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
367
|
+
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* A Trefoil Polynomial Knot.
|
|
374
|
+
*
|
|
375
|
+
* @augments Curve
|
|
376
|
+
* @three_import import { TrefoilPolynomialKnot } from 'three/addons/curves/CurveExtras.js';
|
|
377
|
+
*/
|
|
378
|
+
class TrefoilPolynomialKnot extends Curve {
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Constructs a new Trefoil Polynomial Knot.
|
|
382
|
+
*
|
|
383
|
+
* @param {number} [scale=10] - The curve's scale.
|
|
384
|
+
*/
|
|
385
|
+
constructor( scale = 10 ) {
|
|
386
|
+
|
|
387
|
+
super();
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* The curve's scale.
|
|
391
|
+
*
|
|
392
|
+
* @type {number}
|
|
393
|
+
* @default 10
|
|
394
|
+
*/
|
|
395
|
+
this.scale = scale;
|
|
396
|
+
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
401
|
+
*
|
|
402
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
403
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
404
|
+
* @return {Vector3} The position on the curve.
|
|
405
|
+
*/
|
|
406
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
407
|
+
|
|
408
|
+
const point = optionalTarget;
|
|
409
|
+
|
|
410
|
+
t = t * 4 - 2;
|
|
411
|
+
|
|
412
|
+
const x = Math.pow( t, 3 ) - 3 * t;
|
|
413
|
+
const y = Math.pow( t, 4 ) - 4 * t * t;
|
|
414
|
+
const z = 1 / 5 * Math.pow( t, 5 ) - 2 * t;
|
|
415
|
+
|
|
416
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
417
|
+
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
function scaleTo( x, y, t ) {
|
|
423
|
+
|
|
424
|
+
const r = y - x;
|
|
425
|
+
return t * r + x;
|
|
426
|
+
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* A Figure Eight Polynomial Knot.
|
|
431
|
+
*
|
|
432
|
+
* @augments Curve
|
|
433
|
+
* @three_import import { FigureEightPolynomialKnot } from 'three/addons/curves/CurveExtras.js';
|
|
434
|
+
*/
|
|
435
|
+
class FigureEightPolynomialKnot extends Curve {
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Constructs a new Figure Eight Polynomial Knot.
|
|
439
|
+
*
|
|
440
|
+
* @param {number} [scale=1] - The curve's scale.
|
|
441
|
+
*/
|
|
442
|
+
constructor( scale = 1 ) {
|
|
443
|
+
|
|
444
|
+
super();
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* The curve's scale.
|
|
448
|
+
*
|
|
449
|
+
* @type {number}
|
|
450
|
+
* @default 1
|
|
451
|
+
*/
|
|
452
|
+
this.scale = scale;
|
|
453
|
+
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
458
|
+
*
|
|
459
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
460
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
461
|
+
* @return {Vector3} The position on the curve.
|
|
462
|
+
*/
|
|
463
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
464
|
+
|
|
465
|
+
const point = optionalTarget;
|
|
466
|
+
|
|
467
|
+
t = scaleTo( - 4, 4, t );
|
|
468
|
+
|
|
469
|
+
const x = 2 / 5 * t * ( t * t - 7 ) * ( t * t - 10 );
|
|
470
|
+
const y = Math.pow( t, 4 ) - 13 * t * t;
|
|
471
|
+
const z = 1 / 10 * t * ( t * t - 4 ) * ( t * t - 9 ) * ( t * t - 12 );
|
|
472
|
+
|
|
473
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
474
|
+
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* A Decorated Torus Knot 4a.
|
|
481
|
+
*
|
|
482
|
+
* @augments Curve
|
|
483
|
+
* @three_import import { DecoratedTorusKnot4a } from 'three/addons/curves/CurveExtras.js';
|
|
484
|
+
*/
|
|
485
|
+
class DecoratedTorusKnot4a extends Curve {
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Constructs a new Decorated Torus Knot 4a.
|
|
489
|
+
*
|
|
490
|
+
* @param {number} [scale=40] - The curve's scale.
|
|
491
|
+
*/
|
|
492
|
+
constructor( scale = 40 ) {
|
|
493
|
+
|
|
494
|
+
super();
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* The curve's scale.
|
|
498
|
+
*
|
|
499
|
+
* @type {number}
|
|
500
|
+
* @default 40
|
|
501
|
+
*/
|
|
502
|
+
this.scale = scale;
|
|
503
|
+
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
508
|
+
*
|
|
509
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
510
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
511
|
+
* @return {Vector3} The position on the curve.
|
|
512
|
+
*/
|
|
513
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
514
|
+
|
|
515
|
+
const point = optionalTarget;
|
|
516
|
+
|
|
517
|
+
t *= Math.PI * 2;
|
|
518
|
+
|
|
519
|
+
const x = Math.cos( 2 * t ) * ( 1 + 0.6 * ( Math.cos( 5 * t ) + 0.75 * Math.cos( 10 * t ) ) );
|
|
520
|
+
const y = Math.sin( 2 * t ) * ( 1 + 0.6 * ( Math.cos( 5 * t ) + 0.75 * Math.cos( 10 * t ) ) );
|
|
521
|
+
const z = 0.35 * Math.sin( 5 * t );
|
|
522
|
+
|
|
523
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
524
|
+
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* A Decorated Torus Knot 4b.
|
|
531
|
+
*
|
|
532
|
+
* @augments Curve
|
|
533
|
+
* @three_import import { DecoratedTorusKnot4b } from 'three/addons/curves/CurveExtras.js';
|
|
534
|
+
*/
|
|
535
|
+
class DecoratedTorusKnot4b extends Curve {
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Constructs a new Decorated Torus Knot 4b.
|
|
539
|
+
*
|
|
540
|
+
* @param {number} [scale=40] - The curve's scale.
|
|
541
|
+
*/
|
|
542
|
+
constructor( scale = 40 ) {
|
|
543
|
+
|
|
544
|
+
super();
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* The curve's scale.
|
|
548
|
+
*
|
|
549
|
+
* @type {number}
|
|
550
|
+
* @default 40
|
|
551
|
+
*/
|
|
552
|
+
this.scale = scale;
|
|
553
|
+
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
558
|
+
*
|
|
559
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
560
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
561
|
+
* @return {Vector3} The position on the curve.
|
|
562
|
+
*/
|
|
563
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
564
|
+
|
|
565
|
+
const point = optionalTarget;
|
|
566
|
+
|
|
567
|
+
const fi = t * Math.PI * 2;
|
|
568
|
+
|
|
569
|
+
const x = Math.cos( 2 * fi ) * ( 1 + 0.45 * Math.cos( 3 * fi ) + 0.4 * Math.cos( 9 * fi ) );
|
|
570
|
+
const y = Math.sin( 2 * fi ) * ( 1 + 0.45 * Math.cos( 3 * fi ) + 0.4 * Math.cos( 9 * fi ) );
|
|
571
|
+
const z = 0.2 * Math.sin( 9 * fi );
|
|
572
|
+
|
|
573
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
574
|
+
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* A Decorated Torus Knot 5a.
|
|
581
|
+
*
|
|
582
|
+
* @augments Curve
|
|
583
|
+
* @three_import import { DecoratedTorusKnot5a } from 'three/addons/curves/CurveExtras.js';
|
|
584
|
+
*/
|
|
585
|
+
class DecoratedTorusKnot5a extends Curve {
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* Constructs a new Decorated Torus Knot 5a.
|
|
589
|
+
*
|
|
590
|
+
* @param {number} [scale=40] - The curve's scale.
|
|
591
|
+
*/
|
|
592
|
+
constructor( scale = 40 ) {
|
|
593
|
+
|
|
594
|
+
super();
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* The curve's scale.
|
|
598
|
+
*
|
|
599
|
+
* @type {number}
|
|
600
|
+
* @default 40
|
|
601
|
+
*/
|
|
602
|
+
this.scale = scale;
|
|
603
|
+
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
608
|
+
*
|
|
609
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
610
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
611
|
+
* @return {Vector3} The position on the curve.
|
|
612
|
+
*/
|
|
613
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
614
|
+
|
|
615
|
+
const point = optionalTarget;
|
|
616
|
+
|
|
617
|
+
const fi = t * Math.PI * 2;
|
|
618
|
+
|
|
619
|
+
const x = Math.cos( 3 * fi ) * ( 1 + 0.3 * Math.cos( 5 * fi ) + 0.5 * Math.cos( 10 * fi ) );
|
|
620
|
+
const y = Math.sin( 3 * fi ) * ( 1 + 0.3 * Math.cos( 5 * fi ) + 0.5 * Math.cos( 10 * fi ) );
|
|
621
|
+
const z = 0.2 * Math.sin( 20 * fi );
|
|
622
|
+
|
|
623
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
624
|
+
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* A Decorated Torus Knot 5c.
|
|
631
|
+
*
|
|
632
|
+
* @augments Curve
|
|
633
|
+
* @three_import import { DecoratedTorusKnot5c } from 'three/addons/curves/CurveExtras.js';
|
|
634
|
+
*/
|
|
635
|
+
class DecoratedTorusKnot5c extends Curve {
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* Constructs a new Decorated Torus Knot 5c.
|
|
639
|
+
*
|
|
640
|
+
* @param {number} [scale=40] - The curve's scale.
|
|
641
|
+
*/
|
|
642
|
+
constructor( scale = 40 ) {
|
|
643
|
+
|
|
644
|
+
super();
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
* The curve's scale.
|
|
648
|
+
*
|
|
649
|
+
* @type {number}
|
|
650
|
+
* @default 40
|
|
651
|
+
*/
|
|
652
|
+
this.scale = scale;
|
|
653
|
+
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
/**
|
|
657
|
+
* This method returns a vector in 3D space for the given interpolation factor.
|
|
658
|
+
*
|
|
659
|
+
* @param {number} t - A interpolation factor representing a position on the curve. Must be in the range `[0,1]`.
|
|
660
|
+
* @param {Vector3} [optionalTarget] - The optional target vector the result is written to.
|
|
661
|
+
* @return {Vector3} The position on the curve.
|
|
662
|
+
*/
|
|
663
|
+
getPoint( t, optionalTarget = new Vector3() ) {
|
|
664
|
+
|
|
665
|
+
const point = optionalTarget;
|
|
666
|
+
|
|
667
|
+
const fi = t * Math.PI * 2;
|
|
668
|
+
|
|
669
|
+
const x = Math.cos( 4 * fi ) * ( 1 + 0.5 * ( Math.cos( 5 * fi ) + 0.4 * Math.cos( 20 * fi ) ) );
|
|
670
|
+
const y = Math.sin( 4 * fi ) * ( 1 + 0.5 * ( Math.cos( 5 * fi ) + 0.4 * Math.cos( 20 * fi ) ) );
|
|
671
|
+
const z = 0.35 * Math.sin( 15 * fi );
|
|
672
|
+
|
|
673
|
+
return point.set( x, y, z ).multiplyScalar( this.scale );
|
|
674
|
+
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
export {
|
|
680
|
+
GrannyKnot,
|
|
681
|
+
HeartCurve,
|
|
682
|
+
VivianiCurve,
|
|
683
|
+
KnotCurve,
|
|
684
|
+
HelixCurve,
|
|
685
|
+
TrefoilKnot,
|
|
686
|
+
TorusKnot,
|
|
687
|
+
CinquefoilKnot,
|
|
688
|
+
TrefoilPolynomialKnot,
|
|
689
|
+
FigureEightPolynomialKnot,
|
|
690
|
+
DecoratedTorusKnot4a,
|
|
691
|
+
DecoratedTorusKnot4b,
|
|
692
|
+
DecoratedTorusKnot5a,
|
|
693
|
+
DecoratedTorusKnot5c
|
|
694
|
+
};
|