diff --git a/src/lib/chat/MessageUI.svelte b/src/lib/chat/MessageUI.svelte
index 9620fe7..b217c2e 100644
--- a/src/lib/chat/MessageUI.svelte
+++ b/src/lib/chat/MessageUI.svelte
@@ -17,8 +17,6 @@
const user = derivePromise(null, async () => {
return await users.getUser(authorDid.value);
});
-
- $inspect(user);
diff --git a/src/lib/chat/tiptap.svelte b/src/lib/chat/tiptap.svelte
index 7b0fa58..43b5f1d 100644
--- a/src/lib/chat/tiptap.svelte
+++ b/src/lib/chat/tiptap.svelte
@@ -52,7 +52,7 @@
Placeholder.configure({ placeholder: 'Write something ...' }),
initKeyboardShortcutHandler({
onEnter: () => {
- onEnter?.(editor?.getJSON());
+ onEnter?.(editor?.getJSON() ?? { type: 'doc', content: [] });
}
})
],
diff --git a/src/lib/player/Player.svelte b/src/lib/player/Player.svelte
index cc46c7e..c251276 100644
--- a/src/lib/player/Player.svelte
+++ b/src/lib/player/Player.svelte
@@ -131,11 +131,11 @@
// updatePosition();
});
- onMount(() => {
- setInterval(() => {
- updatePosition();
- }, 1000);
- });
+ // onMount(() => {
+ // setInterval(() => {
+ // updatePosition();
+ // }, 1000);
+ // });
async function updatePosition() {
if (!playerLocation) {
diff --git a/src/lib/world-editor/InstanceEditorUI.svelte b/src/lib/world-editor/InstanceEditorUI.svelte
index cdd428e..4c22124 100644
--- a/src/lib/world-editor/InstanceEditorUI.svelte
+++ b/src/lib/world-editor/InstanceEditorUI.svelte
@@ -13,9 +13,12 @@
onMount(() => {
window.addEventListener('keydown', async (e) => {
- // if target is input or div thats content editable, don't handle
- if (e.target instanceof HTMLInputElement || (e.target instanceof HTMLElement && e.target.contentEditable)) return;
-
+ if (
+ e.target instanceof HTMLInputElement ||
+ (e.target instanceof HTMLElement && e.target.contentEditable === 'true')
+ )
+ return;
+
if (e.key === 'r') {
selectedTool = 'rotate';
} else if (e.key === 's') {
diff --git a/src/lib/world-editor/Player.svelte b/src/lib/world-editor/Player.svelte
index c11fc9f..91d5d09 100644
--- a/src/lib/world-editor/Player.svelte
+++ b/src/lib/world-editor/Player.svelte
@@ -3,7 +3,6 @@
import type { PlayerLocation } from '$lib/roomy';
import { T, useTask } from '@threlte/core';
import { Vector3 } from 'three';
- import { editingState } from './state.svelte';
let {
player
@@ -39,7 +38,7 @@
// interpolate rotation
rotation = rotation * 0.95 + (player.rotation ?? 0) * 0.05;
-
+
moving = dist > 0.5;
if (dist < 0.05) return;
diff --git a/src/lib/world-editor/Players.svelte b/src/lib/world-editor/Players.svelte
index 4eef2b3..5230c71 100644
--- a/src/lib/world-editor/Players.svelte
+++ b/src/lib/world-editor/Players.svelte
@@ -1,20 +1,9 @@
{#each players.value as player}
diff --git a/src/lib/world-editor/WorldEditorScene.svelte b/src/lib/world-editor/WorldEditorScene.svelte
index 05bd63a..05e56de 100644
--- a/src/lib/world-editor/WorldEditorScene.svelte
+++ b/src/lib/world-editor/WorldEditorScene.svelte
@@ -12,7 +12,6 @@
import { Debug } from '@threlte/rapier';
import { derivePromise } from '$lib/utils.svelte';
import { g } from '$lib/roomy.svelte';
- import Players from './Players.svelte';
interactivity({
filter: (hits) => {
@@ -24,22 +23,25 @@
const { renderer } = useThrelte();
- let playerLocation = derivePromise(null, async () => await getPlayerLocation());
-
- $inspect(playerLocation);
-
onMount(async () => {
window.addEventListener('keydown', (e) => {
- if (e.target instanceof HTMLInputElement || (e.target instanceof HTMLElement && e.target.contentEditable)) return;
+ if (
+ e.target instanceof HTMLInputElement ||
+ (e.target instanceof HTMLElement && e.target.contentEditable === 'true')
+ )
+ return;
// on c switch camera
if (e.key === 'c') {
- editingState.camera = editingState.camera === 'first' ? 'third' : 'first';
+ if(editingState.camera === 'third' && !editingState.selectedCharacter) {
+ editingState.showCharacterPicker = true;
+ } else {
+ editingState.camera = editingState.camera === 'first' ? 'third' : 'first';
+ }
}
});
renderer.toneMapping = ACESFilmicToneMapping;
-
});
$effect(() => {
@@ -61,7 +63,7 @@
{:else}
-
+
{/if}
@@ -89,8 +91,6 @@
{/each}
-
-
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 45fa156..2b91440 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -3,11 +3,14 @@
import { initClient, login } from '$lib/oauth';
import { onMount } from 'svelte';
import { BlueskyLoginModal, Head } from 'fuchs';
+ import { initRoomy } from '$lib/roomy.svelte';
let { children } = $props();
onMount(() => {
initClient();
+
+ initRoomy();
});