Skip to content

シーンを使わずに起動する#63

Merged
EbiseLutica merged 7 commits intomasterfrom
copilot/implement-prometeapp-run
Nov 5, 2025
Merged

シーンを使わずに起動する#63
EbiseLutica merged 7 commits intomasterfrom
copilot/implement-prometeapp-run

Conversation

Copy link
Contributor

Copilot AI commented Nov 5, 2025

Issueで要求された通り、シーンを明示的に指定せずにPrometeApp.Run()を実行できるようにしました。これによりHello Worldプログラムがよりシンプルに書けます。

Changes

  • PrometeApp.DefaultScene: [IgnoredScene]属性を持つ空のプライベートシーンクラスを追加し、RegisterAllScenes()で明示的に登録
  • Run()/Run(WindowOptions): シーンを指定しないオーバーロードを追加。内部的にDefaultSceneを使用
  • Tests: 新機能の動作確認テスト(4テストケース)
  • Demo: ScenelessDemo.csで使用例を追加

Usage

var app = PrometeApp.Create()
    .Use<Keyboard>()
    .Use<ConsoleLayer>()
    .BuildWithOpenGLDesktop();

var keyboard = app.GetPlugin<Keyboard>();
var console = app.GetPlugin<ConsoleLayer>();

app.Window.Start += () => {
    console.Print("Hello, world!");
};

app.Window.Update += () => {
    if (keyboard.Escape.IsKeyDown) {
        app.Exit(0);
    }
};

return app.Run();

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: node /home/REDACTED/work/Promete/Promete/Promete.Docs/node_modules/.bin/astro build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>シーンを使わずに起動する</issue_title>
<issue_description>Summary

Hello worldをよりシンプルに書けるよう、シーンを初期化しない PrometeApp.Run を実装する

var app = PrometeApp.Create()
	.Use<Keyboard>()
	.Use<ConsoleLayer>()
	.BuildWithOpenGLDesktop();

var keyboard = app.GetPlugin<Keyboard>();
var console = app.GetPlugin<ConsoleLayer>();

app.Window.Start += () => {
    console.Print("Hello, world!");
};

app.Window.Update += () => {
    if (keyboard.Escape.IsKeyDown) {
        App.Exit(0);
    }
};

return app.Run();
```</issue_description>

## Comments on the Issue (you are @copilot in this section)

<comments>
<comment_new><author>@EbiseLutica</author><body>
DefaultSceneという空のシーンをprivateクラスとして持っておいてそれを初期値としてPrometeAppに設定する感じで</body></comment_new>
</comments>

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: EbiseLutica <7106976+EbiseLutica@users.noreply.github.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Nov 5, 2025

Deploying promete with  Cloudflare Pages  Cloudflare Pages

Latest commit: 15f0996
Status: ✅  Deploy successful!
Preview URL: https://dc4cf03d.promete.pages.dev
Branch Preview URL: https://copilot-implement-prometeapp.promete.pages.dev

View logs

Copilot AI and others added 3 commits November 5, 2025 16:04
Co-authored-by: EbiseLutica <7106976+EbiseLutica@users.noreply.github.com>
Co-authored-by: EbiseLutica <7106976+EbiseLutica@users.noreply.github.com>
Co-authored-by: EbiseLutica <7106976+EbiseLutica@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement PrometeApp.Run without initializing scene シーンを使わずに起動する Nov 5, 2025
Copilot AI requested a review from EbiseLutica November 5, 2025 16:12
@EbiseLutica EbiseLutica marked this pull request as ready for review November 5, 2025 17:12
@EbiseLutica EbiseLutica merged commit 7c0dbe4 into master Nov 5, 2025
2 of 3 checks passed
@EbiseLutica EbiseLutica deleted the copilot/implement-prometeapp-run branch November 5, 2025 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

シーンを使わずに起動する

2 participants