feat: add configurable people maps

Add independent map profiles, offline city lookup, bundled world artwork
and collision-free portrait placement with optional person details.

Deploy with updated requirements, migrations 0029-0031 and collectstatic.
This commit is contained in:
mohamad
2026-11-03 04:41:30 +08:00
parent 6fd236f518
commit d4ec85add4
22 changed files with 725 additions and 4 deletions
@@ -0,0 +1,18 @@
# Generated by Django 5.2.16 on 2026-11-02 20:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pages', '0029_mapperson_peoplemap_mapplacement_mapmembership'),
]
operations = [
migrations.AddField(
model_name='peoplemap',
name='background_style',
field=models.CharField(choices=[('classic', 'Classic continents — blue silhouette'), ('atlas', 'World atlas — country borders and coordinate grid'), ('midnight', 'Midnight — dotted continents'), ('ocean', 'Ocean — luminous continents and meridians')], default='classic', help_text='Built-in artwork shipped with the application, also available on the server. An uploaded image overrides this choice.', max_length=20),
),
]