aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/components/background.svelte35
-rw-r--r--src/lib/components/hud.svelte30
-rw-r--r--src/lib/components/palette.svelte25
-rw-r--r--src/lib/components/sensor.svelte0
4 files changed, 90 insertions, 0 deletions
diff --git a/src/lib/components/background.svelte b/src/lib/components/background.svelte
new file mode 100644
index 0000000..7664939
--- /dev/null
+++ b/src/lib/components/background.svelte
@@ -0,0 +1,35 @@
+<script>
+ import { browser } from '$app/env';
+
+ export let x;
+ export let y;
+
+ const kDotSize = 32;
+
+ $: {
+ if (browser) {
+ document.documentElement.style.setProperty('--dot-size', kDotSize + 'px');
+ document.documentElement.style.setProperty('--dot-x', kDotSize - x % kDotSize + 'px');
+ document.documentElement.style.setProperty('--dot-y', kDotSize - y % kDotSize + 'px');
+ }
+ }
+</script>
+
+<div class="background"></div>
+
+<style>
+ .background {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ user-select: none;
+ pointer-events: none;
+ background: radial-gradient(#aaa, #aaa 1px, #fff 1px, #fff var(--dot-size));
+ background-size: var(--dot-size) var(--dot-size);
+ background-position: var(--dot-x) var(--dot-y);
+ padding: 0;
+ margin: 0;
+ width: 100vw;
+ height: 100vh;
+ }
+</style>
diff --git a/src/lib/components/hud.svelte b/src/lib/components/hud.svelte
new file mode 100644
index 0000000..ce32e0d
--- /dev/null
+++ b/src/lib/components/hud.svelte
@@ -0,0 +1,30 @@
+<script>
+ export let x;
+ export let y;
+
+ const kCoordinateLength = 6;
+ const kSeparatorRegex = /([0-9a-z]{2})/g;
+
+ const formatCoordinate = function formatCoordinate(coordinate) {
+ return coordinate
+ .toString(16)
+ .padStart(kCoordinateLength, 0)
+ .replace(kSeparatorRegex, '$1 ');
+ }
+</script>
+
+<div class="hud">
+ { formatCoordinate(x) } × { formatCoordinate(y) }
+</div>
+
+<style>
+ .hud {
+ background-color: #fff;
+ padding: 4px;
+ position: fixed;
+ bottom: 2px;
+ right: 2px;
+ font-smooth: never;
+ -webkit-font-smoothing : none;
+ }
+</style>
diff --git a/src/lib/components/palette.svelte b/src/lib/components/palette.svelte
new file mode 100644
index 0000000..94ba3db
--- /dev/null
+++ b/src/lib/components/palette.svelte
@@ -0,0 +1,25 @@
+<script>
+ import { blink } from '$lib/animations/blink';
+</script>
+
+<div class="palette" transition:blink>
+ <p>
+ palette palette palette palette palette palette <br/>
+ palette palette palette palette palette palette <br/>
+ palette palette palette palette palette palette <br/>
+ palette palette palette palette palette palette <br/>
+ palette palette palette palette palette palette <br/>
+ palette palette palette palette palette palette <br/>
+ </p>
+</div>
+
+<style>
+ .palette {
+ position: fixed;
+ top: var(--palette-y);
+ left: var(--palette-x);
+ border: 1px solid black;
+ background-color: #fff;
+ overflow: hidden;
+ }
+</style>
diff --git a/src/lib/components/sensor.svelte b/src/lib/components/sensor.svelte
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/components/sensor.svelte