summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2026/framing/Cargo.toml4
-rw-r--r--2026/framing/Makefile4
-rw-r--r--2026/framing/index.css2
-rw-r--r--2026/framing/src/game.rs2
-rw-r--r--2026/framing/src/main.rs9
-rw-r--r--2026/index.html30
6 files changed, 23 insertions, 28 deletions
diff --git a/2026/framing/Cargo.toml b/2026/framing/Cargo.toml
index 56d2fb7..b673692 100644
--- a/2026/framing/Cargo.toml
+++ b/2026/framing/Cargo.toml
@@ -7,10 +7,6 @@ edition = "2021"
[lib]
crate-type = ["cdylib", "rlib"]
-[[bin]]
-name = "game"
-path = "src/main.rs"
-
[profile.release]
opt-level = 2
codegen-units = 1
diff --git a/2026/framing/Makefile b/2026/framing/Makefile
new file mode 100644
index 0000000..6517e85
--- /dev/null
+++ b/2026/framing/Makefile
@@ -0,0 +1,4 @@
+.PHONY: all
+
+all:
+ trunk build --public-url='/framing/dist/'
diff --git a/2026/framing/index.css b/2026/framing/index.css
index c5ae68e..aa6ff76 100644
--- a/2026/framing/index.css
+++ b/2026/framing/index.css
@@ -3,7 +3,7 @@ html {
}
body {
- background: #000000;
+ background: none transparent;
}
html,
diff --git a/2026/framing/src/game.rs b/2026/framing/src/game.rs
index 59e9697..b704b49 100644
--- a/2026/framing/src/game.rs
+++ b/2026/framing/src/game.rs
@@ -46,7 +46,7 @@ impl teleia::state::Game for Game {
Ok(())
}
fn render(&mut self, ctx: &context::Context, st: &mut state::State) -> Erm<()> {
- ctx.clear_color(glam::Vec4::new(0.0, 0.0, 0.0, 0.0));
+ ctx.clear_color(glam::Vec4::new(1.0, 0.0, 0.0, 0.5));
ctx.clear();
self.assets.font.render_text_at(
ctx, st,
diff --git a/2026/framing/src/main.rs b/2026/framing/src/main.rs
deleted file mode 100644
index 25a240d..0000000
--- a/2026/framing/src/main.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-mod game;
-
-#[cfg(not(target_arch = "wasm32"))]
-pub fn main() -> teleia::Erm<()> {
- teleia::run("game", 240, 160, teleia::Options::empty(), game::Game::new)
-}
-
-#[cfg(target_arch = "wasm32")]
-pub fn main() {} // dummy main, real wasm32 main is lib::main_js
diff --git a/2026/index.html b/2026/index.html
index d7cfe98..ce28e45 100644
--- a/2026/index.html
+++ b/2026/index.html
@@ -11,9 +11,6 @@
width: 100vw;
height: 100vh;
}
- .jam-transparent {
- visibility: hidden;
- }
#jam-iframe-parent {
display: grid;
grid-template-columns: 100%;
@@ -31,7 +28,7 @@
padding: 0px;
border: 0px;
}
- #jam-iframe {
+ #jam-game-iframe {
}
#jam-framing-iframe {
z-index: 1;
@@ -39,20 +36,29 @@
</style>
</head>
<body>
- <!-- <div id="jam-cover"> -->
- <!-- it's in between games -->
- <!-- </div> -->
- <!-- <iframe id="jam-iframe" width="240" height="160" src="./game.html"></iframe> -->
<div id="jam-iframe-parent">
<iframe id="jam-framing-iframe" width="480" height="320" src="./framing/dist/index.html"></iframe>
- <iframe id="jam-iframe" width="240" height="160" src="./examples/godot/output/game.html"></iframe>
+ <!-- <iframe id="jam-game-iframe" width="240" height="160" src="./examples/godot/output/game.html"></iframe> -->
+ <iframe id="jam-game-iframe" width="240" height="160" src="game.html"></iframe>
<div>
<script type="module">
- let iframe = document.getElementById("jam-iframe");
+ let iframe = document.getElementById("jam-game-iframe");
iframe.addEventListener("load", () => {
iframe.contentDocument.body.style["overflow"] = "hidden";
iframe.contentDocument.body.style["image-rendering"] = "pixelated";
});
+ function resizeView() {
+ let least_ratio = Math.min(Math.floor(window.innerWidth / 480), Math.floor(window.innerHeight / 320));
+ let factor = Math.max(1, least_ratio);
+ console.log(factor);
+ let game = document.getElementById("jam-game-iframe");
+ game.style["transform"] = `scale(${factor})`;
+ console.log(game.style.transform);
+ let framing = document.getElementById("jam-framing-iframe");
+ framing.style["transform"] = `scale(${factor})`;
+ }
+ resizeView();
+ window.addEventListener("resize", resizeView);
window.addEventListener("message", ev => {
console.log(ev.data);
switch (ev.data.op) {
@@ -64,13 +70,11 @@
}, 1000);
break;
case "started":
- // document.getElementById("jam-cover").classList.add("jam-transparent");
iframe.contentWindow.focus();
break;
case "done":
- // document.getElementById("jam-cover").classList.remove("jam-transparent");
break;
- default: console.log(`unknown event: {ev}`); break;
+ default: console.log(`unknown event: ${ev}`); break;
}
});
</script>