The part you can't do is extend Planning Optimization itself — it runs as an external service rather than in X++, so there's no hook in the engine. But you probably don't need one. The planner phases requirements based on the dates it's given, so the lever is the BOM line dates rather than the planner.
If your route has multiple operations, linking each component to an operation number gives you this for free — the requirement date follows that operation's scheduled start. Worth separating that from splitting the production order, which you've ruled out; splitting the route isn't the same thing.
If it's genuinely one long operation, you can add multiple BOM lines for the same component with different quantities and consumption dates. That's where a customization would sit — a job at estimation that explodes one line into weekly ones. Data side, not engine side.
What does your route look like today — one operation across the whole run, or several?