Behavision — installing on a shop PC
====================================

This is a source install. It needs Python and a working internet connection
once, at setup. After that the shop PC runs on its own.


WHAT YOU NEED FIRST
-------------------

Python 3.10 or newer.

  https://www.python.org/downloads/windows/

  On the very first screen of the Python installer, tick
  "Add python.exe to PATH". If you miss it, setup cannot find Python and
  you will have to run the Python installer again.


SETTING UP
----------

1. Unzip this whole folder somewhere permanent — for example
   C:\Behavision. Keep the files together; behavision-setup.exe looks for
   the engine-src folder next to itself.

2. Double-click  behavision-setup.exe

   It will:
     - find your Python and check it is new enough
     - build a private Python environment under
       C:\ProgramData\Behavision\runtime
     - install the recognition engine and its libraries (from the wheel
       in engine-src; the folder you unzipped is never written to)
     - download the recognition models (a few hundred megabytes)
     - start the engine once to prove it works

   This takes several minutes. Leave the window open until it says Done.
   If anything fails it prints why, and running it again is safe.

   DEMO RELEASE ONLY: if the release came with the cameras already set up,
   setup first asks for an unlock code. Type the code you were given. The
   camera details are sealed inside the release and cannot be read without
   it; with it, both cameras are added and the PC is set to run on its own,
   with no head office. Skip the installation-code screen - it will not
   appear.

3. Double-click  Behavision.exe

   The window opens and an icon appears in the system tray, next to the
   clock. Right-click the tray icon to open the window again, or to stop
   recognition.


CONNECTING IT TO HEAD OFFICE
----------------------------

The first screen asks for an installation code. Ask whoever manages your
shops — they create one from the Behavision platform, under the shop.

No head office? Choose "set this PC up on its own" on the same screen.
Recognition, the cameras and the customer list all work locally; nothing is
sent anywhere.


ADDING A CAMERA
---------------

Cameras → Add. You need the camera's address on the shop network, its
username and password. Choose your camera's make from the list and the
stream path is filled in for you — that is the field nobody can look up.

Press "Test" before saving. Then press "Check placement" and walk past the
camera a few times. It will tell you whether the camera can actually
recognise faces from where it is mounted, which is not the same question as
whether it is connected.

Camera placement matters more than camera quality. Aim for roughly head
height, facing the direction people walk in. A camera high in a corner
looking down, or pointing at a bright window or glass door, will connect
perfectly and recognise almost nobody.


WHERE THINGS LIVE
-----------------

  C:\ProgramData\Behavision\        database, logs, camera list, models
  C:\ProgramData\Behavision\runtime the engine's own Python

Everything the software writes is under ProgramData. The folder you unzipped
is never written to, so you can keep it on a shared drive.


STOPPING IT
-----------

Right-click the tray icon and choose Quit. That stops recognition as well —
leaving it running with no visible control would be worse than stopping it.

Closing the window does NOT stop recognition. The window hides and the tray
icon stays, because a shop assistant clicking X should not switch the shop's
footfall counting off for the rest of the day.


IF SOMETHING IS WRONG
---------------------

  "No Python 3.10 or newer was found"
      Python is missing, too old, or was installed without the
      "Add python.exe to PATH" tick. Reinstall Python with that ticked.

  Setup fails while installing libraries
      Almost always no internet, or a proxy in the way. The error printed
      just above the failure says which.

  The window opens but says the engine is not running
      Run behavision-setup.exe again; it will report what is missing.

  Logs
      C:\ProgramData\Behavision\engine.log
