# BNO LEGACY-->REBNO FEATURE TRIAGE

## Non-interactive Floor Tile Types
- BORDERED: player stops at edges, cannot walk off
- BORDERLESS: player can walk off and fall into the void
- HIDDEN: invisible by default. reveals when player collides, eventually times out and re-hides after collision ends
- GLOW: same player collision behavior as hidden, but always visible + transitions to and from glowing
- MOVER: applies acceleration to entities (players, NPCs, data item drops) up to a peak velocity
  - all forms can push player off the exiting end and into the void
  - variants: UP/LEFT/RIGHT/DOWN
  - 5-8 tuning (pinned by recon): player `+2 / −1, cap 6` (~180 px/s peak); NPCs & data drops (`pcode_mover`) `+1.5 / −0.5, cap 5`
- PLATFORM: moving platform carries entities with it
  - stops for some number of seconds at each end of its travel
  - currently only exhibits up/down or left/right movement patterns
  - movement needs to be client-driven but synced deterministically to server time, so all players see all platforms in the same locations at the same time.
  - **[ReBNO-INTENT]** legacy platforms are pure LOCAL sim (vspeed/hspeed ±3 px/step, `random(60)` end-pause), NOT synced — ReBNO must add the determinism (seed RNG / drive by server time)
  - **[ReBNO-INTENT]** ReBNO QoL: blink a departure tell (~5 blinks) before moving (needs a new per-platform animation)
- DYNAMIC: has neighbor-sensitive sprites and TSide sprites. variants:
  - LONE
  - TOP/LEFT/RIGHT/BOTTOM NEIGHBORED
  - T/L/R/B ENDPIECE
  - TL/TR/BR/BL CORNER
  - L+R BRIDGE
  - U+D BRIDGE
  - SURROUNDED
  - SPECIAL: if surrounded on two sides but missing the diagonal between those two, draws corner sprite art wherever such diagonals are missing. consult legacy code for exact behavior
  - NOTE: most patterned tiles treat other non-hidden, non-transparent tiles as same-species neighbors
  - (5-8 reality: this is approximate — code uses explicit per-tile allow-lists in `cornercheckg` / `cornerchecki`; pin the exact lists when porting)
- SLIPPERY: player travels in one cardinal direction until they hit an obstacle or non-slippery floor tile
  - uncontrollable velocity starts when player is only touching slippery-type tiles
  - direction is determined based on player's velocity at the moment they stop touching non-slippery tiles
  - player decelerates when they contact non-slippery tiles
  - consult legacy code for exact behavior
- FLICKER: tile disappears and reappears. flickers before disappearing
  - 5-8: object **`magictile`** (borderless white, 44×40). Present 45–75 steps → ~1.0 s flicker tell (~15 Hz strobe) → gone 30–60 steps → loops; collision is passable while gone
  - **[ReBNO-INTENT for sync]** EXISTS in legacy as `magictile` (35 instances in Emptiness' Hull) but driven by client-side `random()` — LOCAL/unsynced; ReBNO must drive present/gone deterministically server-side. (recon: `.planning/legacy-recon/13-flicker-tile.md`)
- QUARTERED: tiles that are 0.5h and 0.5w of normal tiles
  - (5-8: `btilemini` / BahooTileMini = 22×20 px — ½×½ of 44×40. NB the object literally named `qtile` is full-size, NOT the quartered one)

### Non-interactive Floor Tile Examples
- BORDERED (done): BNCentral base tile
- HIDDEN BORDERED: generic dark tile with glass top i.e. used in BNCentral.
  - Legacy glass shine visually flickered every other frame --> change to ~50% opacity, no flicker
  - **[ReBNO-INTENT]** legacy `hiddentile` has BOTH a 50%-opacity path and a blink path; ReBNO standardizes on always-50%, no blink
- BORDERLESS GLOW: Bahoo floor tile
  - A special variant exists with a pulsing glow animation. hints at nearby hidden tiles/platforms. is effectively just Borderless
- BORDERED MOVER: BNCentral mover tile
- BORDERLESS MOVER: white mover tile present in most zones
- QUARTERED BORDERLESS MOVER: Bahoo has them
- DYNAMIC BORDERED MOVER: Floes of Ghennam icy water tiles
- BORDERED PLATFORM: BNCentral platforms
- BORDERLESS PLATFORM: Bahoo platforms
- HIDDEN BORDERED PLATFORM: also in most zones. same aesthetic as hidden bordered tile.
- DYNAMIC BORDERED: Floes of Ghennam snow tiles
- DYNAMIC BORDERED MOVER: Floes of Ghennam water tiles
- DYNAMIC SLIPPERY BORDERED: Floes of Ghennam ice tiles
- BORDERLESS FLICKER: White, prominently in Emptiness' Hull

## Interactive Floor Tiles
- HEXPORTER: Conduit for the "hexport" mode of travel
  - Can have any of up/down/left/right departure directions enabled. Player picks by facing that way before interacting
  - Can be a "station" for receiving incoming hexporting players
  - Can have no departure directions enabled-->station only
- HEXSLING: Forwards hexporting players in a new direction
  - Never a station, never a conduit
  - Can similarly have any of up/down/left/right directions enabled. Must have at least one
  - 5-8 actual (ReBNO ports as-is): only **exactly one** enabled direction auto-sends (fixed priority up>down>left>right); **two or more** pause the orb and wait for the player's directional input
  - (the earlier "prefers whichever direction the player wasn't traveling" was inaccurate for 5-8 — that reversal is the HEXBRIDGE zero-arrow bounce, a different object)
- HEXBRIDGE: Floating cylinder
  - Acts like air in its default state. Cannot be walked on
  - Once a player has hexported to a hexbridge, it spawns a glowing energy tile around it. May then be walked on
  - As a hexport target, sends the player back in the direction from which they came
  - NOTE: Activation state is per-player. Player cannot see or walk on the hexbridges that other players have activated
- WARP: Intra-zone teleportation. Requires the `WrpPlugn` navi expansion
  - Does nothing without `WrpPlugn`
  - With the expansion, step on the glowing area (not just anywhere on the tile) to be warped to its destination. Consult legacy code for exact behavior
  - If its destination is another warp, that warp will not activate until the player first steps off
  - There's a "dead" version that serves as a 1-way warp destination
  - Any two connected warps are not necessarily connected both ways
  - Example A: warps in Bahoo use logical two-way connections
  - Example B: warps in Noiya are elusive, some send you somewhere different if you try to go back
- SPECTRAL GATE: Equip Spectrum Data. Requires the `MskPlugn` navi expansion
	- When player interacts, opens the spectrum menu for customizing their player sprite