Commit graph Fensalir/scripts/dev-reload.ps1
Author SHA1 Message Date
Aqua
467a97f540 Trusted root: lexical check before any filesystem access, cached env setting, stricter log escaping
Review (Heimdall): a path outside the pinned root (as resolved or as given) is refused by
string comparison before File.Exists or any link is followed; the trusted-root setting is
its own small type that takes the environment variable once, caches it and refuses blank
values; Printable also escapes backslash, format characters (bidi, zero-width) and the
line and paragraph separators; dev-watch matches the host ack by the unique slot leaf with
doubled backslashes; dev-reload prunes live-slots and rejects stale reopen state up front.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 11:04:00 +00:00
Aqua
45b0b38a2e Trusted root: assemblies-only dir, env cleared on every path, string checks first, escaped logs
Review (Heimdall): dev scripts keep slots and live-slots under artifacts/dev-reload/assemblies
and pass that as the root, not the whole dev root; --client-trusted-root refuses an empty or
missing value and the environment variable is cleared on every path; the UNC/fully-qualified
string rule runs before File.Exists on a pointer target; control characters are escaped in
every logged path.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 10:57:09 +00:00
Aqua
e0fc49b720 dev-reload: trusted root is the dev root, so dev-watch live-slots reloads load
dev-watch writes the reload pointer under artifacts/dev-reload/live-slots, a
sibling of slots; a slot-directory root refused every watch reload and the
reopen path. Test: a sibling directory loads inside an explicit root, not under
the default root, and an outside assembly is still refused.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 10:47:56 +00:00
Aqua
d44666ec69 ClientRuntimeLoader: client assemblies must resolve under a trusted root
The reload pointer, and the initial --client-assembly, named any path and ran
whatever it held in the engine process. Reload now refuses relative and UNC
paths and anything that, links followed, lies outside the trusted root
(--client-trusted-root or AQUARIUM_CLIENT_TRUSTED_ROOT; default: the directory
of the initial assembly). dev-reload passes its slot directory as the root.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 10:45:23 +00:00
Meta Vens
a7ea2d7577 Create Fensalir engine repo boundary 2026-05-23 18:54:26 +01:00
Meta Vens
e4c90498a8 Add Zyphos planetary demo client 2026-05-17 23:37:20 +01:00
Meta Vens
93f64eac37 Separate engine rendering vocabulary from Epiphany 2026-05-12 04:37:18 +01:00
Meta Vens
82c7daad6a Allocate declared render graph targets 2026-05-12 03:45:18 +01:00
Meta Vens
85a3e25241 Extract Epiphany render policy from engine 2026-05-12 03:39:40 +01:00
Meta Vens
a5f5103926 Split Epiphany client from engine runtime 2026-05-12 02:13:45 +01:00
Meta Vens
9d6bc7ea97 Traverse D3D12 transparent surfaces by froxel DDA 2026-05-09 20:45:24 +01:00
Meta Vens
ee61b12b51 Build D3D12 pipelines off the main thread 2026-05-09 20:14:57 +01:00
Meta Vens
df67722b2d Fix headless reload verification 2026-05-09 03:05:23 +01:00
Meta Vens
fa9e01fb60 Keep headless reload from replacing dev window 2026-05-08 20:28:19 +01:00
Meta Vens
d594e0803b Add live runtime assembly reload 2026-05-08 16:04:52 +01:00
Meta Vens
4c6cb24f4c Hot reload Aquarium shaders in process 2026-05-08 15:31:38 +01:00
Meta Vens
b734a58f12 Launch Aquarium apphost in dev reload 2026-05-08 15:10:33 +01:00
Meta Vens
b7bb565114 Verify dev reload window startup 2026-05-08 14:05:42 +01:00
Meta Vens
a597fab63e Use CultLib for live reload state 2026-05-08 12:42:08 +01:00
Meta Vens
1a0dc36148 Add disposable slot dev reload scripts 2026-05-08 12:15:46 +01:00