Commit graph

15 commits

Author SHA1 Message Date
Thorsten Bus 22ba4aff7d refactor: make repo Composer-compatible by moving php/ to root and ref/ to doc/reference_samples
- Move src/, tests/, bin/, generated/, proto/, composer.json, composer.lock, phpunit.xml from php/ to repo root
- Move ref/ to doc/reference_samples/ for better organization
- Remove vendor/ from git tracking (now properly gitignored)
- Update all test file paths (dirname adjustments and ref/ -> doc/reference_samples/)
- Update all documentation paths (AGENTS.md, doc/*.md)
- Remove php.bak/ directory
- All 252 tests pass
2026-03-30 13:26:29 +02:00
Thorsten Bus 8dbcc1bafc feat(bundle): use ROOT_CURRENT_RESOURCE for portable flat media bundles
BREAKING: Bundle media entries are now flat filenames (no directories).
ProBundleWriter flattens all media paths to basename() automatically.
ProFileGenerator supports bundleRelative flag for ROOT_CURRENT_RESOURCE
URLs, enabling bundles that work on any machine without absolute paths.
2026-03-30 10:21:54 +02:00
Thorsten Bus 9db2702b5f test(generator): end-to-end structural verification against ProPresenter format 2026-03-30 08:17:00 +02:00
Thorsten Bus 82a9673874 fix(generator): complete media action with name, audio, and image properties 2026-03-30 08:12:48 +02:00
Thorsten Bus 7cda7e7736 fix(generator): ROOT_USER_HOME fallback for user directory paths
- Add else branch in buildLocalRelativePath() to handle unmapped /Users/{username}/ paths
- Unmapped user directories now use ROOT_USER_HOME as root instead of ROOT_BOOT_VOLUME
- Extract user-relative path (e.g., AI/propresenter/ref/Media/test.png) for unmapped dirs
- Preserve existing behavior for mapped directories (Downloads, Documents, etc.)
- Preserve behavior for non-user paths (e.g., /tmp)
- Add 3 test cases covering all path scenarios: mapped, unmapped user, non-user
2026-03-30 08:06:43 +02:00
Thorsten Bus 6f79982283 fix(generator): add hotKey to Group and Cue 2026-03-30 08:04:32 +02:00
Thorsten Bus e46e7e5f9c fix(generator): set slide size and PresentationSlide chordChart 2026-03-30 08:04:07 +02:00
Thorsten Bus e2cebe419c fix(generator): add presentation-level fields (background, chordChart, ccli, timeline) 2026-03-30 08:03:28 +02:00
Thorsten Bus 1f17121b24 fix(generator): separate platform and application version info 2026-03-30 08:02:59 +02:00
Thorsten Bus 1f14724603 fix(generator): uppercase UUIDs to match ProPresenter format 2026-03-30 08:00:17 +02:00
Thorsten Bus 2fefe72ef6 feat(pro): correct translated textbox positioning
- Create buildOriginalBounds(): origin(150, 99.543) size(1620×182.946)
- Create buildTranslationBounds(): origin(150, 303.166) size(1620×113.889)
- Modify buildCue() to use different bounds for translated vs non-translated
- Modify buildSlideElement() to accept optional bounds parameter
- Add test: translated slide has correct dual bounds
- Add test: non-translated slide has single full-size bounds
- All tests pass: 14 PHPUnit, 203 Laravel tests
2026-03-02 21:46:37 +01:00
Thorsten Bus 7de43f4aec feat(pro): auto-select 'normal' arrangement in generator
- Modified generate() method to loop through arrangements and find 'normal' (case-insensitive)
- Falls back to first arrangement if 'normal' not found
- Added test: testGenerateSelectsNormalArrangementWhenPresent
- Added test: testGenerateFallsBackToFirstArrangementWhenNoNormal
- All 12 ProFileGenerator tests pass (82 assertions)
2026-03-02 21:41:15 +01:00
Thorsten Bus e7c014abfe refactor(pro): set visual attributes to enable=false 2026-03-02 21:24:03 +01:00
Thorsten Bus cb219ea139 [AI] extend ProFileGenerator with macro, media, and label creation 2026-03-01 18:46:10 +01:00
Thorsten Bus 22d98e2225 [AI] add ProFileGenerator to create .pro files from scratch
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-01 16:34:04 +01:00