spaceship/ui
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Loïc Wisniewski b721760803 #149, #153, #154: dialogs arrive, sit on top, and give the keyboard back
#149 - a line is typed out at about three and a half words a second, with a
scan sweep running down the panel and faint rules across it while it
decodes. The frame carries the charge while it works and settles when the
line lands; the caret is a solid write-head during the decode and only
starts blinking once it is waiting on the reader.

Two implementation notes worth keeping. The full text is set and then
REVEALED with visible_characters rather than the string being grown - a
growing string re-wraps on nearly every frame, so words jump between rows as
they are typed. And a press on a line still arriving FINISHES it instead of
dismissing it: without that, a player clicking at their usual pace skips the
second line having never seen a word of it, which is the exact thing #127
exists to prevent.

#153 - "after a dialog popup the input system is lost on keypress". Nothing
was lost; it was never delivered. A dialog stops the tree (#128), a paused
node receives no input, so a key RELEASED while the line was up never
reached the controller - keys_down kept it and the fleet flew on in that
direction once the game restarted.

NOTIFICATION_UNPAUSED arrives whatever a node's process mode is, which makes
it the one moment the question can be asked, and the physical keyboard is
the authority on what is actually held. That fixes anything that stops the
tree, not only dialogs, and the test checks it that way.

#154 - the banner was the ninth child of the UI layer and every panel came
after it, so all twelve of them drew over the top. It is the last child now,
in both scenes. Input order was never the problem and does not change: the
UI layer already sees unhandled input before the controllers do.
2026-08-29 14:39:07 +02:00
..
BreachOverlay.gd #125: slow the prologue down, and give the breach a real black hole 2026-08-24 13:25:10 +02:00
BreachOverlay.gd.uid Add the .uid files for the newest tests 2026-08-24 20:50:51 +02:00
DevWaveButton.gd #110: a dev-mode button that puts a wave on the board now 2026-08-23 21:58:58 +02:00
DevWaveButton.gd.uid Add the .uid files Godot generated for the newest scripts 2026-08-24 12:10:41 +02:00
FormationEditor.gd #118/#121: the speed fader and the formation editor under a mouse 2026-08-23 21:59:24 +02:00
FormationEditor.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
GarrisonPanel.gd #102/#103 (#97d/#97e): the outpost, and the garrison you compose for it 2026-08-23 14:02:20 +02:00
GarrisonPanel.gd.uid Add the .uid files Godot generated for the new scripts 2026-08-23 19:23:50 +02:00
HangarMenuPanel.gd #111/#120: the crafter and hangar panels get room to breathe 2026-08-23 21:59:26 +02:00
HangarMenuPanel.gd.uid Add the .uid files Godot generated for the newest scripts 2026-08-24 12:10:41 +02:00
IconButton.gd #140: the objective moves behind a button next to the map's 2026-08-28 15:37:13 +02:00
IconButton.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
MainMenu.gd #148: the main theme plays, and keeps playing 2026-08-29 13:05:21 +02:00
MainMenu.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
MainMenu.tscn #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
NarrationBanner.gd #149, #153, #154: dialogs arrive, sit on top, and give the keyboard back 2026-08-29 14:39:07 +02:00
NarrationBanner.gd.uid Add the .uid files Godot generated for the newest scripts 2026-08-24 12:10:41 +02:00
NeonNumber.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
NeonNumber.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
NeonPanel.gd #92: shrink the confirm popup to the window it is in 2026-08-22 23:29:44 +02:00
NeonPanel.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
PaletteEntryButton.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
PaletteEntryButton.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
PlanningPanel.gd #106/#107 (#98a/#98b): the Planning Center 2026-08-23 14:21:52 +02:00
PlanningPanel.gd.uid Add the .uid files Godot generated for the new scripts 2026-08-23 19:23:50 +02:00
PriceTag.gd #147: one resource per line, and the price back under its button 2026-08-29 13:05:46 +02:00
PriceTag.gd.uid #136, #137, #134: one build grid that cannot stack, one way to show a price 2026-08-28 15:05:20 +02:00
QuestPanel.gd #140: the objective moves behind a button next to the map's 2026-08-28 15:37:13 +02:00
QuestPanel.gd.uid #140: the objective moves behind a button next to the map's 2026-08-28 15:37:13 +02:00
ResourceBar.gd #136, #137, #134: one build grid that cannot stack, one way to show a price 2026-08-28 15:05:20 +02:00
ResourceBar.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ResourceReadout.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ResourceReadout.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ResourceTransferList.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ResourceTransferList.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
SkillTreeView.gd #112: every skill node carries an icon 2026-08-23 21:59:27 +02:00
SkillTreeView.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
SpeedFader.gd #118/#121: the speed fader and the formation editor under a mouse 2026-08-23 21:59:24 +02:00
SpeedFader.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
TouchJoystick.gd #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
TouchJoystick.gd.uid #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
WaveAlert.gd #100 (#97b): waves replace the roaming enemy spawner 2026-08-23 13:37:42 +02:00
WaveAlert.gd.uid Add the .uid files Godot generated for the new scripts 2026-08-23 19:23:50 +02:00