Changed Node Image for Coolify

This commit is contained in:
pelpanagiotis
2026-04-27 22:56:44 +03:00
parent 50be1cdf35
commit 0ae97fdb3a
19 changed files with 142 additions and 44 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

View File

@@ -19,7 +19,7 @@ function initAssetPicker(): void {
const labelEl = document.querySelector("#asset-picker-label");
const indexEl = document.querySelector("#asset-picker-index");
if (!needle || !prev || !next || !arBtn || !labelEl || !indexEl) return;
if (!needle || !prev || !next || !labelEl || !indexEl) return;
let menuController: MenuController | null = null;
let immersiveSessionActive = false;
@@ -43,10 +43,12 @@ function initAssetPicker(): void {
prev.disabled = !canNav;
next.disabled = !canNav;
arBtn.disabled =
!arSupported ||
arStarting ||
immersiveSessionActive;
if (arBtn) {
arBtn.disabled =
!arSupported ||
arStarting ||
immersiveSessionActive;
}
};
const bindMenuController = async (): Promise<void> => {
@@ -88,7 +90,7 @@ function initAssetPicker(): void {
prev.addEventListener("click", () => requestNavigate(-1));
next.addEventListener("click", () => requestNavigate(1));
arBtn.addEventListener("click", () => void startAr());
arBtn?.addEventListener("click", () => void startAr());
needle.addEventListener("enter-ar", () => {
immersiveSessionActive = true;

View File

@@ -0,0 +1,27 @@
import { onStart, OrbitControls } from "@needle-tools/engine";
/**
* Turn off orbit / pan / zoom from the exported scene (Main Camera often has {@link OrbitControls}).
* `<needle-engine camera-controls="false">` only skips auto-injected controls; Unity-serialized ones
* must be disabled in code.
*/
onStart((context) => {
const oc = context.scene.getComponentInChildren(OrbitControls);
if (!oc) return;
oc.enableRotate = false;
oc.enablePan = false;
oc.enableZoom = false;
oc.enableKeys = false;
oc.autoRotate = false;
oc.middleClickToFocus = false;
oc.doubleClickToFocus = false;
oc.clickBackgroundToFitScene = 0;
const three = oc.controls;
if (three) {
three.enabled = false;
}
oc.enabled = false;
});

View File

@@ -19,7 +19,7 @@ document.addEventListener("DOMContentLoaded", () =>
const needleEngine = document.querySelector("needle-engine");
if(needleEngine && needleEngine.getAttribute("src") === null)
{
needleEngine.setAttribute("hash", "1776659726595");
needleEngine.setAttribute("hash", "1776799769658");
needleEngine.setAttribute("src", JSON.stringify(needle_exported_files));
}
});

View File

@@ -1,4 +1,5 @@
import("@needle-tools/engine") /* async import of needle engine */;
import "./disableCameraControls";
import "./dishMeshFallback";
import "./enableXR";
import "./assetPicker";

View File

@@ -26,13 +26,16 @@ export class MenuController extends Behaviour {
@serializable(Object3D)
webXROrigin?: Object3D;
/** Local-space vertical bob amplitude (meters). Set to 0 to disable. */
/**
* Local-space vertical bob amplitude (meters). Set to 0 to disable.
* Peak-to-peak motion is 2× this value; 0.004 ≈ 8 mm total — subtle but visible.
*/
@serializable()
dishBobAmplitude = 0.05;
dishBobAmplitude = 0.004;
/** Bob angular speed (radians per second). */
@serializable()
dishBobSpeed = 2.5;
dishBobSpeed = 1.0;
private usdzExporter?: USDZExporter;

View File

@@ -63,16 +63,6 @@ needle-engine {
cursor: not-allowed;
}
#asset-picker #asset-picker-ar {
background: #34c759;
color: #0a0a0c;
}
#asset-picker #asset-picker-ar:disabled {
background: #3a3a3e;
color: rgba(255, 255, 255, 0.5);
}
#asset-picker .asset-picker__label {
flex: 1;
min-width: 0;