Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
a812a46
art: draw the coffee machine, food and pocket computer boards
arudaev Oct 24, 2026
5ac2808
feat: seat Dexter at the coffee machine with his gifts
arudaev Oct 24, 2026
abc0795
art: export the approved coffee machine, food and pocket computer
arudaev Oct 24, 2026
8dcc742
Merge remote-tracking branch 'origin/main' into feature/52-coffee-visit
arudaev Oct 24, 2026
2d29ed1
feat: fight Jenny in the boss clearing
arudaev Oct 24, 2026
f59fccf
fix: walk and run at the speed the feet carry the hero
arudaev Oct 24, 2026
21602be
feat: pick up the chair by the path before it swings
arudaev Oct 24, 2026
294b195
Merge remote-tracking branch 'origin/feature/156-feel' into slice/pro…
arudaev Oct 24, 2026
27f2479
docs: plan the prologue slice rebuild in five workstreams
arudaev Oct 24, 2026
a8a0d5f
feat(events): add anomaly-reveal for the pond's wrong reflection
arudaev Oct 24, 2026
134548a
feat(story): model Dexter's lead, the pond finale and the 404 pull
arudaev Oct 24, 2026
132c56b
feat(scripts): add readability contact sheet and key-art export
arudaev Oct 24, 2026
486405e
art: draw prologue FX, Dexter additions and menu key art
arudaev Oct 24, 2026
8ce3186
docs(art): add the prologue asset inventory and tracker rows 5.x
arudaev Oct 24, 2026
838ea3a
docs: link workstream 5 tracker rows to #165
arudaev Oct 24, 2026
a0a54de
Merge pull request #165 from THD-AI/feature/slice-art
arudaev Oct 24, 2026
da5c8bd
feat(story): play the prologue – Dexter's lead, the shove, the 404 pull
arudaev Oct 24, 2026
efba30b
feat(stage): animate stage layers from atmosphere.json
arudaev Oct 24, 2026
11f0baf
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
2f22267
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
c1c7605
feat: load the slice through one manifest-driven loader with a loadin…
arudaev Oct 24, 2026
9c520d1
feat(hero): ground the feet by surface, footfall puffs, clip-timed hu…
arudaev Oct 24, 2026
84d49ac
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
e1819fb
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
7d20bf1
feat(hero): play fx-ground puffs by surface, procedural debris as fal…
arudaev Oct 24, 2026
67219ba
art: export Dexter's approved prologue poses
arudaev Oct 24, 2026
a34c4fd
feat: list the atlases as data and load the new fx and optional prolo…
arudaev Oct 24, 2026
2786228
feat(story): Dexter sits, looks back and waits in his prologue poses,…
arudaev Oct 24, 2026
73ace82
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
544172a
Merge origin/slice/prologue: dexter-prologue becomes a required board…
arudaev Oct 24, 2026
8192dd9
test: expect dexter-prologue as a required board
arudaev Oct 24, 2026
92bddf0
fix(hero): stand spawns and resets on the walk line; document feel an…
arudaev Oct 24, 2026
d480086
fix(story): stop at the birch after hopping off the bench
arudaev Oct 24, 2026
655b305
fix(stage): move the hill's noGo below the path so the hero can cross it
arudaev Oct 24, 2026
ec639fc
docs: mark the hero rows 3.1–3.4 in review (#166)
arudaev Oct 24, 2026
0ec6e46
feat(stage): region-wide layer ranks, water life, sheet leaves, rim h…
arudaev Oct 24, 2026
764dfa2
feat: let the menu key art and the live garden take turns
arudaev Oct 24, 2026
dc59f10
docs: record the loader contract and the loading screen and menu
arudaev Oct 24, 2026
aeeb086
feat(events): add anomaly-reveal for the pond's wrong reflection
arudaev Oct 24, 2026
9295c4c
docs: mark the boot rows done in the prologue tracker
arudaev Oct 24, 2026
25b97fe
Merge remote-tracking branch 'origin/feature/slice-hero' into slice/p…
arudaev Oct 24, 2026
a167a9c
Merge remote-tracking branch 'origin/feature/slice-boot' into slice/p…
arudaev Oct 24, 2026
2e40997
feat(story): dim the garden at the reveal; docs: rewrite the wordless…
arudaev Oct 24, 2026
32126a9
feat(stage): wrong reflection on anomaly-reveal
arudaev Oct 24, 2026
5946709
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
30284d1
Merge origin/slice/prologue into feature/slice-atmosphere
arudaev Oct 24, 2026
10e9c2f
docs(atmosphere): schema, depth bands, evidence; feather the wrong re…
arudaev Oct 24, 2026
c3d3c3b
docs(tracker): workstream 2 in review (#168)
arudaev Oct 24, 2026
b9d0f05
Merge remote-tracking branch 'origin/feature/slice-atmosphere' into s…
arudaev Oct 24, 2026
f56306d
docs: link workstream 4 tracker rows to #169
arudaev Oct 24, 2026
b654871
fix: load the region's atmosphere images with its plates
arudaev Oct 24, 2026
5aadf28
Merge remote-tracking branch 'origin/feature/slice-prologue' into sli…
arudaev Oct 24, 2026
06883c0
fix: plan the region's extra images after its JSON lands
arudaev Oct 24, 2026
b8748c5
Merge remote-tracking branch 'origin/feature/57-jenny-fight' into sli…
arudaev Oct 24, 2026
203e410
fix: freeze the hero for Jenny's ram and floor the boss test
arudaev Oct 24, 2026
84cf740
feat: check the asset inventory against the repo
arudaev Oct 24, 2026
9d8a8f2
docs: plan wave 2 from Alexander's playtest
arudaev Oct 24, 2026
301f7a2
feat(rusty-creek): land on the creek path, ram on the path, more rovers
arudaev Oct 24, 2026
9e38f62
chore(rusty-creek): provisional creek-path walk line at y 566 for wor…
arudaev Oct 24, 2026
5efefa1
fix(stage): start the hero in the garden gate
arudaev Oct 24, 2026
d6311a6
fix(stage): wake Dexter further up the garden path
arudaev Oct 24, 2026
3aaf0bc
feat(player): step up small rises, stop at ledge faces, slide only on…
arudaev Oct 24, 2026
d010865
feat(prologue): let Dexter lead at the hero's pace and never be overt…
arudaev Oct 24, 2026
3feedf8
feat(prologue): give Dexter a wake-up bow, fidgets, landing squash an…
arudaev Oct 24, 2026
c439d48
feat(story): restage Jenny's ram as one event on the creek path
arudaev Oct 24, 2026
3bd8a10
feat(stage): type the Hidden Garden terrain and re-author its floors …
arudaev Oct 24, 2026
77249f6
fix(prologue): pass a waypoint when the hero is already coming on
arudaev Oct 24, 2026
f1e0f36
docs: describe Dexter's lead and the gate start
arudaev Oct 24, 2026
e0069ea
chore(rusty-creek): the clean creek walks on the path only, not the r…
arudaev Oct 24, 2026
c0613ff
feat(combat): make the chair pick-up a moment with a glint and a J/X …
arudaev Oct 24, 2026
6ea7f9a
feat(player): typed terrain in the collision contract, water splash, …
arudaev Oct 24, 2026
f303280
docs: track P4 in review
arudaev Oct 24, 2026
3fd4215
test(scripts): check faces, terrain typing and wall heights; keep typ…
arudaev Oct 24, 2026
32b4b2e
Merge remote-tracking branch 'origin/feature/slice-dexter' into slice…
arudaev Oct 24, 2026
2a94769
feat(stage): mark the creek as water in Rusty Creek's collision
arudaev Oct 24, 2026
19cb26a
feat(layers): render every plate complete and add the near strip band
arudaev Oct 24, 2026
d3af245
art(hidden-garden): complete plates, near grass strip and under-fills
arudaev Oct 24, 2026
920231c
Merge remote-tracking branch 'origin/slice/prologue' into feature/sli…
arudaev Oct 24, 2026
dcbef12
feat(enemies): make Jenny read – knockback, rev tell, open back, hit …
arudaev Oct 24, 2026
89ee2b1
fix(player): keep the stride through creek steps and crisp up jump spam
arudaev Oct 24, 2026
020b75b
feat(player): breathe and sway the poncho while standing
arudaev Oct 24, 2026
bdb770b
docs: record the hero motion polish in the feel section
arudaev Oct 24, 2026
530228c
feat(player): feet hold a stepping stone's edge; document the terrain…
arudaev Oct 24, 2026
3935d94
docs: track P6 hero motion in wave 2
arudaev Oct 24, 2026
67d74c0
docs: track P1 in #173
arudaev Oct 24, 2026
6ebc7b8
Merge remote-tracking branch 'origin/feature/slice-motion' into slice…
arudaev Oct 24, 2026
837f8a0
feat(enemies): add crab and drone controllers from their approved atl…
arudaev Oct 24, 2026
9b8b765
Merge remote-tracking branch 'origin/feature/slice-terrain' into slic…
arudaev Oct 24, 2026
73c9166
feat(layers): paint out canopy pieces that hang from nothing
arudaev Oct 24, 2026
4340e8e
art(hidden-garden): clear the hanging canopies, rebuild plates
arudaev Oct 24, 2026
9596e6c
docs: record the complete plates and the near strip band
arudaev Oct 24, 2026
30fdfd0
Merge remote-tracking branch 'origin/feature/slice-layers' into slice…
arudaev Oct 24, 2026
fead4e9
fix(enemies): sit Jenny's open-back glow on her tail
arudaev Oct 24, 2026
57a91b8
docs: record Region 1 landing, ram, chair moment, encounters and Jenn…
arudaev Oct 24, 2026
b192d84
Merge remote-tracking branch 'origin/feature/slice-region1' into slic…
arudaev Oct 24, 2026
6adf191
art: repaint the garden's near strip along the new terrain lines
arudaev Oct 24, 2026
68c93d2
fix: close the creek deck gaps and widen the first stepping stone
arudaev Oct 24, 2026
86186a9
art: turn the garden's grass strip from pink to autumn red
arudaev Oct 24, 2026
977358d
ci: install numpy for the art pipeline tests
arudaev Oct 24, 2026
86e1a33
feat: carry the chair on the hero's back between swings
arudaev Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ npm --prefix game run dev # http://localhost:5173 – stages are genera
| F4 then Tab (dev) | hand over the pocket computer, then open the map |
| F6 / F7 (dev) | step through the sound loops / effects; M mutes |
| F8 (dev) | the THD.exe crossing |
| Shift + F4 (dev) | Dexter at the coffee machine: bow, sweat, the pocket computer and a muffin, then he absorbs a pool; Tab opens the map after |
| Shift + F8 (dev) | the end of the slice: Dexter absorbs, the glitch, "To be continued.", the credits |
| F9 / F10 (dev) | anomaly FX / atmosphere test chunks (V toggles, A switches the leaves, Esc closes) |

Expand Down
41 changes: 41 additions & 0 deletions art/inventory.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
id,kind,used by,game size px (measured),frames/anims,source refs,status,notes
hero-move,sprite,"hero (3), prologue (4)",76 body in 80 cell (docs/04),idle 6 · idle-walk 2 · walk 8,hero sheet + pose photos + style master,approved,game/public/assets/sprites/hero-move.*
hero-run,sprite,hero (3),76 (run scale 1.12 → ≈70 leaning),walk-run 2 · run-start 3 · run 8,hero sheet + pose photos,approved,stride pacing #164
hero-idle,sprite,hero (3),76,look-around 4 · check-tablet 4 · check-wounds 4,hero sheet + pose photos,approved,
hero-air,sprite,hero (3),76 (ref jump-08),jump 9 · fall 3 · hard-landing 4 · ladder 4,hero sheet + pose photos,approved,
hero-hurt,sprite,"hero (3), crossing (4)",76,hit 8 · knockback 3 · interact 3 · pick-up 4 · look-at-device 3,hero sheet + pose photos,approved,the shove and the pull reuse hit + knockback
hero-death,sprite,hero (3),76,death 12,hero sheet,approved,
chair-side,sprite,hero (3) – Region 1,76,sweep-a 8 · sweep-b 8 · recoil 2 · chair-pickup 1,hero sheet + chair photos,approved,not used in the prologue
chair-overhead,sprite,hero (3) – Region 1,76,up 6 · slam 7 · pogo 4,hero sheet + chair photos,approved,
chair-block,sprite,hero (3) – Region 1,76,guard-up 4 · guard-hold 3 · guard-impact 4 · guard-break 4,hero sheet + chair photos,approved,
dexter,sprite,prologue (4),27 (191/547 of the hero in dexter-stages),idle 3 · hop 4 · walk 6 · point 3 · shove 4,dexter-stages crops + merch photos,approved,hop = hop off the bench
dexter-acts,sprite,prologue (4),27,beckon 3 · bow 1 · sweat 2 · proud 1 · creepy 1 · absorb 4,dexter-stages crops + merch photos,approved,
dexter-prologue,sprite,prologue (4),27,look-back 3 · wait 3 · sit 2,approved dexter sheet first + dexter-stages crops + merch,approved,"new 24 Oct: sit on the bench, look back, wait. Approved by Alexander 24 Oct"
fx-leaves,fx,atmosphere (2),8 (6–8 per leaf),birch 5 · maple 5 · oak 5,fx sheet (anchor) + hg-4-0 floating leaves + campus collage crops + style master,exported,new 24 Oct; awaiting review
fx-ground,fx,hero grounding (3),12 dust (others relative),dust 4 · grass 4 · leaf-kick 4 · splash 4,fx sheet (anchor) + hg-0-0 path + collage grass + hg-4-0 shore,exported,new 24 Oct; awaiting review
fx-water,fx,atmosphere (2),8 lily pad (ripple and sparkle relative),lily-bob 4 · ripple 4 · sparkle 4,fx sheet (anchor) + hg-4-0 / hg-0-0 pond crops,exported,new 24 Oct; awaiting review
fx,fx,enemies – Region 1; Dexter absorb,20,black-fluid 6,cast + style master,approved,
pocket-computer,sprite,prologue pickup? / HUD,10 closed,bob 4 · open 3,hud direction,approved,
mensa-food,prop,prologue secret (4.3: muffin behind the grass),13–18,muffin 1 · cake 1 · wafer 1 · leberkaese 1,coffee-machine sheet + food photos,approved,sparkle drawn in code
coffee-machine,prop,save point – Region 1,80,idle 3 · pour 4,coffee machine photos,approved,
enemy-rover,sprite,Region 1,25,idle 4 · drive 6 · charge 4 · wreck 5,photos + cast,approved,
enemy-crab,sprite,Region 1,46,idle 4 · walk 8 · stab 5 · collapse 5,photos + cast,approved,
enemy-drone,sprite,Region 1,47 span,hover 4 · dive 3 · crash 5 · screw 3,photos + cast,approved,
boss-jenny,sprite,Region 1 boss,≈270 long (134 board height),rev 4 · charge 4 · crash 4,boss-jenny direction crop,approved,
boss-jenny-2,sprite,Region 1 boss,159,stunned 3 · reboot 2 · debris-1..5 2 each,boss-jenny direction crop,approved,
ui atlas,ui,HUD + pocket computer,"cells 36, glitch 28, boss bar 560, frame ≈800",31 pieces (cells · cracks · orbs · boss bar · frame · CRT · map tiles · icons),hud direction crops,approved,game/public/assets/ui/ui.png + ui.json + ui-layout.json
menu-key,ui,loading + menu (1),1280×720,1 still,style master + hg-4-0 + hg-0-0 + hidden-garden direction,exported,game/public/assets/ui/menu-key.png; no text – the game draws DEGGSTER.EXE
loading motif,ui,loading (1),–,–,–,n/a,"not needed: the loading screen uses the pocket-computer UI atlas (boot/LoadingView.ts, #167)"
crash window THD.exe,ui,crossing (4),–,–,anomaly-language direction,approved,"drawn in code with real text: game/src/ui/crashWindow.ts (THD.exe crash, To be continued, 404)"
404 void / glitch FX,fx,crossing (4),screen,–,anomaly-language direction,approved,"drawn in code: game/src/fx/anomaly.ts (addImageCut, addPixelStretch, add404Void), used by Crossing 404 and Ending"
hidden-garden 00-sky,stage layer,renderer (2),2160×720 tiles ×2,scroll 0.1,hg chunks via depth_layers.py region,approved,"in review (docs/07); art/stages/hidden-garden/layers; approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden 01-far,stage layer,renderer (2),2160×720 tiles ×2,scroll 0.25,hg chunks,approved,"in review; approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden 02-mid,stage layer,renderer (2),6992 wide in 4 tiles,scroll 0.6,hg chunks,approved,"in review; approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden 03-rear,stage layer,renderer (2),2160×720 ×5 chunks,scroll 1.0,hg chunks,approved,"in review; approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden 04-water,stage layer,renderer (2) – reflection + ripples,2160×720 ×5,scroll 1.0,hg chunks,approved,"water band for atmosphere.json; approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden 05-play,stage layer,"renderer (2), hero (3)",2160×720 ×5,scroll 1.0,hg chunks,approved,"collision traced from the key's play band; approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden 06,stage layer,renderer (2),–,–,–,n/a,not needed: the foreground blur and occlusion use z 7 (stage/depth.ts)
hidden-garden 07-foreground,stage layer,renderer (2) – blur over hero,tiles ×5,scroll 1.2,hg chunks,approved,"approved by Alexander 24 Oct (""I am happy with garden"")"
hidden-garden bench,stage prop,prologue (4) – Dexter sits,painted in hg-0-0 05-play,–,hg-0-0,approved,part of the plate (seat ≈ x 700–880 in hg-0-0); Dexter's sit frames are placed on it
rusty-creek layers,stage layer,Region 1,3 chunks × 7 layers,clean + anomaly,rusty-creek sources,approved,art ✅; collision ⬜ (docs/07)
surfaces / atmosphere data,data,"(2), (3)",–,–,–,approved,"art/stages/hidden-garden/{atmosphere,surfaces}.json and rusty-creek/surfaces.json (#166, #168), exported with the stage"
6 changes: 5 additions & 1 deletion art/sprites/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,8 @@ Sprite reference boards: the hero sheet (approved) and the animation, enemy, ite
| [![Enemy · drone](images/enemy-drone-preview.png)](enemy-drone.md)<br>**[Enemy · drone](enemy-drone.md)** | [![Enemy · rover](images/enemy-rover-preview.png)](enemy-rover.md)<br>**[Enemy · rover](enemy-rover.md)** |
| [![Enemy · crab](images/enemy-crab-preview.png)](enemy-crab.md)<br>**[Enemy · crab](enemy-crab.md)** | [![FX · black fluid](images/fx-preview.png)](fx.md)<br>**[FX · black fluid](fx.md)** |
| [![Boss · Jenny, attacks](images/boss-jenny-preview.png)](boss-jenny.md)<br>**[Boss · Jenny, attacks](boss-jenny.md)** | [![Boss · Jenny, stunned and debris](images/boss-jenny-2-preview.png)](boss-jenny-2.md)<br>**[Boss · Jenny, stunned and debris](boss-jenny-2.md)** |
| [![Dexter · moves](images/dexter-preview.png)](dexter.md)<br>**[Dexter · moves](dexter.md)** | [![Dexter · gestures](images/dexter-acts-preview.png)](dexter-acts.md)<br>**[Dexter · gestures](dexter-acts.md)** |
| [![Item · pocket computer](images/pocket-computer-preview.png)](pocket-computer.md)<br>**[Item · pocket computer](pocket-computer.md)** | [![Mensa · food pickups](images/mensa-food-preview.png)](mensa-food.md)<br>**[Mensa · food pickups](mensa-food.md)** |
| [![Prop · coffee machine (save point)](images/coffee-machine-preview.png)](coffee-machine.md)<br>**[Prop · coffee machine (save point)](coffee-machine.md)** | [![Dexter · moves](images/dexter-preview.png)](dexter.md)<br>**[Dexter · moves](dexter.md)** |
| [![Dexter · gestures](images/dexter-acts-preview.png)](dexter-acts.md)<br>**[Dexter · gestures](dexter-acts.md)** | [![FX · falling leaves](images/fx-leaves-preview.png)](fx-leaves.md)<br>**[FX · falling leaves](fx-leaves.md)** |
| [![FX · footstep puffs](images/fx-ground-preview.png)](fx-ground.md)<br>**[FX · footstep puffs](fx-ground.md)** | [![FX · pond ripples and lily pad](images/fx-water-preview.png)](fx-water.md)<br>**[FX · pond ripples and lily pad](fx-water.md)** |
| [![Dexter · prologue additions](images/dexter-prologue-preview.png)](dexter-prologue.md)<br>**[Dexter · prologue additions](dexter-prologue.md)** | [![Menu · the Hidden Garden at first light](images/menu-key-preview.png)](menu-key.md)<br>**[Menu · the Hidden Garden at first light](menu-key.md)** |
Loading
Loading